diff --git a/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.cpp b/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.cpp
index 065d4ae646674992889d528a347b8172df98aec6..bac17264d1c00389bbefacc4063d7801e8f5baa7 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.cpp
+++ b/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 JunctionReader.cpp
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #include "JunctionReader.h"
 
 #include <fstream>
diff --git a/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.h b/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.h
index dea2a6a91028bbde0aab876e871e12dbbdac40d9..5b68b0357ea2432dfde6d167b27908fe1aa4348a 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.h
+++ b/src/gpu/GridGenerator/StreetPointFinder/JunctionReader.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 JunctionReader.h
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #ifndef JUNCTIONREADER_H
 #define JUNCTIONREADER_H
 
diff --git a/src/gpu/GridGenerator/StreetPointFinder/SinkReader.cpp b/src/gpu/GridGenerator/StreetPointFinder/SinkReader.cpp
index 3c3e766898dd001c92206f945066b180ed2c19ad..1224f1bf7cad8e535e842426406aacc619dad314 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/SinkReader.cpp
+++ b/src/gpu/GridGenerator/StreetPointFinder/SinkReader.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SinkReader.cpp
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #include "SinkReader.h"
 
 #include <fstream>
diff --git a/src/gpu/GridGenerator/StreetPointFinder/SinkReader.h b/src/gpu/GridGenerator/StreetPointFinder/SinkReader.h
index 115aea55257f8a2086098699e3d8fc24a8a1d1b5..ba28596b0eb63954eb5f7162c4849f863e15f657 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/SinkReader.h
+++ b/src/gpu/GridGenerator/StreetPointFinder/SinkReader.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SinkReader.h
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #ifndef SINKREADER_H
 #define  SINKREADER_H
 
diff --git a/src/gpu/GridGenerator/StreetPointFinder/SourceReader.cpp b/src/gpu/GridGenerator/StreetPointFinder/SourceReader.cpp
index e9cab08476f10a0f61860225b4d9771ef3166638..a3a62f942f96fa1faf9e49448ed3ae627d985273 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/SourceReader.cpp
+++ b/src/gpu/GridGenerator/StreetPointFinder/SourceReader.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SourceReader.cpp
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #include "SourceReader.h"
 
 #include <fstream>
diff --git a/src/gpu/GridGenerator/StreetPointFinder/SourceReader.h b/src/gpu/GridGenerator/StreetPointFinder/SourceReader.h
index db95259ea91a60fc2c9ef1721272a4915374e646..f79c618d06ff9f72738c7b69767a8dd3c5443fac 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/SourceReader.h
+++ b/src/gpu/GridGenerator/StreetPointFinder/SourceReader.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SourceReader.h
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #ifndef SOURCEREADER_H
 #define  SOURCEREADER_H
 
diff --git a/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.cpp b/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.cpp
index 3a764dd353824df4dcd07aee2557ccc031648b6f..9fbd3933a5457e96d2d1aa01f1fadcf675be1980 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.cpp
+++ b/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 StreetPointFinder.cpp
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #include "StreetPointFinder.h"
 
 #include "Core/Logger/Logger.h"
diff --git a/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.h b/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.h
index 73d1e0de07c34188d879323a3a762a82f2ed4543..feb3618f64b0a6f757930772594878a6ca7c0144 100644
--- a/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.h
+++ b/src/gpu/GridGenerator/StreetPointFinder/StreetPointFinder.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 StreetPointFinder.h
+//! \ingroup StreetPointFinder
+//! \author Stephan Lenz
+//=======================================================================================
 #ifndef StreetPointFinder_H
 #define StreetPointFinder_H
 
diff --git a/src/gpu/GridGenerator/geometries/Arrow/Arrow.h b/src/gpu/GridGenerator/geometries/Arrow/Arrow.h
index dfd006042c63a35236e0fab886a527a86fa84896..945f1e3a8af7bd14fb9c3a8d5d9d26ab7405a7b7 100644
--- a/src/gpu/GridGenerator/geometries/Arrow/Arrow.h
+++ b/src/gpu/GridGenerator/geometries/Arrow/Arrow.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Arrow.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef Arrow_H
 #define Arrow_H
 
diff --git a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp
index 28176b4f5657a2e5907fd1d308af7aba13330220..f7ee7330c6c57f076fd4f45c8bf7a3f0749df6a1 100644
--- a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp
+++ b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 ArrowImp.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "ArrowImp.h"
 
 #include "../Vertex/Vertex.h"
diff --git a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h
index 195223d9125c265905b6c47ee8dc09edb205f267..ef145b7def48803b7e2d043f7a5862ee21f954c4 100644
--- a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h
+++ b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 ArrowImp.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef ArrowImp_H
 #define ArrowImp_H
 
diff --git a/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cu b/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp
similarity index 99%
rename from src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cu
rename to src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp
index a0e348ef8599290bb87e651b738f51ede24673ab..676c1badd8ab76de6e281435491dd9147304d841 100644
--- a/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cu
+++ b/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp
@@ -26,7 +26,7 @@
 //  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 BoundingBox.cu
+//! \file BoundingBox.cpp
 //! \ingroup geometries
 //! \author Soeren Peters, Stephan Lenz
 //=======================================================================================
diff --git a/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cu b/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp
similarity index 67%
rename from src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cu
rename to src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp
index b87eba98c1ed10b6be0f70abf2093ff00f132050..331b928c6f5542584cffdcc1b17df7207981b8f8 100644
--- a/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cu
+++ b/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Conglomerate.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "Conglomerate.h"
 
 Conglomerate::Conglomerate()
diff --git a/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.h b/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.h
index ab7369390c084441a46aaaa05505533ccd817a97..8cb26137d6ab4e4c52bed34aa1d044121ac4bf3d 100644
--- a/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.h
+++ b/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.h
@@ -1,9 +1,35 @@
-//  _    ___      __              __________      _     __
-// | |  / (_)____/ /___  ______ _/ / ____/ /_  __(_)___/ /____
-// | | / / / ___/ __/ / / / __ `/ / /_  / / / / / / __  / ___/
-// | |/ / / /  / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__  )
-// |___/_/_/   \__/\__,_/\__,_/_/_/   /_/\__,_/_/\__,_/____/
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
 //
+//  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 Conglomerate.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef CONGLOMERATE_H
 #define CONGLOMERATE_H
 
diff --git a/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cu b/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp
similarity index 99%
rename from src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cu
rename to src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp
index 7636c2bafd03be5bd18cb7dcd8546fbd09b42c96..e64a202ca9bcd5a33fcc9ba85e7bd35fa67a1d4e 100644
--- a/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cu
+++ b/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp
@@ -26,7 +26,7 @@
 //  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 Cuboid.cu
+//! \file Cuboid.cpp
 //! \ingroup geometries
 //! \author Soeren Peters, Stephan Lenz
 //=======================================================================================
diff --git a/src/gpu/GridGenerator/geometries/Object.cu b/src/gpu/GridGenerator/geometries/Object.cpp
similarity index 99%
rename from src/gpu/GridGenerator/geometries/Object.cu
rename to src/gpu/GridGenerator/geometries/Object.cpp
index 7a1fc8d8aedaed2d2390b2f36553e8ff4708efce..c162b3b1db8654f36a0fe6f3c20f79b34a157338 100644
--- a/src/gpu/GridGenerator/geometries/Object.cu
+++ b/src/gpu/GridGenerator/geometries/Object.cpp
@@ -26,7 +26,7 @@
 //  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 Object.cu
+//! \file Object.cpp
 //! \ingroup geometries
 //! \author Soeren Peters, Stephan Lenz
 //=======================================================================================
diff --git a/src/gpu/GridGenerator/geometries/Point/Point.cpp b/src/gpu/GridGenerator/geometries/Point/Point.cpp
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/gpu/GridGenerator/geometries/Point/Point.h b/src/gpu/GridGenerator/geometries/Point/Point.h
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/gpu/GridGenerator/geometries/Sphere/Sphere.cu b/src/gpu/GridGenerator/geometries/Sphere/Sphere.cpp
similarity index 59%
rename from src/gpu/GridGenerator/geometries/Sphere/Sphere.cu
rename to src/gpu/GridGenerator/geometries/Sphere/Sphere.cpp
index 18a15e38027ec205c714b538f3d663de2b90aa44..785e66d41fcb913ba39d620c1224a3b3b05ce709 100644
--- a/src/gpu/GridGenerator/geometries/Sphere/Sphere.cu
+++ b/src/gpu/GridGenerator/geometries/Sphere/Sphere.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Sphere.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "Sphere.h"
 
 #include <algorithm>    // std::min
diff --git a/src/gpu/GridGenerator/geometries/Sphere/Sphere.h b/src/gpu/GridGenerator/geometries/Sphere/Sphere.h
index 2e701efb3c835960448a8c79877247b659d86853..ba5821f5bfed5b4d25c1ee3c5abecb168db462e7 100644
--- a/src/gpu/GridGenerator/geometries/Sphere/Sphere.h
+++ b/src/gpu/GridGenerator/geometries/Sphere/Sphere.h
@@ -1,9 +1,35 @@
-//  _    ___      __              __________      _     __
-// | |  / (_)____/ /___  ______ _/ / ____/ /_  __(_)___/ /____
-// | | / / / ___/ __/ / / / __ `/ / /_  / / / / / / __  / ___/
-// | |/ / / /  / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__  )
-// |___/_/_/   \__/\__,_/\__,_/_/_/   /_/\__,_/_/\__,_/____/
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
 //
+//  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 Sphere.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef SPHERE_H
 #define SPHERE_H
 
diff --git a/src/gpu/GridGenerator/geometries/Triangle/Triangle.cu b/src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp
similarity index 78%
rename from src/gpu/GridGenerator/geometries/Triangle/Triangle.cu
rename to src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp
index ffbe326fae909635ef5eb8992edfaac0ff3f6d9d..6d53bd9226d9d192cfb17f6e2451a738d27385b0 100644
--- a/src/gpu/GridGenerator/geometries/Triangle/Triangle.cu
+++ b/src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Triangle.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "Triangle.h"
 #include "TriangleException.h"
 
diff --git a/src/gpu/GridGenerator/geometries/Triangle/Triangle.h b/src/gpu/GridGenerator/geometries/Triangle/Triangle.h
index fe72956a51c41455ebc88c8c903b8a311cbd3d64..0017d2f71145f2608976a95018816bf81cef44b7 100644
--- a/src/gpu/GridGenerator/geometries/Triangle/Triangle.h
+++ b/src/gpu/GridGenerator/geometries/Triangle/Triangle.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Triangle.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef Triangle_h
 #define Triangle_h
 
diff --git a/src/gpu/GridGenerator/geometries/Triangle/TriangleException.h b/src/gpu/GridGenerator/geometries/Triangle/TriangleException.h
index 962a471b3afb80066047e80ab34601d8266c9937..bb1eed45e3d7e13d7567398e293f65b68ce79eb7 100644
--- a/src/gpu/GridGenerator/geometries/Triangle/TriangleException.h
+++ b/src/gpu/GridGenerator/geometries/Triangle/TriangleException.h
@@ -1,5 +1,37 @@
-#ifndef meshGenExcpetion_h
-#define meshGenExcpetion_h
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangleException.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
+//=======================================================================================
+#ifndef TriangleException_h
+#define TriangleException_h
 
 #include <exception>
 #include <iostream>
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.cpp
similarity index 79%
rename from src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu
rename to src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.cpp
index b03691611d183b7a9a14cadbbfdff191878e2d75..99c6137afc76454d29a047977d1929cb3cee724d 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangularMesh.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "TriangularMesh.h"
 
 #include "Core/Timer/Timer.h"
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.h b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.h
index 59c99d32ee83802cd93a13a68c7d84e30f51f4c4..3ecacc9f71f6817659f67431dd91d95e40455ad4 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.h
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.h
@@ -1,5 +1,37 @@
-#ifndef Geometry_h
-#define Geometry_h
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangularMesh.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
+//=======================================================================================
+#ifndef TriangularMesh_h
+#define TriangularMesh_h
 
 #include <stdio.h>
 #include <cuda_runtime.h>
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp
index d4a42b918f5e11042a3ab21ef648939aa8ab1cc1..d9c1486e2ca9469d55174eca673f22f180a78294 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangularMeshStrategy.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "TriangularMeshStrategy.h"
 
 #include "Core/Timer/Timer.h"
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.h b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.h
index 1822229ec2219f2abb1e43673796ffef5e8246cc..573a464844ac769ebd1127c666481b87f363099f 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.h
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangularMeshStrategy.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef TriangularMeshStrategy_H
 #define TriangularMeshStrategy_H
 
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.cpp b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.cpp
index 4fc0e6dedc287ced661bbea5d1a1f6c30734c70b..08984d872ebf07cbe1d88658b48a7850077f188f 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.cpp
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangleNeighborFinder.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "TriangleNeighborFinder.h"
 #include <omp.h>
 
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h
index be0ebc5d004bd8bff9b96d48d68064d134238afb..b0dda279c5f95a621b5875e78b5cdb7479b98a54 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangleNeighborFinder.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef TriangleNeighborFinder_h
 #define TriangleNeighborFinder_h
 
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp
index d979839251d3e3efc2d610c29a5323f9560a6611..c1babac2324e80362c62c2b448cd1e309d7c5adf 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangleRefinement.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "TriangleRefinement.h"
 
 #include <GridGenerator/geometries/Triangle/Triangle.h>
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.h b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.h
index 2cd5045a12ef5267f0d1971f799a55cd081badbd..a9c5262fbf0ee701e26885fb54d96cd079038a87 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.h
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TriangleRefinement.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef TriangleRefinement_h
 #define TriangleRefinement_h
 
diff --git a/src/gpu/GridGenerator/geometries/Vertex/Vertex.cu b/src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp
similarity index 99%
rename from src/gpu/GridGenerator/geometries/Vertex/Vertex.cu
rename to src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp
index 23d49efa9d350a3a56ff754f33c0a7eb2351a974..e3ada57bd3d49d41e0ca7db44ea56aae3b604e27 100644
--- a/src/gpu/GridGenerator/geometries/Vertex/Vertex.cu
+++ b/src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp
@@ -26,7 +26,7 @@
 //  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 Vertex.cu
+//! \file Vertex.cpp
 //! \ingroup geometries
 //! \author Soeren Peters, Stephan Lenz
 //=======================================================================================
diff --git a/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.cpp b/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..89bcd50349fe1a7591c5a873b5924a0c8ce8c2f3
--- /dev/null
+++ b/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.cpp
@@ -0,0 +1,122 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __         
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |        
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |        
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |        
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____    
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|   
+//      \    \  |    |   ________________________________________________________________    
+//       \    \ |    |  |  ______________________________________________________________|   
+//        \    \|    |  |  |         __          __     __     __     ______      _______    
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)   
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______    
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/   
+//
+//  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 VerticalCylinder.cpp
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
+#include "VerticalCylinder.h"
+
+VerticalCylinder::VerticalCylinder(const double& centerX, const double& centerY, const double& centerZ, const double& radius, const double& height)
+    : centerX(centerX), centerY(centerY), centerZ(centerZ), radius(radius), height(height)
+{
+
+}
+
+VerticalCylinder::~VerticalCylinder()
+{
+}
+
+SPtr<VerticalCylinder> VerticalCylinder::makeShared(double centerX, double centerY, double centerZ, double radius, double height)
+{
+    return SPtr<VerticalCylinder>(new VerticalCylinder(centerX, centerY, centerZ, radius, height));
+}
+
+Object* VerticalCylinder::clone() const
+{
+    return new VerticalCylinder(centerX, centerY, centerZ, radius, height);
+}
+
+double VerticalCylinder::getX1Centroid()
+{
+    return centerX;
+}
+
+double VerticalCylinder::getX1Minimum()
+{
+    return centerX - radius;
+}
+
+double VerticalCylinder::getX1Maximum()
+{
+    return centerX + radius;
+}
+
+double VerticalCylinder::getX2Centroid()
+{
+    return centerY;
+}
+
+double VerticalCylinder::getX2Minimum()
+{
+    return centerY - radius;
+}
+
+double VerticalCylinder::getX2Maximum()
+{
+    return centerY + radius;
+}
+
+double VerticalCylinder::getX3Centroid()
+{
+    return centerZ;
+}
+
+double VerticalCylinder::getX3Minimum()
+{
+    return centerZ - 0.5 * height;
+}
+
+double VerticalCylinder::getX3Maximum()
+{
+    return centerZ + 0.5 * height;
+}
+
+bool VerticalCylinder::isPointInObject(const double& x1, const double& x2, const double& x3, const double& minOffset, const double& maxOffset)
+{
+    double offset = maxOffset;
+    if (x1 < centerX || x2 < centerY || x3 < centerZ)
+        offset = minOffset;
+        
+
+    const double deltaX1 = x1 - centerX;
+    const double deltaX2 = x2 - centerY;
+    const double deltaX3 = x3 - centerZ;
+
+    if( deltaX3 > 0.5 * height || deltaX3 < - 0.5 * height )
+        return false;
+
+    return (deltaX1*deltaX1 + deltaX2*deltaX2) < ((this->radius - offset) * (this->radius - offset));
+}
+
+
+void VerticalCylinder::scale(double delta)
+{
+    this->radius += delta;
+    this->height += delta;
+}
diff --git a/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.cu b/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.cu
deleted file mode 100644
index 16a2640c17b861c90e0610aa51ae4f25140853cf..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.cu
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "VerticalCylinder.h"
-
-VerticalCylinder::VerticalCylinder(const double& centerX, const double& centerY, const double& centerZ, const double& radius, const double& height)
-    : centerX(centerX), centerY(centerY), centerZ(centerZ), radius(radius), height(height)
-{
-
-}
-
-VerticalCylinder::~VerticalCylinder()
-{
-}
-
-SPtr<VerticalCylinder> VerticalCylinder::makeShared(double centerX, double centerY, double centerZ, double radius, double height)
-{
-    return SPtr<VerticalCylinder>(new VerticalCylinder(centerX, centerY, centerZ, radius, height));
-}
-
-Object* VerticalCylinder::clone() const
-{
-    return new VerticalCylinder(centerX, centerY, centerZ, radius, height);
-}
-
-double VerticalCylinder::getX1Centroid()
-{
-    return centerX;
-}
-
-double VerticalCylinder::getX1Minimum()
-{
-    return centerX - radius;
-}
-
-double VerticalCylinder::getX1Maximum()
-{
-    return centerX + radius;
-}
-
-double VerticalCylinder::getX2Centroid()
-{
-    return centerY;
-}
-
-double VerticalCylinder::getX2Minimum()
-{
-    return centerY - radius;
-}
-
-double VerticalCylinder::getX2Maximum()
-{
-    return centerY + radius;
-}
-
-double VerticalCylinder::getX3Centroid()
-{
-    return centerZ;
-}
-
-double VerticalCylinder::getX3Minimum()
-{
-    return centerZ - 0.5 * height;
-}
-
-double VerticalCylinder::getX3Maximum()
-{
-    return centerZ + 0.5 * height;
-}
-
-bool VerticalCylinder::isPointInObject(const double& x1, const double& x2, const double& x3, const double& minOffset, const double& maxOffset)
-{
-    double offset = maxOffset;
-    if (x1 < centerX || x2 < centerY || x3 < centerZ)
-        offset = minOffset;
-        
-
-    const double deltaX1 = x1 - centerX;
-    const double deltaX2 = x2 - centerY;
-    const double deltaX3 = x3 - centerZ;
-
-    if( deltaX3 > 0.5 * height || deltaX3 < - 0.5 * height )
-        return false;
-
-    return (deltaX1*deltaX1 + deltaX2*deltaX2) < ((this->radius - offset) * (this->radius - offset));
-}
-
-
-void VerticalCylinder::scale(double delta)
-{
-    this->radius += delta;
-    this->height += delta;
-}
diff --git a/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.h b/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.h
index a0c97aa80e98f60beee48dc9263b637950dd576d..24d9383bf5628e46b1d634874f79ceb73eaa6cae 100644
--- a/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.h
+++ b/src/gpu/GridGenerator/geometries/VerticalCylinder/VerticalCylinder.h
@@ -1,9 +1,35 @@
-//  _    ___      __              __________      _     __
-// | |  / (_)____/ /___  ______ _/ / ____/ /_  __(_)___/ /____
-// | | / / / ___/ __/ / / / __ `/ / /_  / / / / / / __  / ___/
-// | |/ / / /  / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__  )
-// |___/_/_/   \__/\__,_/\__,_/_/_/   /_/\__,_/_/\__,_/____/
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
 //
+//  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 VerticalCylinder.h
+//! \ingroup geometries
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef VERTICAL_CYLINDER_H
 #define VERTICAL_CYLINDER_H
 
diff --git a/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h b/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h
index c1d8524ec6f22337b38be80fda3e3f3f6c315b1f..20fd08be41e95fa1c0fc17d3c683e627f52b4e26 100644
--- a/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h
+++ b/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h
@@ -28,7 +28,7 @@
 //
 //! \file BoundaryCondition.h
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
 //=======================================================================================
 #ifndef BoundaryCondition_H
 #define BoundaryCondition_H
diff --git a/src/gpu/GridGenerator/grid/Field.cu b/src/gpu/GridGenerator/grid/Field.cpp
similarity index 98%
rename from src/gpu/GridGenerator/grid/Field.cu
rename to src/gpu/GridGenerator/grid/Field.cpp
index b330b2fba565287c1ddd21181d9e192f50fb5f82..d8ac2a80ea6fc5da879c5378aac2eab70016ff72 100644
--- a/src/gpu/GridGenerator/grid/Field.cu
+++ b/src/gpu/GridGenerator/grid/Field.cpp
@@ -26,9 +26,9 @@
 //  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 Field.cu
+//! \file Field.cpp
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
 //=======================================================================================
 #include "Field.h"
 
diff --git a/src/gpu/GridGenerator/grid/Field.h b/src/gpu/GridGenerator/grid/Field.h
index eafa81ec694b0b548efc1bbb510f5f18591ffbc3..002c8c108bd405f4077cd2779f5e59232135ace9 100644
--- a/src/gpu/GridGenerator/grid/Field.h
+++ b/src/gpu/GridGenerator/grid/Field.h
@@ -28,7 +28,7 @@
 //
 //! \file Field.h
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
 //=======================================================================================
 #ifndef FIELD_H
 #define FIELD_H
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/GridBuilder.h b/src/gpu/GridGenerator/grid/GridBuilder/GridBuilder.h
index faee46ca6f22dac1d261f0bce23fa6f8002a2ee3..57290025c3f6e48554e1dafe9bd101ae237b3288 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/GridBuilder.h
+++ b/src/gpu/GridGenerator/grid/GridBuilder/GridBuilder.h
@@ -28,7 +28,7 @@
 //
 //! \file GridBuilder.h
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schönherr
 //=======================================================================================
 #ifndef GridBuilder_H
 #define GridBuilder_H
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index 6137256e99fc0f5edf3413d04b2908e127dd986f..20c285c13aa2c7644fc1ac6ea6a87b5d8dc7f72c 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
+++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
@@ -28,7 +28,7 @@
 //
 //! \file LevelGridBuilder.cpp
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schönherr
 //=======================================================================================
 #include "LevelGridBuilder.h"
 
@@ -46,13 +46,10 @@
 #include "grid/GridFactory.h"
 #include "grid/GridInterface.h"
 #include "grid/NodeValues.h"
-#include "grid/partition/Partition.h"
 
 #include "io/GridVTKWriter/GridVTKWriter.h"
 #include "io/QLineWriter.h"
 #include "io/SimulationFileWriter/SimulationFileWriter.h"
-#include "io/VTKWriterWrapper/PolyDataWriterWrapper.h"
-#include "io/VTKWriterWrapper/UnstructuredGridWrapper.h"
 
 #include "utilities/communication.h"
 #include "utilities/transformator/ArrowTransformator.h"
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
index 0e1e9e25f2883c4240744e224f3563f0e39191e4..f2325435d99140f33eee9844c13908de87788558 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
+++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
@@ -28,7 +28,7 @@
 //
 //! \file LevelGridBuilder.h
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schönherr
 //=======================================================================================
 #ifndef LEVEL_GRID_BUILDER_H
 #define LEVEL_GRID_BUILDER_H
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
index 47bea56435eeeebd1fba26b6e5aafb9cf1094a5b..565a02a2807ef15679bf08fa001ea9a03f78ca4e 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
+++ b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
@@ -28,7 +28,7 @@
 //
 //! \file MultipleGridBuilder.cpp
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schönherr
 //=======================================================================================
 #include "MultipleGridBuilder.h"
 
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h
index 8c05a61ca142fbefb537ce2d9304d5bd523355ef..fa3defd96c4012cb53cbd7d559771c0f07ae85d5 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h
+++ b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h
@@ -28,7 +28,7 @@
 //
 //! \file MultipleGridBuilder.h
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
 //=======================================================================================
 #ifndef MULTIPLE_GRID_BUILDER_H
 #define MULTIPLE_GRID_BUILDER_H
diff --git a/src/gpu/GridGenerator/grid/GridImp.cu b/src/gpu/GridGenerator/grid/GridImp.cpp
similarity index 99%
rename from src/gpu/GridGenerator/grid/GridImp.cu
rename to src/gpu/GridGenerator/grid/GridImp.cpp
index 6bb3db8d4da57865e576a6dc8b3909c669bc64a3..362007a93fefa820081b8b60f615153b360963dc 100644
--- a/src/gpu/GridGenerator/grid/GridImp.cu
+++ b/src/gpu/GridGenerator/grid/GridImp.cpp
@@ -26,9 +26,9 @@
 //  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 GridImp.cu
+//! \file GridImp.cpp
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
 //=======================================================================================
 #include "GridImp.h"
 
diff --git a/src/gpu/GridGenerator/grid/GridInterface.cu b/src/gpu/GridGenerator/grid/GridInterface.cpp
similarity index 87%
rename from src/gpu/GridGenerator/grid/GridInterface.cu
rename to src/gpu/GridGenerator/grid/GridInterface.cpp
index 5b4dc93107c67d76997044261921892a5a71fc02..dc99a839782bac333720566c6e1e6274ba44ec33 100644
--- a/src/gpu/GridGenerator/grid/GridInterface.cu
+++ b/src/gpu/GridGenerator/grid/GridInterface.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 GridInterface.cpp
+//! \ingroup grid
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "GridInterface.h"
 
 #include <iostream>
diff --git a/src/gpu/GridGenerator/grid/GridInterface.h b/src/gpu/GridGenerator/grid/GridInterface.h
index d3ade4706bcc9b99e849f3c4bfe9bfe31109a25d..303d79d4995ea04fe30b2a004c5738bf9c926cf2 100644
--- a/src/gpu/GridGenerator/grid/GridInterface.h
+++ b/src/gpu/GridGenerator/grid/GridInterface.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 GridInterface.h
+//! \ingroup grid
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef GRID_INTERFACE_H
 #define GRID_INTERFACE_H
 
diff --git a/src/gpu/GridGenerator/grid/NodeValues.h b/src/gpu/GridGenerator/grid/NodeValues.h
index 5ecd9bce657ea08208046bb2dbd8612bf1caa0e7..c726fdf85c8199633e118d8f8a5365ee658d4e6a 100644
--- a/src/gpu/GridGenerator/grid/NodeValues.h
+++ b/src/gpu/GridGenerator/grid/NodeValues.h
@@ -28,7 +28,7 @@
 //
 //! \file NodeValues.h
 //! \ingroup grid
-//! \author Soeren Peters, Stephan Lenz
+//! \author Soeren Peters, Stephan Lenz, Martin Schoenherr
 //=======================================================================================
 #ifndef NodeValues_H
 #define NodeValues_H
@@ -75,36 +75,4 @@ static constexpr char OVERLAP_TMP = 60;
 } // namespace gpu
 } // namespace vf
 
-//#define FLUID 0
-//
-//#define FLUID_CFC 1
-//#define FLUID_CFF 2
-//
-//#define FLUID_FCC 3
-//#define FLUID_FCF 4
-//
-//#define MULTI_GPU_SEND 10
-//#define MULTI_GPU_RECIEVE 11
-//
-//#define BC_PRESSURE 20
-//#define BC_VELOCITY 21
-//#define BC_SOLID 22
-//
-//#define BC_SLIP 23
-//#define BC_NOSLIP 24
-//#define BC_OUTFLOW 25
-//
-//#define STOPPER_OUT_OF_GRID 30
-//#define STOPPER_COARSE_UNDER_FINE 31
-//#define STOPPER_SOLID 32
-//#define STOPPER_OUT_OF_GRID_BOUNDARY 33
-//
-//#define INVALID_OUT_OF_GRID 40
-//#define INVALID_COARSE_UNDER_FINE 41
-//#define INVALID_SOLID 42
-//
-//#define NEGATIVE_DIRECTION_BORDER = 51;
-//
-//#define OVERLAP_TMP 60
-
 #endif
diff --git a/src/gpu/GridGenerator/grid/distributions/D3Q13.h b/src/gpu/GridGenerator/grid/distributions/D3Q13.h
deleted file mode 100644
index f314b970c2c6766ce367342ca649629d23131db6..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/grid/distributions/D3Q13.h
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef D3Q13_H
-#define D3Q13_H
-
-#define DIR_13_R 0
-#define DIR_13_NE 1
-#define DIR_13_SW 2
-#define DIR_13_SE 3
-#define DIR_13_NW 4
-#define DIR_13_TE 5
-#define DIR_13_BW 6
-#define DIR_13_BE 7
-#define DIR_13_TW 8
-#define DIR_13_TN 9
-#define DIR_13_BS 10
-#define DIR_13_BN 11
-#define DIR_13_TS 12
-
-#define DIR_13_START  0
-#define DIR_13_END   12
-
-
-#define DIR_13_NE_X  1
-#define DIR_13_NE_Y  1
-#define DIR_13_NE_Z  0
-
-#define DIR_13_SW_X  -1
-#define DIR_13_SW_Y  -1
-#define DIR_13_SW_Z  0
-
-#define DIR_13_SE_X  1
-#define DIR_13_SE_Y  -1
-#define DIR_13_SE_Z  0
-
-#define DIR_13_NW_X  -1
-#define DIR_13_NW_Y  1
-#define DIR_13_NW_Z  0
-
-#define DIR_13_TE_X  1
-#define DIR_13_TE_Y  0
-#define DIR_13_TE_Z  1
-
-#define DIR_13_BW_X  -1
-#define DIR_13_BW_Y  0
-#define DIR_13_BW_Z  -1
-
-#define DIR_13_BE_X  1
-#define DIR_13_BE_Y  0
-#define DIR_13_BE_Z  -1
-
-#define DIR_13_TW_X  -1
-#define DIR_13_TW_Y  0
-#define DIR_13_TW_Z  1
-
-#define DIR_13_TN_X  0
-#define DIR_13_TN_Y  1
-#define DIR_13_TN_Z  1
-
-#define DIR_13_BS_X  0
-#define DIR_13_BS_Y  -1
-#define DIR_13_BS_Z  -1
-
-#define DIR_13_BN_X  0
-#define DIR_13_BN_Y  1
-#define DIR_13_BN_Z  -1
-
-#define DIR_13_TS_X  0
-#define DIR_13_TS_Y  -1
-#define DIR_13_TS_Z  1
-
-#endif
diff --git a/src/gpu/GridGenerator/grid/distributions/D3Q19.h b/src/gpu/GridGenerator/grid/distributions/D3Q19.h
deleted file mode 100644
index 3f48a3bb11f78d68b53fabcfa8ea8ff475a88f6d..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/grid/distributions/D3Q19.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef D3Q19_H_
-#define D3Q19_H_
-
-#define DIR_19_E    0
-#define DIR_19_W    1
-#define DIR_19_N    2
-#define DIR_19_S    3
-#define DIR_19_T    4
-#define DIR_19_B    5
-#define DIR_19_NE   6
-#define DIR_19_SW   7
-#define DIR_19_SE   8
-#define DIR_19_NW   9
-#define DIR_19_TE   10
-#define DIR_19_BW   11
-#define DIR_19_BE   12
-#define DIR_19_TW   13
-#define DIR_19_TN   14
-#define DIR_19_BS   15
-#define DIR_19_BN   16
-#define DIR_19_TS   17
-#define DIR_19_ZERO 18
-
-#define DIR_19_START  0
-#define DIR_19_END   18
-
-
-#define DIR_19_E_X  1
-#define DIR_19_E_Y  0
-#define DIR_19_E_Z  0
-            
-#define DIR_19_W_X  -1
-#define DIR_19_W_Y  0
-#define DIR_19_W_Z  0
-            
-#define DIR_19_N_X  0
-#define DIR_19_N_Y  1
-#define DIR_19_N_Z  0
-            
-#define DIR_19_S_X  0
-#define DIR_19_S_Y  -1
-#define DIR_19_S_Z  0
-            
-#define DIR_19_T_X  0
-#define DIR_19_T_Y  0
-#define DIR_19_T_Z  1
-            
-#define DIR_19_B_X  0
-#define DIR_19_B_Y  0
-#define DIR_19_B_Z  -1
-
-#define DIR_19_NE_X  1
-#define DIR_19_NE_Y  1
-#define DIR_19_NE_Z  0
-             
-#define DIR_19_SW_X  -1
-#define DIR_19_SW_Y  -1
-#define DIR_19_SW_Z  0
-             
-#define DIR_19_SE_X  1
-#define DIR_19_SE_Y  -1
-#define DIR_19_SE_Z  0
-             
-#define DIR_19_NW_X  -1
-#define DIR_19_NW_Y  1
-#define DIR_19_NW_Z  0
-             
-#define DIR_19_TE_X  1
-#define DIR_19_TE_Y  0
-#define DIR_19_TE_Z  1
-             
-#define DIR_19_BW_X  -1
-#define DIR_19_BW_Y  0
-#define DIR_19_BW_Z  -1
-             
-#define DIR_19_BE_X  1
-#define DIR_19_BE_Y  0
-#define DIR_19_BE_Z  -1
-             
-#define DIR_19_TW_X  -1
-#define DIR_19_TW_Y  0
-#define DIR_19_TW_Z  1
-             
-#define DIR_19_TN_X  0
-#define DIR_19_TN_Y  1
-#define DIR_19_TN_Z  1
-             
-#define DIR_19_BS_X  0
-#define DIR_19_BS_Y  -1
-#define DIR_19_BS_Z  -1
-             
-#define DIR_19_BN_X  0
-#define DIR_19_BN_Y  1
-#define DIR_19_BN_Z  -1
-             
-#define DIR_19_TS_X  0
-#define DIR_19_TS_Y  -1
-#define DIR_19_TS_Z  1
-
-#endif
diff --git a/src/gpu/GridGenerator/grid/distributions/D3Q7.h b/src/gpu/GridGenerator/grid/distributions/D3Q7.h
index 6654cc1475d87875407d107ec9e300744831a7b9..f43aeb01c5ebf85f4b2f97e90f61585d4dd6da88 100644
--- a/src/gpu/GridGenerator/grid/distributions/D3Q7.h
+++ b/src/gpu/GridGenerator/grid/distributions/D3Q7.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 D3Q7.h
+//! \ingroup grid
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef D3Q7_H
 #define D3Q7_H
 
diff --git a/src/gpu/GridGenerator/grid/kernel/runGridKernelGPU.cu b/src/gpu/GridGenerator/grid/kernel/runGridKernelGPU.cu
deleted file mode 100644
index ff9a60d78fd60916a2fb9a8e2479a7d62dc1ead5..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/grid/kernel/runGridKernelGPU.cu
+++ /dev/null
@@ -1,220 +0,0 @@
-#include "runGridKernelGPU.cuh"
-
-#include "utilities/cuda/cudaDefines.h"
-#include "utilities/cuda/cudaKernelCall.h"
-#include "utilities/cuda/LaunchParameter.cuh"
-#include "grid/GridImp.h"
-#include "geometries/TriangularMesh/TriangularMesh.h"
-
-GLOBAL void initalField(GridImp grid);
-GLOBAL void runMeshing(GridImp grid, const TriangularMesh geom);
-
-GLOBAL void findGridInterface(GridImp grid, GridImp finerGrid);
-GLOBAL void runKernelTomarkNodesToDeleteOutsideOfGeometry(GridImp grid);
-GLOBAL void markNodesToDeleteOutsideOfGeometry(GridImp grid);
-GLOBAL void findNeighborIndicesKernel(GridImp grid);
-GLOBAL void setOverlapNodesToInvalid(GridImp grid, GridImp finderGrid);
-
-//////////////////////////////////////////////////////////////////////////
-
-float runKernelInitalUniformGrid3d(const LaunchParameter& para, GridImp &grid)
-{
-    return runKernel(initalField, para, grid);
-}
-
-GLOBAL void initalField(GridImp grid)
-{
-    //TODO: outcomment because of nvlink warning caused by the new allocation in Cell().
-    //uint index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getSize())
-    //    grid.findInnerNode(index);
-}
-
-//////////////////////////////////////////////////////////////////////////
-
-float runKernelToMesh(const LaunchParameter& para, GridImp &grid, const TriangularMesh &geom)
-{
-    return runKernel(runMeshing, para, grid, geom);
-}
-
-GLOBAL void runMeshing(GridImp grid, const TriangularMesh geom)
-{
-    // TODO: outcomment because of nvlink warning caused by the new allocation in Cell().
-    //unsigned int i = LaunchParameter::getGlobalIdx_1D_1D();
-    //if (i < geom.size)
-    //    grid.mesh(geom.triangles[i]);
-}
-
-//////////////////////////////////////////////////////////////////////////
-
-float runKernelToMarkNodesToDeleteOutsideOfGeometry(const LaunchParameter& para, GridImp &grid)
-{
-    return runKernel(markNodesToDeleteOutsideOfGeometry, para, grid);
-}
-
-GLOBAL void markNodesToDeleteOutsideOfGeometry(GridImp grid)
-{
-    //int numberOfEdgeNodes = grid.ny * grid.nz;
-    //unsigned int i = LaunchParameter::getGlobalIdx_1D_1D();
-
-    //if (i < numberOfEdgeNodes)
-    //{
-    //    int x = 0;
-    //    int y = i % grid.ny;
-    //    int z = i / grid.ny;
-
-    //    grid.setFieldEntryToSolid(grid.transCoordToIndex(x, y, z));
-
-    //    while (grid.isFluid(i) && x < grid.nx - 1)
-    //    {
-    //        x += 1;
-    //        grid.setFieldEntryToSolid(grid.transCoordToIndex(x, y, z));
-    //    }
-    //}
-
-}
-
-
-//////////////////////////////////////////////////////////////////////////
-
-float runKernelSetOverlapNodesToInvalid(const LaunchParameter& para, GridImp &grid, GridImp &finerGrid)
-{
-    return runKernel(setOverlapNodesToInvalid, para, grid, finerGrid);
-}
-
-GLOBAL void setOverlapNodesToInvalid(GridImp grid, GridImp finerGrid)
-{
-	// not up to date
-    //const uint index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getSize())
-        //grid.findGridInterfaceCF(index, finerGrid);
-}
-
-
-
-/*#################################################################################*/
-/*---------------------------------find invalid nodes------------------------------*/
-/*---------------------------------------------------------------------------------*/
-GLOBAL void setInvalidNodes(GridImp grid, bool *foundInvalidNode);
-/*---------------------------------------------------------------------------------*/
-
-float runKernelSetToInvalid(const LaunchParameter& para, GridImp &grid)
-{
-    bool* foundInvalidNode_d;
-    bool* foundInvalidNode_h = new bool();
-    *foundInvalidNode_h = true;
-    CudaSafeCall( cudaMalloc(&foundInvalidNode_d, sizeof(bool)));
-    CudaCheckError();
-    cudaEvent_t start, stop;
-    cudaEventCreate(&start);
-    cudaEventCreate(&stop);
-    cudaEventRecord(start, 0);
-
-    while (*foundInvalidNode_h)
-    {
-        *foundInvalidNode_h = false;
-        CudaSafeCall(cudaMemcpy(foundInvalidNode_d, foundInvalidNode_h, sizeof(bool), cudaMemcpyHostToDevice));
-        setInvalidNodes << <para.blocks, para.threads >> >(grid, foundInvalidNode_d);
-        cudaDeviceSynchronize();
-        CudaCheckError();
-
-        CudaSafeCall(cudaMemcpy(foundInvalidNode_h, foundInvalidNode_d, sizeof(bool), cudaMemcpyDeviceToHost));
-    }
-
-    cudaDeviceSynchronize();
-    cudaEventRecord(stop, 0);
-    cudaEventSynchronize(stop);
-    float elapsedTime;
-    cudaEventElapsedTime(&elapsedTime, start, stop);
-
-    cudaEventDestroy(start);
-    cudaEventDestroy(stop);
-
-    CudaCheckError();
-    cudaFree(foundInvalidNode_d);
-    delete foundInvalidNode_h;
-
-    return elapsedTime;
-}
-
-
-GLOBAL void setInvalidNodes(GridImp grid, bool *foundInvalidNode)
-{
-    // not up to date
-    //uint index = LaunchParameter::getGlobalIdx_2D_1D();
-    ////if (index < grid.getSize())
-    //    //grid.setInsideNode(index, *foundInvalidNode);
-}
-
-
-/*#################################################################################*/
-
-float runKernelFindIndices(const LaunchParameter& para, GridImp &grid)
-{
-    return runKernel(findNeighborIndicesKernel, para, grid);
-}
-
-GLOBAL void findNeighborIndicesKernel(GridImp grid)
-{
-    // not up to date
-    //uint index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getSize())
-    //    grid.setNeighborIndices(index);
-}
-
-
-/*#################################################################################*/
-
-float runKernelToFindGridInterface(const LaunchParameter& para, GridImp &grid, GridImp &finerGrid)
-{
-    return runKernel(findGridInterface, para, grid, finerGrid);
-}
-
-GLOBAL void findGridInterface(GridImp grid, GridImp finerGrid)
-{
-	// not up to date
-    //uint index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getSize())
-    //    grid.findGridInterfaceCF(index, finerGrid);
-}
-/*#################################################################################*/
-
-GLOBAL void findNeighborsNewIndices(GridImp grid);
-float runKernelToFindNeighborsNewIndices(const LaunchParameter& para, GridImp &grid)
-{
-    return runKernel(findNeighborsNewIndices, para, grid);
-}
-
-GLOBAL void findNeighborsNewIndices(GridImp grid)
-{
-    // not up to date
-    //unsigned int index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getSize())
-    //    grid.setNeighborIndices(index);
-}
-/*#################################################################################*/
-
-GLOBAL void findGridInterfaceNewIndicesFC(GridImp grid);
-GLOBAL void findGridInterfaceNewIndicesCF(GridImp grid);
-float runKernelToFindGridInterfaceNewIndices(const LaunchParameter& para, GridImp &grid)
-{
-    runKernel(findGridInterfaceNewIndicesCF, para, grid);
-    return runKernel(findGridInterfaceNewIndicesFC, para, grid);
-}
-
-
-GLOBAL void findGridInterfaceNewIndicesCF(GridImp grid)
-{
-    // not up to date
-    //unsigned int index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getNumberOfNodesCF())
-        //grid.findForGridInterfaceSparseIndexCF(index);
-}
-
-GLOBAL void findGridInterfaceNewIndicesFC(GridImp grid)
-{
-    // not up to date
-    // unsigned int index = LaunchParameter::getGlobalIdx_2D_1D();
-    //if (index < grid.getNumberOfNodesFC())
-    //    grid.findForGridInterfaceSparseIndexFCcoarse(index);
-}
diff --git a/src/gpu/GridGenerator/grid/kernel/runGridKernelGPU.cuh b/src/gpu/GridGenerator/grid/kernel/runGridKernelGPU.cuh
deleted file mode 100644
index e63e4288182ce91e2b8c2fbbb26bb84bf8fb77a5..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/grid/kernel/runGridKernelGPU.cuh
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef runGridKernelGPU_H
-#define runGridKernelGPU_H
-
-
-class Grid;
-class GridImp;
-class TriangularMesh;
-class LaunchParameter;
-
-float runKernelInitalUniformGrid3d(const LaunchParameter& para, GridImp &grid);
-float runKernelToMesh(const LaunchParameter& para, GridImp &grid, const TriangularMesh &geom);
-float runKernelToMarkNodesToDeleteOutsideOfGeometry(const LaunchParameter& para, GridImp &grid);
-
-float runKernelToFindGridInterface(const LaunchParameter& para, GridImp &grid, GridImp &finerGrid);
-float runKernelToFindNeighborsNewIndices(const LaunchParameter& para, GridImp &grid);
-float runKernelToFindGridInterfaceNewIndices(const LaunchParameter& para, GridImp &grid);
-
-
-float runKernelSetOverlapNodesToInvalid(const LaunchParameter& para, GridImp &grid, GridImp &finerGrid);
-float runKernelSetToInvalid(const LaunchParameter& para, GridImp &grid);
-float runKernelFindIndices(const LaunchParameter& para, GridImp &grid);
-
-#endif
diff --git a/src/gpu/GridGenerator/grid/partition/Partition.cpp b/src/gpu/GridGenerator/grid/partition/Partition.cpp
deleted file mode 100644
index 970599105e9363f37f930480f1874827672c86d2..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/grid/partition/Partition.cpp
+++ /dev/null
@@ -1,653 +0,0 @@
-//#include "Partition.h"
-//
-//#include "metis.h"
-//#include <stdio.h>
-//#include <iostream>
-//
-//#include <global.h>
-//#include <GridGenerator/grid/Grid.h>
-//#include <GridGenerator/geometries/Triangle/Triangle.h>
-//#include <GridGenerator/geometries/Vertex/Vertex.h>
-//#include <GridGenerator/geometries/BoundingBox/BoundingBox.h>
-//#include <GridGenerator/io/GridVTKWriter/GridVTKWriter.h>
-//#include <GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.h>
-//#include <GridGenerator/utilities/Transformator/TransformatorImp.h>
-//
-//#include <utilities/logger/Logger.h>
-//
-//int Partition::calcEdgesFromGraph(SPtr<Grid> grid) 
-//{
-//    int insideNeighbors = 6;
-//    int cornerNeighbors = 3;
-//    int outsideEdgesNeighbors = 4;
-//    int ousiteAreaNeighbors = 5;
-//
-//    int corner = 8;
-//    int outsiteEdges = grid->getNumberOfNodesX() * 4 + grid->getNumberOfNodesY() * 4 + grid->getNumberOfNodesZ() * 4 - 24;
-//    int outsideArea = 2 * grid->getNumberOfNodesX()*grid->getNumberOfNodesY() + 2 * grid->getNumberOfNodesX()*grid->getNumberOfNodesZ() + 2 * grid->getNumberOfNodesY()*grid->getNumberOfNodesZ() - 8 * grid->getNumberOfNodesX() - 8 * grid->getNumberOfNodesY() - 8 * grid->getNumberOfNodesZ() + 24;
-//    int inside = grid->getSize() - corner - outsiteEdges - outsideArea;
-//    return inside * insideNeighbors + outsideArea * ousiteAreaNeighbors + outsiteEdges * outsideEdgesNeighbors + corner * cornerNeighbors;
-//}
-//
-//void Partition::partitionGridMesh(SPtr<Grid> grid) 
-//{
-//    printf("MESH\n");
-//
-//    idx_t nelements = (grid->getNumberOfNodesX() - 1) * (grid->getNumberOfNodesY() - 1) * (grid->getNumberOfNodesZ() - 1);
-//    idx_t nNodes = nelements * 8;
-//    idx_t nWeightsMesh = 1;
-//    idx_t nPartsMesh = 2;
-//
-//    idx_t *partMeshNodes = new idx_t[nNodes];
-//    idx_t *partMeshElements = new idx_t[nelements];
-//    idx_t objval;
-//
-//    // Indexes of starting points in adjacent array
-//    idx_t *eptr = new idx_t[nelements + 1];
-//
-//    for (int i = 0; i < nelements + 1; i++) {
-//        eptr[i] = i * 8;
-//    }
-//
-//    // Adjacent vertices in consecutive index order
-//    idx_t *eind = new idx_t[nNodes];
-//
-//    real x, y, z, newX, newY, newZ;
-//    int nIndex;
-//    int numberNode = 0;
-//    for (unsigned int index = 0; index < grid->getSize(); index++) {
-//        grid->transIndexToCoords(index, x, y, z);
-//
-//        newX = x + 1;
-//        newY = y + 1;
-//        newZ = z + 1;
-//        if (newX >= grid->getNumberOfNodesX() || newY >= grid->getNumberOfNodesY() || newZ >= grid->getNumberOfNodesZ())
-//            continue;
-//
-//        // self
-//        eind[numberNode] = index;
-//        numberNode++;
-//
-//        //+x
-//        nIndex = grid->transCoordToIndex(newX, y, z);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//        //x//+y
-//        nIndex = grid->transCoordToIndex(newX, newY, z);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//        //+y
-//        nIndex = grid->transCoordToIndex(x, newY, z);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//        //+z
-//        nIndex = grid->transCoordToIndex(x, y, newZ);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//        //+z//+x
-//        nIndex = grid->transCoordToIndex(newX, y, newZ);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//        //+z//+x//+y
-//        nIndex = grid->transCoordToIndex(newX, newY, newZ);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//        //+z//+y
-//        nIndex = grid->transCoordToIndex(x, newY, newZ);
-//        eind[numberNode] = nIndex;
-//        numberNode++;
-//
-//    }
-//
-//
-//    //for (int i = 0; i < nelements; i++) {
-//    //    printf("element %d: ", i);
-//    //    for (int v = eptr[i]; v < eptr[i + 1]; v++) {
-//    //        printf("%d ", eind[v]);
-//    //    }
-//    //    printf("\n");
-//    //}
-//
-//    // Weights of vertices
-//    // if all weights are equal then can be set to NULL
-//    //idx_t vwgtMesh[nNodes * nWeightsMesh] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
-//
-//    idx_t ncommon = 4;
-//
-//    rstatus_et ret = (rstatus_et)METIS_PartMeshDual(&nelements, &nNodes, eptr, eind,
-//        NULL, NULL, &ncommon, &nPartsMesh,
-//        NULL, NULL, &objval, partMeshElements, partMeshNodes);
-//
-//    std::cout << ret << std::endl;
-//
-//    for (int part_i = 0; part_i < nelements; part_i++){
-//        std::cout << part_i << " " << partMeshElements[part_i] << std::endl;
-//    }
-//
-//
-//    for (unsigned int part_i = 0; part_i < grid->getSize(); part_i++){
-//        //grid->setFieldEntry(part_i, partMeshNodes[part_i]);
-//    }
-//
-//    GridVTKWriter::writeSparseGridToVTK(grid, "../../../../metisGridMesh.vtk");
-//
-//    delete[] partMeshNodes;
-//    delete[] partMeshElements;
-//    delete[] eptr;
-//    delete[] eind;
-//}
-//
-//void Partition::partitionGrid(SPtr<Grid> grid) {
-//    idx_t nVertices = grid->getSize();
-//    idx_t nEdges = calcEdgesFromGraph(grid);
-//    idx_t nWeights = 1;
-//    idx_t nParts = 4;
-//
-//    idx_t objval;
-//    idx_t* part = new idx_t[nVertices];
-//    idx_t* xadj = new idx_t[nVertices + 1];
-//    idx_t* adjncy = new idx_t[nEdges];
-//
-//    xadj[0] = 0;
-//	real x, y, z, newX, newY, newZ;
-//    int nIndex;
-//    int numberOfNeighbors = 0;
-//    int counter = 0;
-//    for (int index = 0; index < nVertices; index++) {
-//        grid->transIndexToCoords(index, x, y, z);
-//        //+x 
-//        newX = x + 1;
-//        if (newX >= 0 && newX < grid->getNumberOfNodesX()) {
-//            nIndex = grid->transCoordToIndex(newX, y, z);
-//            adjncy[numberOfNeighbors] = nIndex;
-//            numberOfNeighbors++;
-//        }
-//        //-x
-//        newX = x - 1;
-//        if (newX >= 0 && newX < grid->getNumberOfNodesX()) {
-//            nIndex = grid->transCoordToIndex(newX, y, z);
-//            adjncy[numberOfNeighbors] = nIndex;
-//            numberOfNeighbors++;
-//        }
-//
-//        //+y
-//        newY = y + 1;
-//        if (newY >= 0 && newY < grid->getNumberOfNodesY()) {
-//            nIndex = grid->transCoordToIndex(x, newY, z);
-//            adjncy[numberOfNeighbors] = nIndex;
-//            numberOfNeighbors++;
-//        }
-//
-//        //-y
-//        newY = y - 1;
-//        if (newY >= 0 && newY < grid->getNumberOfNodesY()) {
-//            nIndex = grid->transCoordToIndex(x, newY, z);
-//            adjncy[numberOfNeighbors] = nIndex;
-//            numberOfNeighbors++;
-//        }
-//
-//        //+z
-//        newZ = z + 1;
-//        if (newZ >= 0 && newZ < grid->getNumberOfNodesZ()) {
-//            nIndex = grid->transCoordToIndex(x, y, newZ);
-//            adjncy[numberOfNeighbors] = nIndex;
-//            numberOfNeighbors++;
-//        }
-//
-//        //-z
-//        newZ = z - 1;
-//        if (newZ >= 0 && newZ < grid->getNumberOfNodesZ()) {
-//            nIndex = grid->transCoordToIndex(x, y, newZ);
-//            adjncy[numberOfNeighbors] = nIndex;
-//            numberOfNeighbors++;
-//        }
-//        xadj[index + 1] = numberOfNeighbors;
-//    }
-//
-//
-//    // Indexes of starting points in adjacent array
-//    //idx_t xadj[nVertices + 1] = { 0, 2, 5, 7, 9, 12, 14 };
-//
-//    // Adjacent vertices in consecutive index order
-//    //idx_t adjncy[2 * nEdges] = { 1, 3, 0, 4, 2, 1, 5, 0, 4, 3, 1, 5, 4, 2 };
-//
-//
-//    //for (int index = 0; index < nVertices; index++) {
-//    //    printf("vertexNachbarn von %d: ", index);
-//    //    printf("Grenzen: %d - %d, ", xadj[index], xadj[index + 1]);
-//    //    for (int v = xadj[index]; v < xadj[index + 1]; v++) {
-//    //        printf("%d ", adjncy[v]);
-//    //    }
-//    //    printf("\n");
-//    //}
-//
-//    // Weights of vertices
-//    // if all weights are equal then can be set to NULL
-//    //idx_t* vwgt = new idx_t[nVertices * nWeights];
-//
-//    idx_t options[METIS_NOPTIONS];
-//    METIS_SetDefaultOptions(options);
-//
-//    options[METIS_OPTION_OBJTYPE] = METIS_OBJTYPE_CUT; //minimizing the edge-cut communication
-//
-//    options[METIS_OPTION_NCUTS] = 1; // number of different partitioning //default 1
-//    options[METIS_OPTION_CONTIG] = 1; // force contiguous partitions
-//    options[METIS_OPTION_DBGLVL] = 0; //print debugging information
-//
-//    rstatus_et ret = (rstatus_et)METIS_PartGraphKway(&nVertices, &nWeights, xadj, adjncy,
-//        NULL, NULL, NULL, &nParts, NULL,
-//        NULL, options, &objval, part);
-//
-//    std::cout << ret << std::endl;
-//
-//    //for (unsigned part_i = 0; part_i < nVertices; part_i++){
-//    //    std::cout << part_i << " " << part[part_i] << std::endl;
-//    //}
-//
-//    for (int part_i = 0; part_i < nVertices; part_i++){
-//        //grid->setFieldEntry(part_i, part[part_i]);
-//    }
-//
-//    GridVTKWriter::writeSparseGridToVTK(grid, "../../../../metisGridFineFourParts.vtk");
-//}
-//
-//std::vector<std::vector<int> > Partition::partitionBoxes(std::vector<std::vector<BoundingBox> > boxes, int processes, std::vector< std::shared_ptr<Transformator> > transformators)
-//{
-//    if (processes == 1){
-//        std::vector<std::vector<int> > tasks;
-//        tasks.resize(processes);
-//        tasks[0].push_back(0);
-//        tasks[0].push_back(0);
-//        return tasks;
-//    }
-//
-//    std::vector<idx_t> xadj;
-//    std::vector<idx_t> adjncy;
-//
-//    int numberOfNeighbors = 0;
-//    xadj.push_back(0);
-//    for (int level = 0; level < boxes.size(); level++) {
-//        for (int i = 0; i < boxes[level].size(); i++) {
-//        	
-//			BoundingBox box = boxes[level][i];
-//            transformators[level]->transformGridToWorld(box);
-//
-//            int index = i + (int)boxes[level].size() * level;
-//            for (int levelCompare = 0; levelCompare < boxes.size(); levelCompare++) {
-//                for (int iCompare = 0; iCompare < boxes[levelCompare].size(); iCompare++) {
-//                    int indexCompare = iCompare + (int)boxes[levelCompare].size() * levelCompare;
-//                    if (index == indexCompare)
-//                        continue;
-//
-//					BoundingBox boxCompare = boxes[levelCompare][iCompare];
-//                    transformators[level]->transformGridToWorld(boxCompare);
-//                    if (box.intersect(boxCompare)) {
-//                        adjncy.push_back(indexCompare);
-//                        numberOfNeighbors++;
-//                    }
-//                }
-//            }
-//            xadj.push_back(numberOfNeighbors);
-//        }
-//    }
-//
-//    //logging::Logger::getInstance()->logTerminal("Metis Graph Structure:");
-//    //for (int index = 0; index < xadj.size() - 1; index++) {
-//    //    logging::Logger::getInstance()->logTerminal("vertex neighbor [" + SSTR(index) + "]");
-//    //    logging::Logger::getInstance()->logTerminal(" boundary: " + SSTR(xadj[index]) + " - " + SSTR(xadj[index + 1]) + ",");
-//    //    for (int v = xadj[index]; v < xadj[index + 1]; v++) {
-//    //        logging::Logger::getInstance()->logTerminal(SSTR(adjncy[v]) + " ");
-//    //    }
-//    //    logging::Logger::getInstance()->logTerminal("\n");
-//    //}
-//
-//    // Weights of vertices
-//    // if all weights are equal then can be set to NULL
-//    //idx_t* vwgt = new idx_t[nVertices * nWeights];
-//
-//    idx_t options[METIS_NOPTIONS];
-//    METIS_SetDefaultOptions(options);
-//
-//    options[METIS_OPTION_OBJTYPE] = METIS_OBJTYPE_CUT; //minimizing the edge-cut communication
-//
-//    options[METIS_OPTION_NCUTS] = 1; // number of different partitioning //default 1
-//    options[METIS_OPTION_CONTIG] = 1; // force contiguous partitions
-//    options[METIS_OPTION_DBGLVL] = 0; //print debugging information
-//
-//    idx_t nVertices = (idx_t)xadj.size() - 1;
-//    idx_t nWeights = 1;
-//    idx_t nParts = processes;
-//
-//    idx_t objval;
-//    idx_t* part = new idx_t[nVertices];
-//
-//    //rstatus_et ret = (rstatus_et)METIS_PartGraphKway(&nVertices, &nWeights, xadj.data(), adjncy.data(),
-//    //    NULL, NULL, NULL, &nParts, NULL,
-//    //    NULL, options, &objval, part);
-//
-//    rstatus_et ret = (rstatus_et)METIS_PartGraphRecursive(&nVertices, &nWeights, xadj.data(), adjncy.data(),
-//        NULL, NULL, NULL, &nParts, NULL,
-//        NULL, options, &objval, part);
-//
-//	if (ret == METIS_OK)
-//		*logging::out << logging::Logger::INFO_INTERMEDIATE << "Metis Status: OK\n";
-//
-//    
-//
-//    for (int part_i = 0; part_i < nVertices; part_i++)
-//		*logging::out << logging::Logger::INFO_INTERMEDIATE << "Block: " << part_i << " - Partition: " << part[part_i] << "\n";
-//    
-//
-//    std::vector<std::vector<int> > tasks;
-//    tasks.resize(processes);
-//    
-//    for (int i = 0; i < nVertices; i++) {
-//        int x = i % boxes[0].size();
-//        int level = (i - x) / (int)boxes[0].size();
-//        tasks[part[i]].push_back(level);
-//        tasks[part[i]].push_back(x);
-//    }
-//
-//    return tasks;
-//}
-//
-//std::vector<BoundingBox> Partition::getProcessBoxes(const int numberOfProcesses, const int globalNx, const int globalNy, const int globalNz)
-//{
-//    std::vector<BoundingBox> boxes;
-//	BoundingBox b(0, globalNx, 0, globalNy, 0, globalNz);
-//    boxes.push_back(b);
-//    if (numberOfProcesses == 1)
-//        return boxes;
-//
-//    bool splitX, splitY, splitZ;
-//    while (boxes.size() < numberOfProcesses)
-//	{
-//        findMaxBoxSize(boxes, splitX, splitY, splitZ);
-//        if (numberOfProcesses % 3 == 0)
-//            splitAllBoxesInThreePieces(boxes, splitX, splitY, splitZ);
-//        else 
-//            splitAllBoxesInTwoPieces(boxes, splitX, splitY, splitZ);
-//    }
-//    return boxes;
-//}
-//
-//std::vector<std::vector<Triangle> > Partition::getTrianglesPerProcess(std::vector<BoundingBox> &boxes, Triangle *triangles, int nTriangles)
-//{
-//    std::vector<Triangle> triangleVec;
-//    triangleVec.resize(nTriangles);
-//    for (int i = 0; i < nTriangles; i++)
-//        triangleVec[i] = triangles[i];
-//
-//    std::vector<std::vector<Triangle> > trianglesPerProcess;
-//    trianglesPerProcess.resize(boxes.size());
-//
-//    for (int j = 0; j < triangleVec.size(); j++) {
-//        for (int i = 0; i < boxes.size(); i++) {
-//            if (boxes[i].isInside(triangleVec[j])) {
-//                trianglesPerProcess[i].push_back(triangleVec[j]);
-//                triangleVec.erase(triangleVec.begin() + j);
-//                j--;
-//                break;
-//            }
-//            else if (boxes[i].intersect(triangleVec[j])) {
-//                //splitAndPushTriangle(boxes[i], trianglesPerProcess[i], triangleVec, j);
-//                trianglesPerProcess[i].push_back(triangleVec[j]);
-//            }
-//        }
-//    }
-//    return trianglesPerProcess;
-//}
-//
-//void Partition::findMaxBoxSize(std::vector<BoundingBox> &boxes, bool &splitX, bool &splitY, bool &splitZ)
-//{
-//    int lengthX, lengthY, lengthZ;
-//    lengthX = boxes[0].maxX - boxes[0].minX;
-//    lengthY = boxes[0].maxY - boxes[0].minY;
-//    lengthZ = boxes[0].maxZ - boxes[0].minZ;
-//
-//    splitX = true, splitY = false, splitZ = false;
-//    if (lengthX < lengthY){
-//        splitX = splitZ = false;
-//        splitY = true;
-//    }
-//    else if (lengthY < lengthZ){
-//        splitX = splitY = false;
-//        splitZ = true;
-//    }
-//}
-//
-//void Partition::splitAllBoxesInThreePieces(std::vector<BoundingBox> &boxes, bool splitX, bool splitY, bool splitZ)
-//{
-//    std::vector<BoundingBox> boxesTemp;
-//    for (int i = 0; i < boxes.size(); i++) {
-//        if (splitX) {
-//            int newLengthX = (boxes[i].maxX - boxes[i].minX) / 3;
-//			BoundingBox splitBox1(boxes[i].minX, boxes[i].minX + newLengthX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//			BoundingBox splitBox2(boxes[i].minX, boxes[i].minX + newLengthX + newLengthX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//			BoundingBox splitBox3(boxes[i].minX + newLengthX + newLengthX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//            boxesTemp.push_back(splitBox1);
-//            boxesTemp.push_back(splitBox2);
-//            boxesTemp.push_back(splitBox3);
-//        }
-//        if (splitY) {
-//            int newLengthY = (boxes[i].maxY - boxes[i].minY) / 3;
-//			BoundingBox splitBox1(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].minY + newLengthY, boxes[i].minZ, boxes[i].maxZ);
-//			BoundingBox splitBox2(boxes[i].minX, boxes[i].maxX, boxes[i].minY + newLengthY, boxes[i].minY + newLengthY + newLengthY, boxes[i].minZ, boxes[i].maxZ);
-//			BoundingBox splitBox3(boxes[i].minX, boxes[i].maxX, boxes[i].minY + newLengthY + newLengthY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//            boxesTemp.push_back(splitBox1);
-//            boxesTemp.push_back(splitBox2);
-//            boxesTemp.push_back(splitBox3);
-//        }
-//        if (splitZ) {
-//            int newLengthZ = (boxes[i].maxZ - boxes[i].minZ) / 3;
-//			BoundingBox splitBox1(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].minZ + newLengthZ);
-//			BoundingBox splitBox2(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ + newLengthZ, boxes[i].minZ + newLengthZ + newLengthZ);
-//			BoundingBox splitBox3(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ + newLengthZ + newLengthZ, boxes[i].maxZ);
-//            boxesTemp.push_back(splitBox1);
-//            boxesTemp.push_back(splitBox2);
-//            boxesTemp.push_back(splitBox3);
-//        }
-//    }
-//    boxes.clear();
-//    boxes = boxesTemp;
-//}
-//
-//void Partition::splitAllBoxesInTwoPieces(std::vector<BoundingBox> &boxes, bool splitX, bool splitY, bool splitZ)
-//{
-//    std::vector<BoundingBox> boxesTemp;
-//    for (int i = 0; i < boxes.size(); i++) {
-//        if (splitX) {
-//            int newLengthX = (boxes[i].maxX - boxes[i].minX) / 2;
-//			BoundingBox splitBox1(boxes[i].minX, boxes[i].minX + newLengthX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//			BoundingBox splitBox2(boxes[i].minX + newLengthX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//            boxesTemp.push_back(splitBox1);
-//            boxesTemp.push_back(splitBox2);
-//        }
-//        if (splitY) {
-//            int newLengthY = (boxes[i].maxY - boxes[i].minY) / 2;
-//			BoundingBox splitBox1(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].minY + newLengthY, boxes[i].minZ, boxes[i].maxZ);
-//			BoundingBox splitBox2(boxes[i].minX, boxes[i].maxX, boxes[i].minY + newLengthY, boxes[i].maxY, boxes[i].minZ, boxes[i].maxZ);
-//            boxesTemp.push_back(splitBox1);
-//            boxesTemp.push_back(splitBox2);
-//        }
-//        if (splitZ) {
-//            int newLengthZ = (boxes[i].maxZ - boxes[i].minZ) / 2;
-//			BoundingBox splitBox1(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ, boxes[i].minZ + newLengthZ);
-//			BoundingBox splitBox2(boxes[i].minX, boxes[i].maxX, boxes[i].minY, boxes[i].maxY, boxes[i].minZ + newLengthZ, boxes[i].maxZ);
-//            boxesTemp.push_back(splitBox1);
-//            boxesTemp.push_back(splitBox2);
-//        }
-//    }
-//    boxes.clear();
-//    boxes = boxesTemp;
-//}
-//
-//std::vector<std::vector<Triangle> >  Partition::splitTriangles(std::vector<Triangle> &triangleVec, std::vector<BoundingBox> boxes)
-//{
-//    std::vector<std::vector<Triangle> > trianglesPerProcess;
-//    trianglesPerProcess.resize(boxes.size());
-//
-//    for (int j = 0; j < triangleVec.size(); j++) {
-//        for (int i = 0; i < boxes.size(); i++) {
-//            if (boxes[i].isInside(triangleVec[j])) {
-//                trianglesPerProcess[i].push_back(triangleVec[j]);
-//                triangleVec.erase(triangleVec.begin() + j);
-//                j--;
-//                break;
-//            }
-//            else if (boxes[i].intersect(triangleVec[j])) {
-//                splitAndPushTriangle(boxes[i], trianglesPerProcess[i], triangleVec, j);
-//                //trianglesPerProcess[i].push_back(triangleVec[j]);
-//            }
-//        }
-//    }
-//
-//    return trianglesPerProcess;
-//
-//}
-//
-//
-//
-//void Partition::splitAndPushTriangle(BoundingBox &box, std::vector<Triangle> &trianglesPerProcess, std::vector<Triangle> &triangleVec, int indexTriangle)
-//{
-//    Triangle triangleToSplit = triangleVec[indexTriangle];
-//	//BoundingBox triangleBox = BoundingBox::makeExactBox(triangleToSplit);
-//    //std::vector<std::vector<Vertex> > intersectionsBox = box.getIntersectionPoints(triangleBox);
-//
-//    //UnstructuredGridWriter writer;
-//    //double v1[3] = { triangleToSplit.v1.x, triangleToSplit.v1.y, triangleToSplit.v1.z };
-//    //double v2[3] = { triangleToSplit.v2.x, triangleToSplit.v2.y, triangleToSplit.v2.z };
-//    //double v3[3] = { triangleToSplit.v3.x, triangleToSplit.v3.y, triangleToSplit.v3.z };
-//    //writer.addTriangle(v1, v2, v3);
-//    //double b[6] = { box.minX, box.maxX, box.minY, box.maxY, box.minZ, box.maxZ };
-//    //writer.addBoundingBox(b);
-//    //double b2[6] = { triangleBox.minX, triangleBox.maxX, triangleBox.minY, triangleBox.maxY, triangleBox.minZ, triangleBox.maxZ };
-//    //writer.addBoundingBox(b2);
-//    //writer.writeUnstructuredGridToFile("testIntersectionTriangle");
-//
-//
-//    //for (int i = 0; i < intersectionsBox.size(); i++) {
-//    //    if (intersectionsBox[i].size() == 0)
-//    //        continue;
-//
-//    //    Vertex edge1 = intersectionsBox[i][0] - intersectionsBox[i][1];
-//    //    Vertex edge2 = intersectionsBox[i][1] - intersectionsBox[i][2];
-//    //    Vertex normal = edge1.crossProduct(edge2);
-//    //    normal.normalize();
-//
-//    //    Vertex point(intersectionsBox[i][0].x, intersectionsBox[i][0].y, intersectionsBox[i][0].z);
-//    //    Vertex v4 = (triangleToSplit.v1 - point);
-//    //    Vertex v5 = (triangleToSplit.v2 - point);
-//    //    Vertex v6 = (triangleToSplit.v3 - point);
-//
-//    //    real d1 = v4 * normal;
-//    //    real d2 = v5 * normal;
-//    //    real d3 = v6 * normal;
-//
-//    //    // a to b crosses the clipping plane
-//    //    if (d1 * d2 < 0.0f)
-//    //        sliceTriangle(trianglesPerProcess, triangleVec, indexTriangle, triangleToSplit.v1, triangleToSplit.v2, triangleToSplit.v3, d1, d2, d3);
-//
-//    //    // a to c crosses the clipping plane
-//    //    else if (d1 * d3 < 0.0f)
-//    //        sliceTriangle(trianglesPerProcess, triangleVec, indexTriangle, triangleToSplit.v3, triangleToSplit.v1, triangleToSplit.v2, d3, d1, d2);
-//
-//    //    // b to c crosses the clipping plane
-//    //    else if (d2 * d3 < 0.0f)
-//    //        sliceTriangle(trianglesPerProcess, triangleVec, indexTriangle, triangleToSplit.v2, triangleToSplit.v3, triangleToSplit.v1, d2, d3, d1);
-//    //}
-//}
-//
-//
-//void Partition::sliceTriangle(
-//    std::vector<Triangle>& out,
-//    std::vector<Triangle>& triangleVec,
-//    int index,
-//    const Vertex& a, // First point on triangle, CCW order
-//    const Vertex& b, // Second point on triangle, CCW order
-//    const Vertex& c, // Third point on triangle, CCW order
-//    real d1,        // Distance of point a to the splitting plane
-//    real d2,        // Distance of point b to the splitting plane
-//    real d3         // Distance of point c to the splitting plane
-//    )
-//{
-//    // Calculate the intersection point from a to b
-//    Vertex ab = a + ((b - a) * (d1 / (d1 - d2)) );
-//    Triangle tri;
-//
-//    if (d1 < 0.0f)
-//    {
-//        // b to c crosses the clipping plane
-//        if (d3 < 0.0f)
-//        {
-//            // Calculate intersection point from b to c
-//            Vertex bc = b + ((c - b) *  (d2 / (d2 - d3)));
-//
-//            tri.set(b, bc, ab);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(bc, c, a);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(ab, bc, a);
-//            triangleVec.push_back(tri);
-//        }
-//
-//        // c to a crosses the clipping plane
-//        else
-//        {
-//            // Calculate intersection point from a to c
-//            Vertex ac = a + ((c - a) * (d1 / (d1 - d3)));
-//
-//            tri.set(a, ab, ac);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(ab, b, c);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(ac, ab, c);
-//            triangleVec.push_back(tri);
-//        }
-//    }
-//    else
-//    {
-//        // c to a crosses the clipping plane
-//        if (d3 < 0.0f)
-//        {
-//            // Calculate intersection point from a to c
-//            Vertex ac = a +  ((c - a) * (d1 / (d1 - d3)));
-//
-//            tri.set(a, ab, ac);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(ac, ab, b);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(b, c, ac);
-//            triangleVec.push_back(tri);
-//        }
-//
-//        // b to c crosses the clipping plane
-//        else
-//        {
-//            // Calculate intersection point from b to c
-//            Vertex bc = b + ((c - b) * (d2 / (d2 - d3)));
-//
-//            tri.set(b, bc, ab);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(a, ab, bc);
-//            triangleVec.push_back(tri);
-//
-//            tri.set(c, a, bc);
-//            triangleVec.push_back(tri);
-//        }
-//    }
-//}
-//
diff --git a/src/gpu/GridGenerator/grid/partition/Partition.h b/src/gpu/GridGenerator/grid/partition/Partition.h
deleted file mode 100644
index a45f7668b871f6910332de7262c6d407f32d1d7f..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/grid/partition/Partition.h
+++ /dev/null
@@ -1,45 +0,0 @@
-//#ifndef Partition_H
-//#define Partition_H
-//
-//#include "global.h"
-//
-//
-//#include <vector>
-//#include <string>
-//#include <memory>
-//
-//class BoundingBox;
-//struct Triangle;
-//struct Vertex;
-//class Grid;
-//class Transformator;
-//
-//class GRIDGENERATOR_EXPORT Partition
-//{
-//public:
-//    static void partitionGridMesh(SPtr<Grid> grid);
-//    static void partitionGrid(SPtr<Grid> grid);
-//
-//	static std::vector<BoundingBox > getProcessBoxes(const int numberOfProcesses, const int globalNx, const int globalNy, const int globalNz);
-//    static std::vector<std::vector<int> > partitionBoxes(std::vector<std::vector<BoundingBox> >, int processes, std::vector< std::shared_ptr<Transformator> > transformators);
-//
-//    static std::vector<std::vector<Triangle> > getTrianglesPerProcess(std::vector<BoundingBox> &boxes, Triangle *triangles, int nTriangles);
-//
-//    static std::vector<std::vector<Triangle> >  splitTriangles(std::vector<Triangle> &triangleVec, std::vector<BoundingBox> boxes);
-//    
-//private:
-//    Partition(){};
-//    ~Partition(){};
-//
-//    static int calcEdgesFromGraph(SPtr<Grid> grid);
-//
-//    static void splitAllBoxesInThreePieces(std::vector<BoundingBox> &boxes, bool splitX, bool splitY, bool splitZ);
-//    static void splitAllBoxesInTwoPieces(std::vector<BoundingBox> &boxes, bool splitX, bool splitY, bool splitZ);
-//    static void findMaxBoxSize(std::vector<BoundingBox> &boxes, bool &splitX, bool &splitY, bool &splitZ);
-//
-//    static void splitAndPushTriangle(BoundingBox &box, std::vector<Triangle> &trianglesPerProcess, std::vector<Triangle> &triangleVec, int indexTriangle);
-//    static void sliceTriangle(std::vector<Triangle> &out, std::vector<Triangle>& triangleVec, int index, const Vertex& a, const Vertex& b, const Vertex& c, real d1, real d2, real d3);
-//
-//};
-//
-//#endif
diff --git a/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp b/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp
index 835cdf8d61bfa650eb2fefb003a37e19fb029abb..2c8624732d70e52ac24d843888548bdaf5585686 100644
--- a/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp
+++ b/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 GridVTKWriter.cpp
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #define _CRT_SECURE_NO_DEPRECATE
 #include "GridVTKWriter.h"
 
@@ -241,74 +273,6 @@ void GridVTKWriter::writeInterpolationCellsToVTKXML(SPtr<Grid> grid, SPtr<Grid>
 	}
     WbWriterVtkXmlBinary::getInstance()->writeOctsWithCellData(name, nodes, cells, celldatanames, celldata);
 }
-//deprecated
-//void GridVTKWriter::writeGridToVTKXML(SPtr<Grid> grid, const std::string& name, WRITING_FORMAT format)
-//{
-//    std::vector<UbTupleFloat3> nodes;
-//    std::vector<UbTupleUInt8> cells;
-//    std::vector<std::string> nodedatanames;
-//    std::vector< std::vector<double> > nodedata;
-//
-//    nodedatanames.push_back("types");
-//
-//
-//    nodedata.resize(nodedatanames.size());
-//
-//    CbArray3D<int> nodeNumbers(grid->getNumberOfNodesX(), grid->getNumberOfNodesY(), grid->getNumberOfNodesZ(), -1);
-//    int nr = 0;
-//
-//    for (real x = grid->getStartX(); x <= grid->getEndX(); x += grid->getDelta())
-//    {
-//        for (real y = grid->getStartY(); y <= grid->getEndY(); y += grid->getDelta())
-//        {
-//            for (real z = grid->getStartZ(); z <= grid->getEndZ(); z += grid->getDelta())
-//            {
-//                const auto xTranslate = int((x - grid->getStartX()) / grid->getDelta());
-//                const auto yTranslate = int((y - grid->getStartY()) / grid->getDelta());
-//                const auto zTranslate = int((z - grid->getStartZ()) / grid->getDelta());
-//                nodeNumbers(xTranslate, yTranslate, zTranslate) = nr++;
-//                nodes.push_back(UbTupleFloat3(float(x), float(y),float(z)));
-//
-//                const char type = grid->getFieldEntry(grid->transCoordToIndex(x, y, z));
-//                nodedata[0].push_back(type);
-//            }
-//        }
-//    }
-//
-//    int SWB, SEB, NEB, NWB, SWT, SET, NET, NWT;
-//    for (real x = grid->getStartX(); x < grid->getEndX(); x += grid->getDelta())
-//    {
-//        for (real y = grid->getStartY(); y < grid->getEndY(); y += grid->getDelta())
-//        {
-//            for (real z = grid->getStartZ(); z < grid->getEndZ(); z += grid->getDelta())
-//            {
-//                const auto xTranslate = int((x - grid->getStartX()) / grid->getDelta());
-//                const auto yTranslate = int((y - grid->getStartY()) / grid->getDelta());
-//                const auto zTranslate = int((z - grid->getStartZ()) / grid->getDelta());
-//
-//				if (!nodeNumbers.indicesInRange(xTranslate + 1, yTranslate +1, zTranslate +1)) // blame Lenz
-//					continue;
-//
-//                if ((SWB = nodeNumbers(xTranslate, yTranslate, zTranslate)) >= 0
-//                    && (SEB = nodeNumbers(xTranslate + 1, yTranslate, zTranslate)) >= 0
-//                    && (NEB = nodeNumbers(xTranslate + 1, yTranslate + 1, zTranslate)) >= 0
-//                    && (NWB = nodeNumbers(xTranslate, yTranslate + 1, zTranslate)) >= 0
-//                    && (SWT = nodeNumbers(xTranslate, yTranslate, zTranslate + 1)) >= 0
-//                    && (SET = nodeNumbers(xTranslate + 1, yTranslate, zTranslate + 1)) >= 0
-//                    && (NET = nodeNumbers(xTranslate + 1, yTranslate + 1, zTranslate + 1)) >= 0
-//                    && (NWT = nodeNumbers(xTranslate, yTranslate + 1, zTranslate + 1)) >= 0)
-//                {
-//                    Cell cell(x, y, z, grid->getDelta());
-//                    if(grid->nodeInCellIs(cell, OUT_OF_GRID) || grid->nodeInCellIs(cell, INVALID_NODE))
-//                        continue;
-//
-//                    cells.push_back(makeUbTuple(uint(SWB), uint(SEB), uint(NEB), uint(NWB), uint(SWT), uint(SET), uint(NET), uint(NWT)));
-//                }
-//            }
-//        }
-//    }
-//    WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(name, nodes, cells, nodedatanames, nodedata);
-//}
 
 
 /*#################################################################################*/
diff --git a/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.h b/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.h
index 43fe611459a2509ddb032cce993b171673fa407f..cf33df096a6e670b65f79831d59927e3d7cea389 100644
--- a/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.h
+++ b/src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 GridVTKWriter.h
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef GridVTKWriter_h
 #define GridVTKWriter_h
 
diff --git a/src/gpu/GridGenerator/io/QLineWriter.cpp b/src/gpu/GridGenerator/io/QLineWriter.cpp
index 6df995b2d5ef73c7797234a61f78810666f675f0..29894e8d589fb59c1dbf57e08692dddfc03619a1 100644
--- a/src/gpu/GridGenerator/io/QLineWriter.cpp
+++ b/src/gpu/GridGenerator/io/QLineWriter.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 QLineWriter.cpp
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "QLineWriter.h"
 
 #include <vector>
diff --git a/src/gpu/GridGenerator/io/QLineWriter.h b/src/gpu/GridGenerator/io/QLineWriter.h
index 01596adbd026404db74d7029218d90171b3b09dc..c7fed1a8ff16e81398e18c7fdde347cd09a93452 100644
--- a/src/gpu/GridGenerator/io/QLineWriter.h
+++ b/src/gpu/GridGenerator/io/QLineWriter.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 QLineWriter.h
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef QLINEWRITER_H
 #define QLINEWRITER_H
 
diff --git a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp
index 3f41f66ae70ae669d406deb3bc110f0f2047ab82..3e91d882948eb3627dd78ded1e85875205eb8051 100644
--- a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp
+++ b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 STLReader.cpp
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #define _CRT_SECURE_NO_DEPRECATE
 #include "STLReader.h"
 
diff --git a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h
index 3e7beef8c6b0d81c454d2ca6fec5fca5d0d7f6d4..333313727530ae551c76a76984cd63f6cd0f11ce 100644
--- a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h
+++ b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 STLReader.h
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef STLReader_H
 #define STLReader_H
 
diff --git a/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.cpp b/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.cpp
index 36e099c61d495f7402c68e581e4c68e194dad6b4..e29320cbd6867e1ae5a65cf41623780cd83aead7 100644
--- a/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.cpp
+++ b/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 STLWriter.cpp
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #define _CRT_SECURE_NO_DEPRECATE
 #include "STLWriter.h"
 
diff --git a/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.h b/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.h
index c6185480237cf5a8dab0fc8c9b71044a420fd70c..4ba87fd82e147fd94507d5557a078f5c581c6d07 100644
--- a/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.h
+++ b/src/gpu/GridGenerator/io/STLReaderWriter/STLWriter.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 STLWriter.h
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef STLWriter_H
 #define STLWriter_H
 
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp
index 7cf2412a35ca15ac63ae36ad55dbed58cf9cec5a..34b6b1d3c30b15333afb0afeb5d35d2894e07e52 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SimulationFileNames.cpp
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "SimulationFileNames.h"
 
 const std::string fileEnding = ".dat";
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h
index fdc09047f7037d60df1f3de5c33be57137c06286..4be5b44bd4760764da672239052e17bd406316d3 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SimulationFileNames.h
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef SimulationFileNames_H
 #define SimulationFileNames_H
 
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp
index 5921f5be08a23f9b3fa1f4e0b28c66e0f1ba4c56..320a6e5fb7bb8e52a335722bca71d7d6a2a0c6de 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SimulationFileWriter.cpp
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #define _CRT_SECURE_NO_DEPRECATE
 #include "SimulationFileWriter.h"
 
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h
index ef9110880bcb480903535e2a281285c382592fb1..d5d2a377b33697704b86f8b78987fd0af75be415 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 SimulationFileWriter.h
+//! \ingroup io
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef SimulationFileWriter_H
 #define SimulationFileWriter_H
 
diff --git a/src/gpu/GridGenerator/io/VTKWriterWrapper/PolyDataWriterWrapper.cpp b/src/gpu/GridGenerator/io/VTKWriterWrapper/PolyDataWriterWrapper.cpp
deleted file mode 100644
index 3ce6742b1615e80e028b10b24870e593a3672819..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/io/VTKWriterWrapper/PolyDataWriterWrapper.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//#include "PolyDataWriterWrapper.h"
-//
-//#include <VTKWriter/PolyDataWriter/PolyDataWriterImp.h>
-//
-//#include <GridGenerator/geometries/Arrow/Arrow.h>
-//#include <GridGenerator/geometries/Vertex/Vertex.h>
-//
-//
-//PolyDataWriterWrapper::PolyDataWriterWrapper()
-//{
-//	writer = std::shared_ptr<PolyDataWriter>(new PolyDataWriterImp());
-//}
-//
-//PolyDataWriterWrapper::~PolyDataWriterWrapper()
-//{
-//
-//}
-//
-//void PolyDataWriterWrapper::addVectorArrow(std::shared_ptr<const Arrow> arrow)
-//{
-//	double startPoint[] = { arrow->getStart()->x, arrow->getStart()->y, arrow->getStart()->z };
-//	double endPoint[] = { arrow->getEnd()->x, arrow->getEnd()->y, arrow->getEnd()->z };
-//	writer->addVectorArrow(startPoint, endPoint);
-//}
-//
-//void PolyDataWriterWrapper::writePolyDataToFile(const std::string& filename) const
-//{
-//	writer->writePolyDataToFile(filename);
-//}
diff --git a/src/gpu/GridGenerator/io/VTKWriterWrapper/PolyDataWriterWrapper.h b/src/gpu/GridGenerator/io/VTKWriterWrapper/PolyDataWriterWrapper.h
deleted file mode 100644
index c7b3829d65db5520ee0170897d46c540dedcdb24..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/io/VTKWriterWrapper/PolyDataWriterWrapper.h
+++ /dev/null
@@ -1,26 +0,0 @@
-//#ifndef PolyDataWriterWrapper_H
-//#define PolyDataWriterWrapper_H
-//
-//
-//#include <string>
-//#include <memory>
-//
-//class PolyDataWriter;
-//class Arrow;
-//
-//class PolyDataWriterWrapper
-//{
-//public:
-//	GRIDGENERATOR_EXPORT PolyDataWriterWrapper();
-//	GRIDGENERATOR_EXPORT ~PolyDataWriterWrapper();
-//
-//	GRIDGENERATOR_EXPORT virtual void addVectorArrow(std::shared_ptr<const Arrow> arrow);
-//	GRIDGENERATOR_EXPORT virtual void writePolyDataToFile(const std::string &filename) const;
-//
-//private:
-//    std::shared_ptr<PolyDataWriter> writer;
-//
-//};
-//
-//
-//#endif
diff --git a/src/gpu/GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.cpp b/src/gpu/GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.cpp
deleted file mode 100644
index b2de0057c2aa8effae238b1c1aba1805ec540939..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-//#define _CRT_SECURE_NO_DEPRECATE
-//#include "UnstructuredGridWrapper.h"
-//#include <iostream>
-//
-//#include <VTKWriter/UnstructuredGridWriter/UnstructuredGridWriter.h>
-//
-//#include <GridGenerator/geometries/Triangle/Triangle.h>
-//#include <GridGenerator/geometries/Vertex/Vertex.h>
-//#include <GridGenerator/geometries/BoundingBox/BoundingBox.h>
-//#include <GridGenerator/grid/Grid.cuh>
-//
-//UnstructuredGridWrapper::UnstructuredGridWrapper()
-//{
-//#ifndef __unix__
-//    this->writer = new UnstructuredGridWriter();
-//#endif
-//}
-//
-//UnstructuredGridWrapper::~UnstructuredGridWrapper()
-//{
-//#ifndef __unix__
-//    delete this->writer;
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addBoundingBox(double boundingBox[6], int type)
-//{
-//#ifndef __unix__
-//    this->writer->addBoundingBox(boundingBox, type);
-//#endif
-//}
-//
-//template <typename T>
-//void UnstructuredGridWrapper::addBoundingBox(BoundingBox<T> box, int type)
-//{
-//#ifndef __unix__
-//    double b[6] = {box.minX,box.maxX,box.minY,box.maxY,box.minZ,box.maxZ };
-//    this->writer->addBoundingBox(b, type);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addVoxel(double node[3], double nodeNX[3], double nodeNY[3], double nodeNZ[3], double nodeNYNX[3], double nodeNZNY[3], double nodeNZNX[3], double nodeNZNYNX[3], int nodeTypes[8])
-//{
-//#ifndef __unix__
-//    this->writer->addVoxel(node, nodeNX, nodeNY, nodeNZ, nodeNYNX, nodeNZNY, nodeNZNX, nodeNZNYNX, nodeTypes);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addTriangle(double v1[3], double v2[3], double v3[3], int type[3])
-//{
-//#ifndef __unix__
-//    this->writer->addTriangle(v1, v2, v3, type);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addTriangle(Triangle t, int type[3])
-//{
-//#ifndef __unix__
-//    double v1[3] = { t.v1.x, t.v1.y, t.v1.z };
-//    double v2[3] = { t.v2.x, t.v2.y, t.v2.z };
-//    double v3[3] = { t.v3.x, t.v3.y, t.v3.z };
-//
-//    this->writer->addTriangle(v1, v2, v3, type);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addTriangles(std::vector<Triangle> triangles)
-//{
-//#ifndef __unix__
-//    for (int i = 0; i < triangles.size(); i++) {
-//        double v1[3] = { triangles[i].v1.x, triangles[i].v1.y, triangles[i].v1.z };
-//        double v2[3] = { triangles[i].v2.x, triangles[i].v2.y, triangles[i].v2.z };
-//        double v3[3] = { triangles[i].v3.x, triangles[i].v3.y, triangles[i].v3.z };
-//
-//        this->writer->addTriangle(v1, v2, v3, 0);
-//    }
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addGridPoints(double grid[], int nx, int ny, int nz)
-//{
-//#ifndef __unix__
-//    this->writer->addGridPoints(grid, nx, ny, nz);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addGridPoint(int x, int y, int z, int type)
-//{
-//#ifndef __unix__
-//    this->writer->addGridPoint(x, y, z, type);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::addGridPoint(Vertex v, int type)
-//{
-//#ifndef __unix__
-//    this->writer->addGridPoint((int)v.x, (int)v.y, (int)v.z, type);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::writeUnstructuredGridToFile(std::string filename)
-//{
-//#ifndef __unix__
-//    std::string path = PATH_TO_DATA;
-//    filename = path + filename;
-//    this->writer->writeUnstructuredGridToFile(filename);
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::displayUnstructuredGrid()
-//{
-//#ifndef __unix__
-//    this->writer->displayUnstructuredGrid();
-//#endif
-//}
-//
-//void UnstructuredGridWrapper::displayUnstructuredGrid(std::string filename)
-//{
-//#ifndef __unix__
-//    std::string path = PATH_TO_DATA;
-//    filename = path + filename;
-//    this->writer->displayUnstructuredGrid(filename);
-//#endif
-//}
-//template <typename T>
-//void UnstructuredGridWrapper::writeBoxesToFile(std::vector<BoundingBox<T>> boxes, std::string name)
-//{
-//#ifndef __unix__
-//	UnstructuredGridWrapper writer;
-//	for (int i = 0; i < boxes.size(); i++) {
-//		writer.addBoundingBox(boxes[i], 0);
-//	}
-//	writer.writeUnstructuredGridToFile(name);
-//#endif
-//}
-//
-//template void UnstructuredGridWrapper::addBoundingBox(BoundingBox b, int type);
diff --git a/src/gpu/GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.h b/src/gpu/GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.h
deleted file mode 100644
index 6e13ba9ddfcb2ccce633f700ad04e0ec27642f4f..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/io/VTKWriterWrapper/UnstructuredGridWrapper.h
+++ /dev/null
@@ -1,53 +0,0 @@
-//#ifndef UnstructuredGridWrapper_H
-//#define UnstructuredGridWrapper_H
-//
-//
-//#include <string>
-//#include <vector>
-//
-//class UnstructuredGridWriter;
-//struct Triangle;
-//
-//template <class T>
-//class BoundingBox;
-//struct Vertex;
-//class Grid;
-//
-//class GRIDGENERATOR_EXPORT UnstructuredGridWrapper
-//{
-//public:
-//    UnstructuredGridWrapper();
-//    ~UnstructuredGridWrapper();
-//
-//    void addBoundingBox(double boundingBox[6], int type);
-//	template <typename T>
-//    void addBoundingBox(BoundingBox<T> b, int type);
-//    void addVoxel(double node[3], double nodeNX[3], double nodeNY[3], double nodeNZ[3],
-//        double nodeNYNX[3], double nodeNZNY[3], double nodeNZNX[3], double nodeNZNYNX[3], int nodeTypes[8]);
-//
-//    void addTriangle(double v1[3], double v2[3], double v3[3], int type[3]);
-//    void addTriangle(Triangle t, int type[3]);
-//    void addTriangles(std::vector<Triangle> triangles);
-//
-//    void addGridPoints(double grid[], int nx, int ny, int nz);
-//
-//    void addGridPoint(int x, int y, int z, int type);
-//    void addGridPoint(Vertex v, int type);
-//
-//    void writeUnstructuredGridToFile(std::string filename);
-//	
-//    void displayUnstructuredGrid();
-//    void displayUnstructuredGrid(std::string filename);
-//
-//	template <typename T>
-//	static void writeBoxesToFile(std::vector<BoundingBox<T>>, std::string name);
-//
-//private:
-//#ifndef __unix__
-//    UnstructuredGridWriter *writer;
-//#endif
-//
-//};
-//
-//
-//#endif
diff --git a/src/gpu/GridGenerator/utilities/communication.h b/src/gpu/GridGenerator/utilities/communication.h
index 23dbd0832cd17a0a22ac8bf6f58965bd9d6199c9..11a1085f6a21db1dfb26025514d8b3a9501fba5e 100644
--- a/src/gpu/GridGenerator/utilities/communication.h
+++ b/src/gpu/GridGenerator/utilities/communication.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Communication.h
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef Communication_H
 #define Communication_H
 
diff --git a/src/gpu/GridGenerator/utilities/cuda/CudaErrorCheck.cu b/src/gpu/GridGenerator/utilities/cuda/CudaErrorCheck.cu
deleted file mode 100644
index 1d06e178332933a1dd88b1de7095de36601cd5ab..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/utilities/cuda/CudaErrorCheck.cu
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef CudaErrorCheck_cu
-#define CudaErrorCheck_cu
-
-
-#include "cuda.h"
-#include "cuda_runtime.h"
-#include "device_launch_parameters.h"
-#include <stdio.h>
-
-#define CUDA_ERROR_CHECK
-
-#define CudaSafeCall( err ) __cudaSafeCall( err, __FILE__, __LINE__ )
-#define CudaCheckError()    __cudaCheckError( __FILE__, __LINE__ )
-
-inline void __cudaSafeCall(cudaError err, const char *file, const int line)
-{
-#ifdef CUDA_ERROR_CHECK
-	if (cudaSuccess != err)
-	{
-		fprintf(stderr, "cudaSafeCall() failed at %s:%i : %s\n",
-			file, line, cudaGetErrorString(err));
-		exit(-1);
-	}
-#endif
-
-	return;
-}
-
-inline void __cudaCheckError(const char *file, const int line)
-{
-#ifdef CUDA_ERROR_CHECK
-	cudaError err = cudaGetLastError();
-	if (cudaSuccess != err)
-	{
-		fprintf(stderr, "cudaCheckError() failed at %s\nline:%i : %s\n",
-			file, line, cudaGetErrorString(err));
-		fprintf(stderr, "CudaError: %d\n", err);
-		exit(-1);
-	}
-
-	// More careful checking. However, this will affect performance.
-	// Comment away if needed.
-	err = cudaDeviceSynchronize();
-	if (cudaSuccess != err)
-	{
-		fprintf(stderr, "cudaCheckError() with sync failed at %s:%i : %s\n",
-			file, line, cudaGetErrorString(err));
-		exit(-1);
-	}
-#endif
-
-	return;
-}
-
-#endif
diff --git a/src/gpu/GridGenerator/utilities/cuda/LaunchParameter.cu b/src/gpu/GridGenerator/utilities/cuda/LaunchParameter.cu
deleted file mode 100644
index ce137159240e81a01663d4122edc5532c9da71bd..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/utilities/cuda/LaunchParameter.cu
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "LaunchParameter.cuh"
-
-#define MAXBLOCKSIZE 65535
-
-LaunchParameter::LaunchParameter()
-{
-
-}
-
-LaunchParameter LaunchParameter::make_2D1D_launchParameter(int size, int threadDim)
-{
-	LaunchParameter para;
-	para.threads = dim3(threadDim, 1, 1);
-
-	int blocks_ = (int)(ceil((size / ((real)threadDim))));
-	para.blocks = dim3(blocks_, 1, 1);
-
-	if (blocks_ > MAXBLOCKSIZE) {
-		blocks_ = (int)sqrt((double)blocks_);
-		para.blocks = dim3(blocks_, blocks_, 1);
-	}
-	return para;
-}
-
-LaunchParameter LaunchParameter::make_1D1D_launchParameter(int size, int threadDim)
-{
-	LaunchParameter para;
-	para.threads = dim3(threadDim, 1, 1);
-	int blocks_ = (int)(ceil((real)size / (real)threadDim));
-	para.blocks = dim3(blocks_, 1);
-	return para;
-}
-
-__device__ int LaunchParameter::getGlobalIdx_2D_1D()
-{
-	int blockId = blockIdx.y * gridDim.x + blockIdx.x;
-	int threadId = blockId * blockDim.x + threadIdx.x;
-	return threadId;
-}
-
-__device__ int LaunchParameter::getGlobalIdx_1D_1D() {
-	return blockIdx.x *blockDim.x + threadIdx.x;
-}
-
-void LaunchParameter::print() const
-{
-	*logging::out << logging::Logger::INFO_INTERMEDIATE << "blocks: (" << blocks.x << ", " << blocks.y << ", " << blocks.z << ")"
-		<< ", threads: (" << threads.x << ", " << threads.y << ", " << threads.z << ")\n";
-}
diff --git a/src/gpu/GridGenerator/utilities/cuda/LaunchParameter.cuh b/src/gpu/GridGenerator/utilities/cuda/LaunchParameter.cuh
deleted file mode 100644
index 5029b0c52d123ffa035dd95712b9929820528529..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/utilities/cuda/LaunchParameter.cuh
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef kernelHelper_CUH
-#define kernelHelper_CUH
-
-#include <cuda.h>
-#include <cuda_runtime.h>
-#include <device_launch_parameters.h>
-#include <stdio.h>
-
-#include "global.h"
-
-class LaunchParameter
-{
-public:
-	GRIDGENERATOR_EXPORT LaunchParameter();
-
-	GRIDGENERATOR_EXPORT static LaunchParameter make_2D1D_launchParameter(int size, int threadDim);
-	GRIDGENERATOR_EXPORT static LaunchParameter make_1D1D_launchParameter(int size, int threadDim);
-
-	static int getGlobalIdx_2D_1D();
-	static int getGlobalIdx_1D_1D();
-
-	void print() const;
-
-	dim3 threads;
-	dim3 blocks;
-};
-
-
-#endif
diff --git a/src/gpu/GridGenerator/utilities/cuda/cudaDefines.h b/src/gpu/GridGenerator/utilities/cuda/cudaDefines.h
deleted file mode 100644
index b20401ef493c16d413f41db91c42c102e63d7d2f..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/utilities/cuda/cudaDefines.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef CUDA_DEFINES_H
-#define CUDA_DEFINES_H
-
-#include <cuda_runtime.h>
-#include <stdio.h>
-
-#define CUDA_HOST __host__
-#define DEVICE __device__
-#define GLOBAL __global__
-#define CONSTANT __constant__
-
-
-#define HOSTDEVICE CUDA_HOST DEVICE
-
-static void printCudaInformation(int i) {
-    cudaDeviceProp prop;
-    cudaGetDeviceProperties(&prop, i);
-    printf(" --- General Information for device %d ---\n", i);
-    printf("Name: %s\n", prop.name);
-    printf("Compute capability: %d.%d\n", prop.major, prop.minor);
-    printf("Clock rate: %d\n", prop.clockRate);
-    printf("Device copy overlap: ");
-    if (prop.deviceOverlap)
-        printf("Enabled\n");
-    else
-        printf("Disabled\n");
-    printf("Kernel execition timeout : ");
-    if (prop.kernelExecTimeoutEnabled)
-        printf("Enabled\n");
-    else
-        printf("Disabled\n");
-    printf(" --- Memory Information for device %d ---\n", i);
-    printf("Total global mem: %zu\n", prop.totalGlobalMem);
-    printf("Total constant Mem: %zu\n", prop.totalConstMem);
-    printf("Max mem pitch: %zu\n", prop.memPitch);
-    printf("Texture Alignment: %zu\n", prop.textureAlignment);
-    printf("max Texture 1D: %d\n", prop.maxTexture1D);
-    printf("max Texture 2D: %d, %d\n", prop.maxTexture2D[0], prop.maxTexture2D[1]);
-    printf("max Texture 3D: %d, %d, %d\n", prop.maxTexture3D[0], prop.maxTexture3D[1], prop.maxTexture3D[2]);
-    printf(" --- MP Information for device %d ---\n", i);
-    printf("Multiprocessor count: %d\n",
-        prop.multiProcessorCount);
-    printf("Shared mem per mp: %zd\n", prop.sharedMemPerBlock);
-    printf("Registers per mp: %d\n", prop.regsPerBlock);
-    printf("Threads in warp: %d\n", prop.warpSize);
-    printf("Max threads per block: %d\n",
-        prop.maxThreadsPerBlock);
-    printf("Max thread dimensions: (%d, %d, %d)\n",
-        prop.maxThreadsDim[0], prop.maxThreadsDim[1],
-        prop.maxThreadsDim[2]);
-    printf("Max grid dimensions: (%d, %d, %d)\n",
-        prop.maxGridSize[0], prop.maxGridSize[1],
-        prop.maxGridSize[2]);
-    printf(" --- -------------------------------- ---\n");
-    printf("\n");
-
-    cudaSetDevice(i);
-    size_t free;
-    size_t total;
-    cudaMemGetInfo(&free, &total);
-    printf("Free: %zu Bytes, Total: %zu Bytes\n", free, total);
-    printf("Free: %zu MB, Total: %zu MB\n", free / 1000 / 1000, total / 1000 / 1000);
-    //cudaDeviceSetLimit(cudaLimitMallocHeapSize, free);
-}
-
-#endif 
diff --git a/src/gpu/GridGenerator/utilities/cuda/cudaKernelCall.h b/src/gpu/GridGenerator/utilities/cuda/cudaKernelCall.h
deleted file mode 100644
index 5911977428cda9acd5e2190a4b5c1579e08a211f..0000000000000000000000000000000000000000
--- a/src/gpu/GridGenerator/utilities/cuda/cudaKernelCall.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef cudaKernelCall_H
-#define cudaKernelCall_H
-
-#include "utilities/cuda/cudaDefines.h"
-#include "utilities/cuda/CudaErrorCheck.cu"
-#include "utilities/cuda/LaunchParameter.cuh"
-
-template<typename Functor, typename... TArgs>
-CUDA_HOST float runKernel(Functor kernel, const LaunchParameter& para, TArgs... args)
-{
-	para.print();
-
-	cudaEvent_t start, stop;
-	cudaEventCreate(&start);
-	cudaEventCreate(&stop);
-
-	cudaEventRecord(start, 0);
-	kernel << < para.blocks, para.threads >> >(args...);
-	CudaCheckError();
-	cudaDeviceSynchronize();
-	cudaEventRecord(stop, 0);
-
-	cudaEventSynchronize(stop);
-	float elapsedTime;
-	cudaEventElapsedTime(&elapsedTime, start, stop);
-	cudaEventDestroy(start);
-	cudaEventDestroy(stop);
-
-	return elapsedTime;
-}
-
-
-#endif 
diff --git a/src/gpu/GridGenerator/utilities/math/Math.cu b/src/gpu/GridGenerator/utilities/math/Math.cpp
similarity index 99%
rename from src/gpu/GridGenerator/utilities/math/Math.cu
rename to src/gpu/GridGenerator/utilities/math/Math.cpp
index 404ecaf33d5dd21e0b789468b6d0e9858c3bc640..0f5f5cc8e05c9ce08a2854c0354371e18964610e 100644
--- a/src/gpu/GridGenerator/utilities/math/Math.cu
+++ b/src/gpu/GridGenerator/utilities/math/Math.cpp
@@ -26,7 +26,7 @@
 //  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 Math.cu
+//! \file Math.cpp
 //! \ingroup utilities
 //! \author Soeren Peters, Stephan Lenz
 //=======================================================================================
diff --git a/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.cpp b/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.cpp
index 7ec055c5973b1edbdd93cf912cfc17f44ab923ea..74a33c31b4b87edd736e9beea783075906772829 100644
--- a/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.cpp
+++ b/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 ArrowTransformator.h
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "ArrowTransformator.h"
 
 #include "utilities/transformator/TransformatorImp.h"
diff --git a/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h b/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h
index 186b66838c3aa7398a7fc8a494c3f41372c30727..ad80114945c9e9be4cc38afa46c493edc1c55b66 100644
--- a/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h
+++ b/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 ArrowTransformator.h
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef ArrowTransformator_h
 #define ArrowTransformator_h
 
diff --git a/src/gpu/GridGenerator/utilities/transformator/Transformator.cpp b/src/gpu/GridGenerator/utilities/transformator/Transformator.cpp
index 4f59dc64856ac2e1023363ff6b6a1d1063893fe8..7e854c4baa21bb6d59834b2e099c5857389fd50c 100644
--- a/src/gpu/GridGenerator/utilities/transformator/Transformator.cpp
+++ b/src/gpu/GridGenerator/utilities/transformator/Transformator.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Transformator.cpp
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "Transformator.h"
 
 #include "utilities/transformator/TransformatorImp.h"
diff --git a/src/gpu/GridGenerator/utilities/transformator/Transformator.h b/src/gpu/GridGenerator/utilities/transformator/Transformator.h
index 0f092ddb90ce0ea60aed6b17edc415596669422c..9510e818f3467bc4346fc9e8ece58a83c139e11d 100644
--- a/src/gpu/GridGenerator/utilities/transformator/Transformator.h
+++ b/src/gpu/GridGenerator/utilities/transformator/Transformator.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 Transformator.h
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef Transformator_h
 #define Transformator_h
 
diff --git a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp
index 224dda4971cac288e9f354b772d42100c5cf4284..3c7a3b675104eabab89c59d481797ff41b2033c8 100644
--- a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp
+++ b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TransformatorImp.cpp
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #include "TransformatorImp.h"
 
 #include <memory>
diff --git a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h
index 626abacaf1c75c406c7f8fbe830f86fa0d679adf..81ba5a25badc879aa501256ed67eed0a4b39961c 100644
--- a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h
+++ b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h
@@ -1,3 +1,35 @@
+//=======================================================================================
+// ____          ____    __    ______     __________   __      __       __        __
+// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
+//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
+//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
+//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
+//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
+//      \    \  |    |   ________________________________________________________________
+//       \    \ |    |  |  ______________________________________________________________|
+//        \    \|    |  |  |         __          __     __     __     ______      _______
+//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
+//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
+//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
+//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
+//
+//  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 TransformatorImp.h
+//! \ingroup utilities
+//! \author Soeren Peters, Stephan Lenz
+//=======================================================================================
 #ifndef TransformatorImp_h
 #define TransformatorImp_h