diff --git a/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cfg b/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cfg index 2f1819fe7d96997161ea7dabe552cda3571383f7..ec46b73f0d70caf91515705e82b420cb38ba04f8 100644 --- a/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cfg +++ b/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cfg @@ -5,7 +5,7 @@ numOfThreads = 16 length = 128 64 64 blocknx = 16 16 16 dx = 1 -refineLevel = 0 +refineLevel = 1 #Simulation newStart = true diff --git a/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cpp b/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cpp index cb7861d344f0bc550012f22a8e01b02edc742f1e..ce2b7aacbe9ade5a66f17ad9acada6fbadbee01b 100644 --- a/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cpp +++ b/apps/cpu/LaminarPipeFlow/LaminarPipeFlow.cpp @@ -143,13 +143,10 @@ void run(string configname) SPtr<GbObject3D> gridCube(new GbCuboid3D(g_minX1, g_minX2, g_minX3, g_maxX1, g_maxX2, g_maxX3)); if (myid == 0) GbSystem3D::writeGeoObject(gridCube.get(), pathname + "/geo/gridCube", WbWriterVtkXmlBinary::getInstance()); - real blockLength = blocknx[0] * dx; - - + real blockLength = 3. * dx; grid->setDeltaX(dx); grid->setBlockNX(blocknx[0], blocknx[1], blocknx[2]); - grid->setPeriodicX1(false); grid->setPeriodicX2(false); grid->setPeriodicX3(false); @@ -159,6 +156,30 @@ void run(string configname) GenBlocksGridVisitor genBlocks(gridCube); grid->accept(genBlocks); + SPtr<GbObject3D> refineCube1_1(new GbCuboid3D(g_minX1, g_minX2, g_minX3, g_maxX1, g_minX2 + blockLength, g_maxX3)); + if (myid == 0) GbSystem3D::writeGeoObject(refineCube1_1.get(), pathname + "/geo/refineCube1_1", WbWriterVtkXmlBinary::getInstance()); + + SPtr<GbObject3D> refineCube1_2(new GbCuboid3D(g_minX1, g_maxX2 - blockLength, g_minX3, g_maxX1, g_maxX2, g_maxX3)); + if (myid == 0) GbSystem3D::writeGeoObject(refineCube1_2.get(), pathname + "/geo/refineCube1_2", WbWriterVtkXmlBinary::getInstance()); + + SPtr<GbObject3D> refineCube1_3(new GbCuboid3D(g_minX1, g_minX2, g_minX3, g_maxX1, g_maxX2, g_minX3 + blockLength)); + if (myid == 0) GbSystem3D::writeGeoObject(refineCube1_3.get(), pathname + "/geo/refineCube1_3", WbWriterVtkXmlBinary::getInstance()); + + SPtr<GbObject3D> refineCube1_4(new GbCuboid3D(g_minX1, g_minX2, g_maxX3 - blockLength, g_maxX1, g_maxX2, g_maxX3)); + if (myid == 0) GbSystem3D::writeGeoObject(refineCube1_4.get(), pathname + "/geo/refineCube1_4", WbWriterVtkXmlBinary::getInstance()); + + if (refineLevel > 0) + { + if (myid == 0) UBLOG(logINFO, "Refinement - start"); + RefineCrossAndInsideGbObjectHelper refineHelper(grid, refineLevel, comm); + refineHelper.addGbObject(refineCube1_1, 1); + refineHelper.addGbObject(refineCube1_2, 1); + refineHelper.addGbObject(refineCube1_3, 1); + refineHelper.addGbObject(refineCube1_4, 1); + refineHelper.refine(); + if (myid == 0) UBLOG(logINFO, "Refinement - end"); + } + //inflow GbCuboid3DPtr geoInflow(new GbCuboid3D(g_minX1-blockLength, g_minX2-blockLength, g_minX3-blockLength, g_minX1, g_maxX2+blockLength, g_maxX3+blockLength)); if (myid==0) GbSystem3D::writeGeoObject(geoInflow.get(), pathname+"/geo/geoInflow", WbWriterVtkXmlASCII::getInstance()); @@ -167,10 +188,6 @@ void run(string configname) GbCuboid3DPtr geoOutflow(new GbCuboid3D(g_maxX1, g_minX2-blockLength, g_minX3-blockLength, g_maxX1+blockLength, g_maxX2+blockLength, g_maxX3+blockLength)); if (myid==0) GbSystem3D::writeGeoObject(geoOutflow.get(), pathname+"/geo/geoOutflow", WbWriterVtkXmlASCII::getInstance()); - SPtr<SimulationObserver> ppblocks(new WriteBlocksSimulationObserver(grid, SPtr<UbScheduler>(new UbScheduler(1)), pathname, WbWriterVtkXmlBinary::getInstance(), comm)); - - ppblocks->update(0); - SPtr<D3Q27Interactor> cylinderInt(new D3Q27Interactor(cylinder, grid, noSlipBC, Interactor3D::INVERSESOLID)); SPtr<D3Q27Interactor> inflowInt = SPtr<D3Q27Interactor>(new D3Q27Interactor(geoInflow, grid, pressureBC1, Interactor3D::SOLID)); @@ -183,6 +200,7 @@ void run(string configname) intHelper.addInteractor(outflowInt); intHelper.selectBlocks(); + SPtr<SimulationObserver> ppblocks(new WriteBlocksSimulationObserver(grid, SPtr<UbScheduler>(new UbScheduler(1)), pathname, WbWriterVtkXmlBinary::getInstance(), comm)); ppblocks->update(0); ppblocks.reset(); diff --git a/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp b/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp index 0275eec7186329bfb41c1b1ca62f4de5ae67efa6..007da1dcbbb2755208f3b4420ccea9437a6ee2e0 100644 --- a/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp +++ b/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp @@ -49,36 +49,36 @@ int main(int /*argc*/, char* /*argv*/[]) // set your output path here string path = "./output/LidDrivenCavity"; - const double L = 1.0; - const double Re = 1000.0; - const double velocity = 1.0; - const double dt = 0.5e-3; + const real L = 1.0; + const real Re = 1000.0; + const real velocity = 1.0; + const real dt = 0.5e-3; const unsigned int nx = 64; - const double timeStepOut = 10; - const double timeStepEnd = 10; + const real timeStepOut = 10; + const real timeStepEnd = 10; // Number of OpenMP threads int numOfThreads = 1; ////////////////////////////////////////////////////////////////////////// - double dx = L / double(nx); - const double velocityLB = velocity * dt / dx; // LB units - const double u = velocityLB / sqrt(2.0); // LB units - const double viscosityLB = nx * velocityLB / Re; // LB unit + real dx = L / real(nx); + const real velocityLB = velocity * dt / dx; // LB units + const real u = velocityLB / sqrt(2.0); // LB units + const real viscosityLB = nx * velocityLB / Re; // LB unit ////////////////////////////////////////////////////////////////////////// // create grid ////////////////////////////////////////////////////////////////////////// // bounding box - double g_minX1 = -0.5; - double g_minX2 = -0.5; - double g_minX3 = -0.5; + real g_minX1 = -0.5; + real g_minX2 = -0.5; + real g_minX3 = -0.5; - double g_maxX1 = 0.5; - double g_maxX2 = 0.5; - double g_maxX3 = 0.5; + real g_maxX1 = 0.5; + real g_maxX2 = 0.5; + real g_maxX3 = 0.5; SPtr<vf::parallel::Communicator> comm = vf::parallel::MPICommunicator::getInstance(); int myid = comm->getProcessID(); diff --git a/src/cpu/VirtualFluids.h b/src/cpu/VirtualFluids.h index 210cfcd8bc6c31ebf04ff64d279ca20939ac6a96..5388e0324247a1225bc9636cbf325ed534598564 100644 --- a/src/cpu/VirtualFluids.h +++ b/src/cpu/VirtualFluids.h @@ -293,7 +293,7 @@ #include <Visitors/BoundaryConditionsBlockVisitor.h> #include <Visitors/ChangeBoundaryDensityBlockVisitor.h> #include <InitDistributionsWithInterpolationGridVisitor.h> -#include <InitThixotropyBlockVisitor.h> + #include <CheckRatioBlockVisitor.h> #include <SpongeLayerBlockVisitor.h> diff --git a/src/cpu/core/BoundaryConditions/BC.cpp b/src/cpu/core/BoundaryConditions/BC.cpp index f6bc5c635736d6faa7652303187899cee76349ea..a69332c412909dd347c8bcd58e1b06c5ac7f29e9 100644 --- a/src/cpu/core/BoundaryConditions/BC.cpp +++ b/src/cpu/core/BoundaryConditions/BC.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 BC.cpp +//! \ingroup BoundarConditions +//! \author Sören Freudiger +//======================================================================================= #include "BC.h" char BC::keyCounter = 0; \ No newline at end of file diff --git a/src/cpu/core/BoundaryConditions/BCSet.cpp b/src/cpu/core/BoundaryConditions/BCSet.cpp index c9939eea1adae1a806b0e82339cbaf7b7b3552f0..1ef81a3218aea5dbc80819a31c97e6ea61b8059c 100644 --- a/src/cpu/core/BoundaryConditions/BCSet.cpp +++ b/src/cpu/core/BoundaryConditions/BCSet.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 BCSet.h +//! \file BCSet.cpp //! \ingroup BoundarConditions //! \author Konstantin Kutscher //======================================================================================= diff --git a/src/cpu/core/BoundaryConditions/BCStrategyRegistry.cpp b/src/cpu/core/BoundaryConditions/BCStrategyRegistry.cpp index 4742753d0b19a117a8d50dce0243c07df0d92bc0..c56519fd00508ebb79877a3f9af65b29dfff9106 100644 --- a/src/cpu/core/BoundaryConditions/BCStrategyRegistry.cpp +++ b/src/cpu/core/BoundaryConditions/BCStrategyRegistry.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 BCStrategyRegistry.cpp +//! \ingroup BoundarConditions +//! \author Konstantin Kutscher +//======================================================================================= + #include "BCStrategyRegistry.h" #include "BC.h" #include "BCStrategy.h" diff --git a/src/cpu/core/BoundaryConditions/BoundaryConditions.cpp b/src/cpu/core/BoundaryConditions/BoundaryConditions.cpp index abaf5480802c384d963134580c2408808a0885cd..8bda4d93b74c1cc77bad9cf8bcbae5c1eabeeb69 100644 --- a/src/cpu/core/BoundaryConditions/BoundaryConditions.cpp +++ b/src/cpu/core/BoundaryConditions/BoundaryConditions.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 BoundaryConditions.h +//! \file BoundaryConditions.cpp //! \ingroup BoundarConditions //! \author Sören Freudiger //======================================================================================= diff --git a/src/cpu/core/BoundaryConditions/NoSlipBC.h b/src/cpu/core/BoundaryConditions/NoSlipBC.h index 28c1f2ed132b6c144f317044e021cf909e81efd8..3dde2755ac700c4a5b80be07d05bab20253f1544 100644 --- a/src/cpu/core/BoundaryConditions/NoSlipBC.h +++ b/src/cpu/core/BoundaryConditions/NoSlipBC.h @@ -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 NoSlipBC.cpp +//! \file NoSlipBC.h //! \ingroup BoundarConditions //! \author Sören Freudiger //======================================================================================= diff --git a/src/cpu/core/BoundaryConditions/SlipBC.cpp b/src/cpu/core/BoundaryConditions/SlipBC.cpp index 50b0cbc390cd99b77faa435cba30d8afde88d22c..2f2602bbbdef197635adf8dd41821c762c51151e 100644 --- a/src/cpu/core/BoundaryConditions/SlipBC.cpp +++ b/src/cpu/core/BoundaryConditions/SlipBC.cpp @@ -35,16 +35,6 @@ #include "D3Q27System.h" #include "geometry3d/GbCuboid3D.h" -//*==========================================================*/ -// ObObject* D3Q27SlipBCCreator::createObObject() -//{ -// return new D3Q27SlipBC; -//} -//*==========================================================*/ -// ObObjectCreator* D3Q27SlipBC::getCreator() -//{ -// return D3Q27SlipBCCreator::getInstance(); -//} //*==========================================================*/ void SlipBC::adaptBC(const D3Q27Interactor &interactor, SPtr<BoundaryConditions> bc, const real & /*worldX1*/, const real & /*worldX2*/, const real & /*worldX3*/, const real & /*time*/) diff --git a/src/cpu/core/BoundaryConditions/SlipBC.h b/src/cpu/core/BoundaryConditions/SlipBC.h index 8e8788db8ded7a2f9eb0e47135f9babbc69e37da..687ea9bac85ec344793eae9f97fc95ff20934657 100644 --- a/src/cpu/core/BoundaryConditions/SlipBC.h +++ b/src/cpu/core/BoundaryConditions/SlipBC.h @@ -35,29 +35,6 @@ #include "BC.h" -/*=======================================================*/ -// D3Q27SlipBCCreator -// class D3Q27SlipBCCreator : public ObObjectCreator -//{ -// public: -// static D3Q27SlipBCCreator* getInstance() -// { -// static D3Q27SlipBCCreator instance; -// return &instance; -// } -// -// ObObject* createObObject(); -// -// std::string getTypeID() { return "D3Q27SlipBC";} -// std::string toString() { return "D3Q27SlipBCCreator"; } -// -// private: -// D3Q27SlipBCCreator( const D3Q27SlipBCCreator& ); //no copy allowed -// const D3Q27SlipBCCreator& operator=( const D3Q27SlipBCCreator& ); //no copy allowed -// D3Q27SlipBCCreator() : ObObjectCreator() {} -//}; -// - class SlipBC : public BC { public: diff --git a/src/cpu/core/BoundaryConditions/SlipBounceBack.h b/src/cpu/core/BoundaryConditions/SlipBounceBack.h index 923ab2002f396396bf2d97722f9a37e6e2cc1989..072c0661e91b86921a30ac8f81806e9d97a19843 100644 --- a/src/cpu/core/BoundaryConditions/SlipBounceBack.h +++ b/src/cpu/core/BoundaryConditions/SlipBounceBack.h @@ -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 VelocityBounceBack.h +//! \file SlipBounceBack.h //! \ingroup BoundarConditions //! \author Konstantin Kutscher //======================================================================================= diff --git a/src/cpu/core/BoundaryConditions/SlipInterpolated.cpp b/src/cpu/core/BoundaryConditions/SlipInterpolated.cpp index 81978d610e1599397b70e3caa7d2055e4f91c01f..3639e6b4f22634f1d7cfafb4e0d3fbac3840b582 100644 --- a/src/cpu/core/BoundaryConditions/SlipInterpolated.cpp +++ b/src/cpu/core/BoundaryConditions/SlipInterpolated.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 SlipInterpolated.cpp +//! \ingroup BoundarConditions +//! \author Konstantin Kutscher +//======================================================================================= + #include "SlipInterpolated.h" #include "BoundaryConditions.h" #include "DistributionArray3D.h" diff --git a/src/cpu/core/BoundaryConditions/SlipInterpolated.h b/src/cpu/core/BoundaryConditions/SlipInterpolated.h index 54f7406cc6fbb53250a175aa0bc936ea07e36887..839419a09d6baddb5f84f2db3aaa8b6ae6daaacf 100644 --- a/src/cpu/core/BoundaryConditions/SlipInterpolated.h +++ b/src/cpu/core/BoundaryConditions/SlipInterpolated.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 SlipInterpolated.h +//! \ingroup BoundarConditions +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef SlipInterpolated_h__ #define SlipInterpolated_h__ diff --git a/src/cpu/core/Connectors/FullVectorConnector.h b/src/cpu/core/Connectors/FullVectorConnector.h index 802a91290cfc0994e1ef2ae33fce78c6a6a4964e..8f26774ee735ffcc0e30122b6242005f7726f650 100644 --- a/src/cpu/core/Connectors/FullVectorConnector.h +++ b/src/cpu/core/Connectors/FullVectorConnector.h @@ -39,10 +39,8 @@ #include "Block3D.h" #include "RemoteBlock3DConnector.h" -// daten werden in einen vector (dieser befindet sich im transmitter) kopiert -// der vector wird via transmitter uebertragen -// transmitter kann ein lokal, MPI, RCG, CTL oder was auch immer fuer ein -// transmitter sein, der von Transmitter abgeleitet ist ;-) +//! \brief Exchange data between blocks. +//! \details Connector send and receive full distributions between two blocks in distributed memory. class FullVectorConnector : public RemoteBlock3DConnector { public: diff --git a/src/cpu/core/Connectors/OneDistributionFullVectorConnector.cpp b/src/cpu/core/Connectors/OneDistributionFullVectorConnector.cpp index 2ce640d47d00836d8b289ccb159a07455c280b45..1997ac02fd6f40991e1f5d738a023173cec99f4c 100644 --- a/src/cpu/core/Connectors/OneDistributionFullVectorConnector.cpp +++ b/src/cpu/core/Connectors/OneDistributionFullVectorConnector.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 OneDistributionFullVectorConnector.cpp +//! \ingroup Connectors +//! \author Konstantin Kutscher +//======================================================================================= + #include "OneDistributionFullVectorConnector.h" #include "DataSet3D.h" #include "LBMKernel.h" diff --git a/src/cpu/core/Connectors/OneDistributionFullVectorConnector.h b/src/cpu/core/Connectors/OneDistributionFullVectorConnector.h index fa0b95f7a90d6da23ee36bae4c7f27b12951cdba..e4ea7d18e297560c672d275dcf2bd8d7607650c7 100644 --- a/src/cpu/core/Connectors/OneDistributionFullVectorConnector.h +++ b/src/cpu/core/Connectors/OneDistributionFullVectorConnector.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 OneDistributionFullVectorConnector.h +//! \ingroup Connectors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef OneDistributionFullVectorConnector_H #define OneDistributionFullVectorConnector_H @@ -13,10 +45,8 @@ #include "basics/container/CbArray3D.h" #include "basics/container/CbArray4D.h" -// daten werden in einen vector (dieser befindet sich im transmitter) kopiert -// der vector wird via transmitter uebertragen -// transmitter kann ein lokal, MPI, RCG, CTL oder was auch immer fuer ein -// transmitter sein, der von Transmitter abgeleitet ist ;-) +//! \brief Exchange data between blocks. +//! \details Connector send and receive full distributions between two blocks in distributed memory. class OneDistributionFullVectorConnector : public FullVectorConnector { public: diff --git a/src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.h b/src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.h index 891536fe66624e85915be768527cd9e4454b3147..c38d27e05b42d97c61ee432df6d43f3c0bf74901 100644 --- a/src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.h +++ b/src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.h @@ -46,10 +46,9 @@ class EsoTwist3D; class Block3D; -//daten werden in einen vector (dieser befindet sich im transmitter) kopiert -//der vector wird via transmitter uebertragen -//transmitter kann ein lokal, MPI, RCG, CTL oder was auch immer fuer ein -//transmitter sein, der von Transmitter abgeleitet ist ;-) +//! \brief Exchange data between blocks. +//! \details Connector send and receive full distributions between two blocks in distributed memory. + class ThreeDistributionsDoubleGhostLayerFullVectorConnector : public FullVectorConnector { public: diff --git a/src/cpu/core/Connectors/ThreeDistributionsFullVectorConnector.h b/src/cpu/core/Connectors/ThreeDistributionsFullVectorConnector.h index 36a698d60aed924bda94fcb772a444e2081b080e..b4ceedd361adf9040e65d408c3c7c15467c2bfdb 100644 --- a/src/cpu/core/Connectors/ThreeDistributionsFullVectorConnector.h +++ b/src/cpu/core/Connectors/ThreeDistributionsFullVectorConnector.h @@ -45,10 +45,8 @@ class EsoTwist3D; class Block3D; -//daten werden in einen vector (dieser befindet sich im transmitter) kopiert -//der vector wird via transmitter uebertragen -//transmitter kann ein lokal, MPI, RCG, CTL oder was auch immer fuer ein -//transmitter sein, der von Transmitter abgeleitet ist ;-) +//! \brief Exchange data between blocks. +//! \details Connector send and receive full distributions between two blocks in distributed memory. class ThreeDistributionsFullVectorConnector : public FullVectorConnector { public: diff --git a/src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.h b/src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.h index 3944f09d6ca9379d1ff3cec9da4945e1579dfb09..52d5995d3f97bfbbac524927ee115ddd44a83430 100644 --- a/src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.h +++ b/src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.h @@ -46,10 +46,9 @@ class EsoTwist3D; class Block3D; -//daten werden in einen vector (dieser befindet sich im transmitter) kopiert -//der vector wird via transmitter uebertragen -//transmitter kann ein lokal, MPI, RCG, CTL oder was auch immer fuer ein -//transmitter sein, der von Transmitter abgeleitet ist ;-) +//! \brief Exchange data between blocks. +//! \details Connector send and receive full distributions between two blocks in distributed memory. + class TwoDistributionsDoubleGhostLayerFullVectorConnector : public FullVectorConnector { public: diff --git a/src/cpu/core/Connectors/TwoDistributionsFullVectorConnector.h b/src/cpu/core/Connectors/TwoDistributionsFullVectorConnector.h index 81c3e9950cac0e4f20525c8f8756a55888181362..a028fd1522b8bf237401783086af4123ad2aa33a 100644 --- a/src/cpu/core/Connectors/TwoDistributionsFullVectorConnector.h +++ b/src/cpu/core/Connectors/TwoDistributionsFullVectorConnector.h @@ -45,10 +45,8 @@ class EsoTwist3D; class Block3D; -//daten werden in einen vector (dieser befindet sich im transmitter) kopiert -//der vector wird via transmitter uebertragen -//transmitter kann ein lokal, MPI, RCG, CTL oder was auch immer fuer ein -//transmitter sein, der von Transmitter abgeleitet ist ;-) +//! \brief Exchange data between blocks. +//! \details Connector send and receive full distributions between two blocks in distributed memory. class TwoDistributionsFullVectorConnector : public FullVectorConnector { public: diff --git a/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp b/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp index a503b573cc55480c1d67597692bc2e8e78c0b989..ef7c2064cbe3f9142a3476c5d7d84040a7c2e249 100644 --- a/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp +++ b/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp @@ -1,3 +1,39 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 D3Q27TriFaceMeshInteractor.cpp +//! \ingroup Interactor +//! \author Sören Freudiger +//! \author Sebastian Geller +//! \author Ehsan Kian Far +//! \author Konstantin Kutscher +//======================================================================================= + #include "D3Q27TriFaceMeshInteractor.h" #include <basics/utilities/UbLogger.h> #include <basics/utilities/UbMath.h> @@ -30,25 +66,25 @@ using namespace std; -D3Q27TriFaceMeshInteractor::D3Q27TriFaceMeshInteractor() : D3Q27Interactor() { this->stressMode = STRESSNORMAL; } +D3Q27TriFaceMeshInteractor::D3Q27TriFaceMeshInteractor() : D3Q27Interactor() { } ////////////////////////////////////////////////////////////////////////// D3Q27TriFaceMeshInteractor::D3Q27TriFaceMeshInteractor(SPtr<Grid3D> /*grid*/, std::string /*name*/) { - this->stressMode = STRESSNORMAL; + } ////////////////////////////////////////////////////////////////////////// D3Q27TriFaceMeshInteractor::D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, SPtr<Grid3D> grid, SPtr<BC> BC, int type) : D3Q27Interactor(triFaceMesh, grid, BC, type) { - this->stressMode = STRESSNORMAL; + } ////////////////////////////////////////////////////////////////////////// D3Q27TriFaceMeshInteractor::D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, SPtr<Grid3D> grid, SPtr<BC> BC, int type, Interactor3D::Accuracy a) : D3Q27Interactor(triFaceMesh, grid, BC, type, a) { - this->stressMode = STRESSNORMAL; + } ////////////////////////////////////////////////////////////////////////// D3Q27TriFaceMeshInteractor::~D3Q27TriFaceMeshInteractor() = default; @@ -71,8 +107,7 @@ bool D3Q27TriFaceMeshInteractor::setDifferencesToGbObject3D(const SPtr<Block3D> solidNodeIndicesMap[block] = set<UbTupleInt3>(); set<UbTupleInt3> &solidNodeIndices = solidNodeIndicesMap[block]; - bool oneEntryGotBC = false; // ob ueberhaupt ein eintrag ein BC zugewiesen wurde - // bool gotQs = false; //true, wenn "difference" gesetzt wurde + bool oneEntryGotBC = false; SPtr<BoundaryConditions> bc; SPtr<ILBMKernel> kernel = block->getKernel(); @@ -83,9 +118,6 @@ bool D3Q27TriFaceMeshInteractor::setDifferencesToGbObject3D(const SPtr<Block3D> int startIX1 = 0, startIX2 = 0, startIX3 = 0; int stopIX1 = (int)bcArray->getNX1(), stopIX2 = (int)bcArray->getNX2(), stopIX3 = (int)bcArray->getNX3(); - // double dx = grid.lock()->getDeltaX(block); - // UbTupleDouble3 orgDelta = grid.lock()->getNodeOffset(block); - bool pointOnBoundary = false; for (int ix3 = startIX3; ix3 < stopIX3; ix3++) { @@ -104,7 +136,7 @@ bool D3Q27TriFaceMeshInteractor::setDifferencesToGbObject3D(const SPtr<Block3D> } } } else if (this->isInverseSolid()) { - // bei inverse solid sind alle Knoten AUSSERHALB und auf der boundary SOLID + // with inverse solid all nodes are OUTSIDE and on the boundary SOLID if (!this->geoObject3D->isPointInGbObject3D(internX1, internX2, internX3, pointOnBoundary) || pointOnBoundary == true) { if (bcArray->isFluid(ix1, ix2, ix3)) { @@ -163,9 +195,9 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) int finestInitLevel = grid.lock()->getFinestInitializedLevel(); UbTupleInt3 blocknx = grid.lock()->getBlockNX(); - int blocknx1 = val<1>(blocknx); // gilt fuer alle Level - int blocknx2 = val<2>(blocknx); // gilt fuer alle Level - int blocknx3 = val<3>(blocknx); // gilt fuer alle Level + int blocknx1 = val<1>(blocknx); // applies to all levels + int blocknx2 = val<2>(blocknx); // applies to all levels + int blocknx3 = val<3>(blocknx); // applies to all levels // grobe Blocklaengen SPtr<CoordinateTransformation3D> trafo = grid.lock()->getCoordinateTransformator(); @@ -176,14 +208,14 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) cblockDeltaX2 = trafo->getX2CoordinateScaling() * delta; cblockDeltaX3 = trafo->getX3CoordinateScaling() * delta; } - // levelspezifische blocklaengen und knotenabstaende + // Level-specific block lengths and node spacing std::vector<std::vector<double>> nodeDeltaToNeigh(finestInitLevel + 1); std::vector<float> deltaMinX1(finestInitLevel + 1), deltaMinX2(finestInitLevel + 1), deltaMinX3(finestInitLevel + 1); std::vector<float> deltaMaxX1(finestInitLevel + 1), deltaMaxX2(finestInitLevel + 1), deltaMaxX3(finestInitLevel + 1); - // Im Boltzmankontext muss dx1==dx2==dx3 sein!! + // In the Boltzman context, dx1==dx2==dx3 must be!! assert(UbMath::equal(cblockDeltaX1 / (double)blocknx1, cblockDeltaX2 / (double)blocknx2)); assert(UbMath::equal(cblockDeltaX1 / (double)blocknx1, cblockDeltaX3 / (double)blocknx3)); @@ -194,23 +226,14 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) std::vector<real> distNeigh(D3Q27System::FENDDIR + 1, 0.0); D3Q27System::calcDistanceToNeighbors(distNeigh, nodeDeltaX1, nodeDeltaX2, nodeDeltaX3); - // D3Q27System::calcDistanceToNeighbors(distNeigh, nodeDeltaX1); nodeDeltaToNeigh[level].resize(D3Q27System::ENDDIR + 1, 0.0); for (int fdir = D3Q27System::FSTARTDIR; fdir <= D3Q27System::FENDDIR; fdir++) { nodeDeltaToNeigh[level][fdir] = distNeigh[fdir]; } - // im gegensatz zum allg. Cell3DInteractor kann man hier auf max(0.02*blockDeltaX1[level],fabs(...)) verzichten - // da dies nur für blockDeltaCalculator->getMinX1Delta(level)==0.0 benötigt wird. ist im D3Q19... aber nie so - // Geller: kann man nicht diesen befuckten DeltaCalculator weglassen und hier einfach die Formel zum Delta - // rechnen reinpacken SirAnn: klar, mann kann auch weißwuerste am Alex verkaufen... aber zum einen ist das Ding - // dazu da - // und zum anderen sollt eman mal überlegen: "Formel zum Delta rechnen"->man muss rechnen - // blockDeltaCalculator->getMinX1Delta(level) -> ein geinlinter wert wird geholt - // TODO: set 5.0 as variable parameter in constructor, default 2.0 - deltaMinX1[level] = (float)(c5o1 * nodeDeltaX1); // kein minus da unten -deltaMin + deltaMinX1[level] = (float)(c5o1 * nodeDeltaX1); // no minus down there -deltaMin deltaMinX2[level] = (float)(c5o1 * nodeDeltaX2); deltaMinX3[level] = (float)(c5o1 * nodeDeltaX3); deltaMaxX1[level] = (float)(c5o1 * nodeDeltaX1); @@ -219,20 +242,10 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) } ////////////////////////////////////////////////////////////////////////// - // bounding cubes des TriFaceMesh ermitteln (pro level) + // TRIANGLES: q-determination ////////////////////////////////////////////////////////////////////////// - // min/max Werte des Dreiecksnetzes holen - // double geoMinX1(0.0), geoMinX2(0.0), geoMinX3(0.0), geoMaxX1(0.0), geoMaxX2(0.0), geoMaxX3(0.0); - - // geoMinX1 = this->geoObject3D->getX1Minimum(); geoMaxX1 = this->geoObject3D->getX1Maximum(); - // geoMinX2 = this->geoObject3D->getX2Minimum(); geoMaxX2 = this->geoObject3D->getX2Maximum(); - // geoMinX3 = this->geoObject3D->getX3Minimum(); geoMaxX3 = this->geoObject3D->getX3Maximum(); - ////////////////////////////////////////////////////////////////////////// - // DREIECKE: q-Bestimmung - ////////////////////////////////////////////////////////////////////////// - - // notwendige variablen initialisieren (u.a. blockDeltas des groben levels) + // initialize necessary variables (including blockDeltas of the coarse level) float triPoints[3][3]; float vx1 = 0.0, vx2 = 0.0, vx3 = 0.0; std::vector<GbTriFaceMesh3D::TriFace> &triangles = *mesh->getTriangles(); @@ -246,12 +259,12 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) setQTimer.start(); UBLOG(logDEBUG3, " - setQs for " << (int)triangles.size() << " triangles"); - // bool solidFromOtherInteractor = false; + float blockMinX[3], blockMaxX[3], boxCenter[3], halfBoxSize[3]; for (size_t t = 0; t < triangles.size(); t++) { ////////////////////////////////////////////////////////////////////////// - // Halfspace zum Dreieck generieren und min/max des Dreiecks ermitteln + // Generate halfspace for the triangle and determine the min/max of the triangle ////////////////////////////////////////////////////////////////////////// GbTriFaceMesh3D::TriFace &triangle = triangles[t]; @@ -267,7 +280,7 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) GbHalfSpace3D halfSpace(v1.x, v1.y, v1.z, triangle.nx, triangle.ny, triangle.nz); ////////////////////////////////////////////////////////////////////////// - // fuer GbMeshTools3D::triBoxOverlap + // for GbMeshTools3D::triBoxOverlap ////////////////////////////////////////////////////////////////////////// triPoints[0][0] = v1.x; triPoints[0][1] = v1.y; @@ -287,7 +300,7 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) double maxX3 = triangle.getMaxZ(nodes); ////////////////////////////////////////////////////////////////////////// - // Schleife ueber alle Level + // Loop through all levels ////////////////////////////////////////////////////////////////////////// double e1x1, e1x2, e1x3, e2x1, e2x2, e2x3, px1, px2, px3, a, f, sx1, sx2, sx3, u, qx1, qx2, qx3, v; bool gotQs = false; @@ -295,7 +308,7 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) for (int level = coarsestInitLevel; level <= finestInitLevel; level++) { ////////////////////////////////////////////////////////////////////////// - // levelspezifisches BoundCube des Dreicks ermitteln und zugehörige Bloecke beziehen + // Determine the level-specific BoundCube of the triangle and obtain the associated blocks ////////////////////////////////////////////////////////////////////////// double boundCubeTriangleMinX1 = minX1 - deltaMinX1[level]; double boundCubeTriangleMaxX1 = maxX1 + deltaMaxX1[level]; @@ -313,13 +326,13 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) boundCubeTriangleMaxX3, triBlocks); ////////////////////////////////////////////////////////////////////////// - // Schleife ueber bloecke des level, die das dreieck beinhalten + // Loop over blocks of the level that contain the triangle ////////////////////////////////////////////////////////////////////////// for (std::size_t b = 0; b < triBlocks.size(); b++) { SPtr<Block3D> block = triBlocks[b]; //////////////////////////////////////////////////////////////////////////// - //// Block Dreieck-/test + //// Block triangle/test //////////////////////////////////////////////////////////////////////////// UbTupleDouble3 coords = grid.lock()->getBlockWorldCoordinates(block); UbTupleDouble3 deltas = grid.lock()->getBlockLengths(block); @@ -340,13 +353,13 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) halfBoxSize[1] = (float)(c1o2 * (blockMaxX[1] - blockMinX[1])); halfBoxSize[2] = (float)(c1o2 * (blockMaxX[2] - blockMinX[2])); - // wenn dreieck "vergroesserten cube" nicht schneidet/beruehrt -> keine BC moeglich -> continue + // if triangle "enlarged cube" does not intersect/touch -> no BC possible -> continue if (!GbMeshTools3D::triBoxOverlap(boxCenter, halfBoxSize, triPoints)) { continue; } ////////////////////////////////////////////////////////////////////////// - // Untersuchung der einzelnen nodes + // Examination of the individual nodes ////////////////////////////////////////////////////////////////////////// bool blockGotBCs = false; @@ -362,8 +375,6 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) int indexMaxX3 = (int)bcMatrix->getNX3(); std::set<std::vector<int>> &bcNodeIndices = this->bcNodeIndicesMap[block]; - // std::set< UbTupleInt3 >& solidsFromOtherInteractors = - // tmpSolidNodesFromOtherInteractors[block]; double q, distance; double &nodeDx1 = nodeDeltaToNeigh[level][dP00]; @@ -381,18 +392,14 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) double internX2 = pointplane1[1]; double internX3 = pointplane1[2]; - // int blx1 = block->getX1(); - // int blx2 = block->getX2(); - // int blx3 = block->getX3(); - if (bcMatrix->isSolid(ix1, ix2, ix3) || bcMatrix->isUndefined(ix1, ix2, ix3)) { continue; } ////////////////////////////////////////////////////////////////////////// - // Punkt in AABB von Dreieck? + // Point in AABB of triangle? ////////////////////////////////////////////////////////////////////////// - // ehsan changed + // Ehsan changed bool pointIsOnBoundary = true; if (!boundingCubeTriangle.isPointInGbObject3D(internX1, internX2, internX3, pointIsOnBoundary)) { @@ -400,23 +407,23 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) } // std::cout<<"internX3 "<<internX3<<" internX2"<<internX2<<" internX1 "<<internX1<<"\n"; ////////////////////////////////////////////////////////////////////////// - // Halbebenentests + // Half-plane tests ////////////////////////////////////////////////////////////////////////// distance = halfSpace.getDistance(internX1, internX2, internX3); - // Punkt in Halbebene? (nein, wenn distance<0) + // Point in half plane? (no, if distance<0) if (useHalfSpace && UbMath::less(distance, 0.0)) //== !halfSpace.ptInside(internX1,internX2,internX3) ) { continue; } - // BilligOBB-Test: wenn distance > qEinflussDelta -> kein q + // CheapOBB test: if distance > qInfluenceDelta -> no q if (UbMath::greater(fabs(distance), qEinflussDelta)) { continue; } ///////////////////////////////////////////////////////////////////////////// - // Raytracingfür diskrete Boltzmannrichtungen + // Ray tracing for discrete Boltzmann directions ///////////////////////////////////////////////////////////////////////////// gotQs = false; bc = SPtr<BoundaryConditions>(); @@ -497,13 +504,13 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) if (UbMath::greater(q, c1o1) || UbMath::lessEqual(q, 0.0)) continue; - // gefundenes q auf gueltigkeit pruefen + //Check found q for validity if (UbMath::zero(q)) { - // neu (18.05.2010) - // es kann vorkommen, dass bei dünnwandigen geos punkte, die auf einem dreieck - // liegen, qs bekommen, die durch die geo durchgehen. diese punkte werden später - // jedoch nicht mehr auf solid getestet, da sie ja ne BC bekommen haben - //--> da mind ein q==0.0 für eines der dreiecke -> dort solid setzen + // new (05/18/2010) + // It can happen that with thin-walled geos there are points on a triangle + // lie, get qs that go through the geo. these points will come later + // but no longer tested for solidity because they didn't get a BC + //--> there is at least a q==0.0 for one of the triangles -> put it solid there this->solidNodeIndicesMap[block].insert(UbTupleInt3(ix1, ix2, ix3)); bcMatrix->setSolid(ix1, ix2, ix3); continue; @@ -524,11 +531,11 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) } else if (UbMath::less(bc->getQ(fdir), q) && UbMath::equal(-999.0, q)) // schon ein kuerzeres q voehanden? { - // neu:: 18.05.2010 - // um falsche qs die evtl durch die "wand" gehen zu vermeiden - // q nur dann neu setzen, wenn neues q kleiner als vorhandenes! - // Zudem: insbesondere an ecken mit zwei BC geos ist nur das - // naehere gueltig + // new:: May 18, 2010 + // to avoid incorrect qs that might go through the "wall". + // only reset q if new q is smaller than existing one! + // Also: especially on corners with two BC geos, that's all + // more details valid continue; } @@ -540,7 +547,7 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) this->BCs[index]->adaptBCForDirection(*this, bc, internX1, internX2, internX3, q, fdir); - // fuer beschleunigtes wiedereinlesen + // for accelerated rereading if (this->reinitWithStoredQsFlag) { bcNodeIndicesAndQsMap[block][UbTupleInt3(ix1, ix2, ix3)].resize( D3Q27System::FENDDIR + 1 + 3, -1.0f); @@ -569,746 +576,27 @@ void D3Q27TriFaceMeshInteractor::setQs(const real &timeStep) } } } - // dynamische Punkte des GbCuboids muessen leider per "Hand" geloescht werden :-( + // Unfortunately, dynamic points of the GbCuboids have to be deleted manually :-( boundingCubeTriangle.finalize(); } } UBLOGML(logDEBUG1, "\nLBMTriFaceMeshInteractor - setQs end "); } ////////////////////////////////////////////////////////////////////////// -// Vorgehesnweise -// A – Bestimmung der q's -// 1. fuer jeden Bounding cube eines Dreiecks des netzes werden die Bloecke des Blockgitter ermittelt -// 2. mittels eines Dreieck/Block Verschneidungstest werden weitere nicht relevante Bloecke aussortiert -// (fuer lange „schief“ im Raum stehende Dreicke, bei denen das Bounding Cube suboptimal ist) -// 3. jeder Knoten dieser blöcke wird gegen das bound cube des dreiecks getestet -// 4. Knoten die innerhalb des Cubes aber „innerhalb“ des Netzes liegen werden mittels Halbebenentest aussoriert -// 5. fuer die restliche Knoten erfolgt die q bestimmung mittels effizienter raytracing algorithmen -// fuer die diskreten Boltzmannrichtungen -// B – Setzen der nicht aktiven Bloecke und Solid Nodes -// alle Bloecke des Bounding Cube des Netzes, die mind eine BC erhielten, wurden in A markiert -// 1. fuer nicht markierte Bloecke genuegt EIN pointInObject(Dreicksnetz)-Test um den gesamten Block bei Erfolg als -// „not active“ zu markieren -// 2. fuer markiertre Bloecke wird ein rekursiver Fuellalgorithmus durchgefuehrt -void D3Q27TriFaceMeshInteractor::initInteractor2(const real &timeStep) -{ - using namespace vf::lbm::dir; - using namespace vf::basics::constant; - - UBLOGML(logDEBUG1, "\nLBMTriFaceMeshInteractor - initInteractor start "); - if (!this->grid.lock()) - throw UbException(UB_EXARGS, "ups, no grid.lock()!!"); - - if (this->reinitWithStoredQsFlag && !bcNodeIndicesAndQsMap.empty()) { - this->reinitWithStoredQs(timeStep); - return; - } - - GbTriFaceMesh3D *mesh = dynamic_cast<GbTriFaceMesh3D *>(this->geoObject3D.get()); - - UBLOGML(logDEBUG1, "\nLBMTriFaceMeshInteractor - initInteractor for \"" << mesh->getName() << " \" t=" << timeStep); - // cout<<" - init basics ..."; - - this->removeBcBlocks(); // hier wird auch die nodeIndicesMap geloescht! - this->removeSolidBlocks(); - - ////////////////////////////////////////////////////////////////////////// - // init bcs - ////////////////////////////////////////////////////////////////////////// - int nofAdapter = (int)this->BCs.size(); - if (nofAdapter == 0) - std::cout - << "WARNING - D3Q27TriFaceMeshInteractor::initInteractor Warning - no nodeAdapter available for " /*<<this->getName()*/ - << std::endl; - bool needTimeDependence = false; - for (int pos = 0; pos < nofAdapter; ++pos) { - this->BCs[pos]->init(this, timeStep); - if (this->BCs[pos]->isTimeDependent()) - needTimeDependence = true; - } - if (needTimeDependence) - this->setTimeDependent(); - else - this->unsetTimeDependent(); - - ////////////////////////////////////////////////////////////////////////// - // grid.lock() info - ////////////////////////////////////////////////////////////////////////// - int coarsestInitLevel = grid.lock()->getCoarsestInitializedLevel(); - int finestInitLevel = grid.lock()->getFinestInitializedLevel(); - - UbTupleInt3 blocknx = grid.lock()->getBlockNX(); - int blocknx1 = val<1>(blocknx); // gilt fuer alle Level - int blocknx2 = val<2>(blocknx); // gilt fuer alle Level - int blocknx3 = val<3>(blocknx); // gilt fuer alle Level - - // grobe Blocklaengen - SPtr<CoordinateTransformation3D> trafo = grid.lock()->getCoordinateTransformator(); - double cblockDeltaX1, cblockDeltaX2, cblockDeltaX3, delta; - cblockDeltaX1 = cblockDeltaX2 = cblockDeltaX3 = delta = c1o1 / (double)(1 << coarsestInitLevel); - if (trafo) { - cblockDeltaX1 = trafo->getX1CoordinateScaling() * delta; - cblockDeltaX2 = trafo->getX2CoordinateScaling() * delta; - cblockDeltaX3 = trafo->getX3CoordinateScaling() * delta; - } - // levelspezifische blocklaengen und knotenabstaende - std::vector<std::vector<double>> nodeDeltaToNeigh(finestInitLevel + 1); - // vector<double> blockDeltaX1(finestInitLevel+1), blockDeltaX2(finestInitLevel+1), blockDeltaX3(finestInitLevel+1); - std::vector<float> deltaMinX1(finestInitLevel + 1), deltaMinX2(finestInitLevel + 1), - deltaMinX3(finestInitLevel + 1); - std::vector<float> deltaMaxX1(finestInitLevel + 1), deltaMaxX2(finestInitLevel + 1), - deltaMaxX3(finestInitLevel + 1); - - // Im Boltzmankontext muss dx1==dx2==dx3 sein!! - assert(UbMath::equal(cblockDeltaX1 / (double)blocknx1, cblockDeltaX2 / (double)blocknx2)); - assert(UbMath::equal(cblockDeltaX1 / (double)blocknx1, cblockDeltaX3 / (double)blocknx3)); - - for (int level = coarsestInitLevel; level <= finestInitLevel; level++) { - real nodeDelta = cblockDeltaX1 / (double)(blocknx1 * (1 << (level - coarsestInitLevel))); - - std::vector<real> distNeigh(D3Q27System::FENDDIR + 1, 0.0); - D3Q27System::calcDistanceToNeighbors(distNeigh, nodeDelta); - - nodeDeltaToNeigh[level].resize(D3Q27System::ENDDIR + 1, 0.0); - for (int fdir = D3Q27System::FSTARTDIR; fdir <= D3Q27System::FENDDIR; fdir++) { - nodeDeltaToNeigh[level][fdir] = distNeigh[fdir]; - } - - // im gegensatz zum allg. Cell3DInteractor kann man hier auf max(0.02*blockDeltaX1[level],fabs(...)) verzichten - // da dies nur für blockDeltaCalculator->getMinX1Delta(level)==0.0 benötigt wird. ist im D3Q19... aber nie so - // Geller: kann man nicht diesen befuckten DeltaCalculator weglassen und hier einfach die Formel zum Delta - // rechnen reinpacken SirAnn: klar, mann kann auch weißwuerste am Alex verkaufen... aber zum einen ist das Ding - // dazu da - // und zum anderen sollt eman mal überlegen: "Formel zum Delta rechnen"->man muss rechnen - // blockDeltaCalculator->getMinX1Delta(level) -> ein geinlinter wert wird geholt - - deltaMinX1[level] = (float)(1.2 * nodeDelta); // kein minus da unten -deltaMin - deltaMinX2[level] = (float)(1.2 * nodeDelta); - deltaMinX3[level] = (float)(1.2 * nodeDelta); - deltaMaxX1[level] = (float)(1.2 * nodeDelta); - deltaMaxX2[level] = (float)(1.2 * nodeDelta); - deltaMaxX3[level] = (float)(1.2 * nodeDelta); - } - - ////////////////////////////////////////////////////////////////////////// - // bounding cubes des TriFaceMesh ermitteln (pro level) - ////////////////////////////////////////////////////////////////////////// - // min/max Werte des Dreiecksnetzes holen - double geoMinX1(0.0), geoMinX2(0.0), geoMinX3(0.0), geoMaxX1(0.0), geoMaxX2(0.0), geoMaxX3(0.0); - if (this->isSolid() || this->isMoveable()) { - geoMinX1 = this->geoObject3D->getX1Minimum(); - geoMaxX1 = this->geoObject3D->getX1Maximum(); - geoMinX2 = this->geoObject3D->getX2Minimum(); - geoMaxX2 = this->geoObject3D->getX2Maximum(); - geoMinX3 = this->geoObject3D->getX3Minimum(); - geoMaxX3 = this->geoObject3D->getX3Maximum(); - } else - throw UbException(UB_EXARGS, "only TYPE==SOLID is implemented"); - - std::map<SPtr<Block3D>, SolidCheckMethod> blocksForSolidCheck; - - for (int level = coarsestInitLevel; level <= finestInitLevel; level++) { - if (this->isSolid() || this->isMoveable()) { - // bloecke fuer "bounding cube gesamt" - std::vector<SPtr<Block3D>> tmpblocks; - grid.lock()->getBlocksByCuboid(level, geoMinX1 - deltaMinX1[level], geoMinX2 - deltaMinX2[level], - geoMinX3 - deltaMinX3[level], geoMaxX1 + deltaMaxX1[level], - geoMaxX2 + deltaMaxX2[level], geoMaxX3 + deltaMaxX3[level], tmpblocks); - - for (size_t i = 0; i < tmpblocks.size(); i++) - blocksForSolidCheck[tmpblocks[i]] = PointInObject; - } - } - - ////////////////////////////////////////////////////////////////////////// - // FE-specific - ////////////////////////////////////////////////////////////////////////// - // bool calcVelocities = false; - // FeTriFaceMesh3D* feMesh = dynamic_cast<FeTriFaceMesh3D*>(mesh); - // std::vector<FeTriFaceMesh3D::VertexAttributes>* attributes = NULL; - // if(feMesh) - //{ - // calcVelocities = true; - // attributes = feMesh->getAttributes(); - //} - - ////////////////////////////////////////////////////////////////////////// - // DREIECKE: q-Bestimmung - ////////////////////////////////////////////////////////////////////////// - - // notwendige variablen initialisieren (u.a. blockDeltas des groben levels) - float triPoints[3][3]; - real vx1 = c0o1, vx2 = c0o1, vx3 = c0o1; - unsigned counterTriBoxOverlap = 0, counterAABBTriFace = 0, counterHalfspace = 0, counterBilligOBB = 0; - std::vector<GbTriFaceMesh3D::TriFace> &triangles = *mesh->getTriangles(); - std::vector<GbTriFaceMesh3D::Vertex> &nodes = *mesh->getNodes(); - std::map<SPtr<Block3D>, std::set<std::vector<int>>> tmpSolidNodesFromOtherInteractors; - - int onePercent = UbMath::integerRounding(triangles.size() * c1o100); - if (onePercent == 0) - onePercent = 1; - vf::basics::Timer setQTimer; - setQTimer.start(); - UBLOG(logDEBUG3, " - setQs for " << (int)triangles.size() << " triangles"); - - // bool solidFromOtherInteractor = false; - float blockMinX[3], blockMaxX[3], boxCenter[3], halfBoxSize[3]; - - for (size_t t = 0; t < triangles.size(); t++) { - // if (t==10577) - //{ - // int ehsan=0; - //} - ////////////////////////////////////////////////////////////////////////// - // Halfspace zum Dreieck generieren und min/max des Dreiecks ermitteln - ////////////////////////////////////////////////////////////////////////// - GbTriFaceMesh3D::TriFace &triangle = triangles[t]; - - GbTriFaceMesh3D::Vertex &v1 = nodes[triangle.v1]; - GbTriFaceMesh3D::Vertex &v2 = nodes[triangle.v2]; - GbTriFaceMesh3D::Vertex &v3 = nodes[triangle.v3]; - - GbHalfSpace3D halfSpace(v1.x, v1.y, v1.z, v2.x, v2.y, v2.z, v3.x, v3.y, v3.z); - - // if(calcVelocities) - //{ - // FeTriFaceMesh3D::VertexAttributes& vAttribut1 = (*attributes)[triangle.v1]; - // FeTriFaceMesh3D::VertexAttributes& vAttribut2 = (*attributes)[triangle.v2]; - // FeTriFaceMesh3D::VertexAttributes& vAttribut3 = (*attributes)[triangle.v3]; - // vx1 = - // (float)(vf::basics::constant::c1o3*(vAttribut1.getVelocityX()+vAttribut2.getVelocityX()+vAttribut3.getVelocityX())); vx2 - // = (float)(vf::basics::constant::c1o3*(vAttribut1.getVelocityY()+vAttribut2.getVelocityY()+vAttribut3.getVelocityY())); - // vx3 = - // (float)(vf::basics::constant::c1o3*(vAttribut1.getVelocityZ()+vAttribut2.getVelocityZ()+vAttribut3.getVelocityZ())); - //} - - ////////////////////////////////////////////////////////////////////////// - // fuer GbMeshTools3D::triBoxOverlap - ////////////////////////////////////////////////////////////////////////// - triPoints[0][0] = v1.x; - triPoints[0][1] = v1.y; - triPoints[0][2] = v1.z; - triPoints[1][0] = v2.x; - triPoints[1][1] = v2.y; - triPoints[1][2] = v2.z; - triPoints[2][0] = v3.x; - triPoints[2][1] = v3.y; - triPoints[2][2] = v3.z; - - double minX1 = triangle.getMinX(nodes); - double maxX1 = triangle.getMaxX(nodes); - double minX2 = triangle.getMinY(nodes); - double maxX2 = triangle.getMaxY(nodes); - double minX3 = triangle.getMinZ(nodes); - double maxX3 = triangle.getMaxZ(nodes); - - ////////////////////////////////////////////////////////////////////////// - // Schleife ueber alle Level - ////////////////////////////////////////////////////////////////////////// - double e1x1, e1x2, e1x3, e2x1, e2x2, e2x3, px1, px2, px3, a, f, sx1, sx2, sx3, u, qx1, qx2, qx3, v; - bool gotQs = false; - SPtr<BoundaryConditions> bc; - - for (int level = coarsestInitLevel; level <= finestInitLevel; level++) { - ////////////////////////////////////////////////////////////////////////// - // levelspezifisches BoundCube des Dreicks ermitteln und zugehörige Bloecke beziehen - ////////////////////////////////////////////////////////////////////////// - double boundCubeTriangleMinX1 = minX1 - deltaMinX1[level]; - double boundCubeTriangleMaxX1 = maxX1 + deltaMaxX1[level]; - double boundCubeTriangleMinX2 = minX2 - deltaMinX2[level]; - double boundCubeTriangleMaxX2 = maxX2 + deltaMaxX2[level]; - double boundCubeTriangleMinX3 = minX3 - deltaMinX3[level]; - double boundCubeTriangleMaxX3 = maxX3 + deltaMaxX3[level]; - - GbCuboid3D boundingCubeTriangle(boundCubeTriangleMinX1, boundCubeTriangleMinX2, boundCubeTriangleMinX3, - boundCubeTriangleMaxX1, boundCubeTriangleMaxX2, boundCubeTriangleMaxX3); - - std::vector<SPtr<Block3D>> triBlocks; - grid.lock()->getBlocksByCuboid(level, boundCubeTriangleMinX1, boundCubeTriangleMinX2, - boundCubeTriangleMinX3, boundCubeTriangleMaxX1, boundCubeTriangleMaxX2, - boundCubeTriangleMaxX3, triBlocks); - - ////////////////////////////////////////////////////////////////////////// - // Schleife ueber bloecke des level, die das dreieck beinhalten - ////////////////////////////////////////////////////////////////////////// - for (std::size_t b = 0; b < triBlocks.size(); b++) { - SPtr<Block3D> block = triBlocks[b]; - - //////////////////////////////////////////////////////////////////////////// - //// Block Dreieck-/test - //////////////////////////////////////////////////////////////////////////// - UbTupleDouble3 coords = grid.lock()->getBlockWorldCoordinates(block); - UbTupleDouble3 deltas = grid.lock()->getBlockLengths(block); - - blockMinX[0] = (float)(val<1>(coords) - deltaMinX1[level]); - blockMinX[1] = (float)(val<2>(coords) - deltaMinX2[level]); - blockMinX[2] = (float)(val<3>(coords) - deltaMinX3[level]); - - blockMaxX[0] = (float)(val<1>(coords) + val<1>(deltas) + deltaMaxX1[level]); - blockMaxX[1] = (float)(val<2>(coords) + val<2>(deltas) + deltaMaxX2[level]); - blockMaxX[2] = (float)(val<3>(coords) + val<3>(deltas) + deltaMaxX3[level]); - - boxCenter[0] = (float)(c1o2 * (blockMaxX[0] + blockMinX[0])); - boxCenter[1] = (float)(c1o2 * (blockMaxX[1] + blockMinX[1])); - boxCenter[2] = (float)(c1o2 * (blockMaxX[2] + blockMinX[2])); - - halfBoxSize[0] = (float)(c1o2 * (blockMaxX[0] - blockMinX[0])); - halfBoxSize[1] = (float)(c1o2 * (blockMaxX[1] - blockMinX[1])); - halfBoxSize[2] = (float)(c1o2 * (blockMaxX[2] - blockMinX[2])); - - // wenn dreieck "vergroesserten cube" nicht schneidet/beruehrt -> keine BC moeglich -> continue - if (!GbMeshTools3D::triBoxOverlap(boxCenter, halfBoxSize, triPoints)) { - counterTriBoxOverlap++; - continue; - } - - ////////////////////////////////////////////////////////////////////////// - // Untersuchung der einzelnen nodes - ////////////////////////////////////////////////////////////////////////// - bool blockGotBCs = false; - - SPtr<ILBMKernel> kernel = block->getKernel(); - SPtr<BCArray3D> bcMatrix = kernel->getBCSet()->getBCArray(); - - int indexMinX1 = 0; - int indexMinX2 = 0; - int indexMinX3 = 0; - - int indexMaxX1 = (int)bcMatrix->getNX1(); - int indexMaxX2 = (int)bcMatrix->getNX2(); - int indexMaxX3 = (int)bcMatrix->getNX3(); - - std::set<std::vector<int>> &bcNodeIndices = this->bcNodeIndicesMap[block]; - std::set<std::vector<int>> &solidsFromOtherInteractors = tmpSolidNodesFromOtherInteractors[block]; - double q, internX1, internX2, internX3, distance; - - double &nodeDx1 = nodeDeltaToNeigh[level][dP00]; - double &nodeDx2 = nodeDeltaToNeigh[level][d0P0]; - double &nodeDx3 = nodeDeltaToNeigh[level][d00P]; - - // fuer OBB-Test - double qEinflussDelta = 1.1 * sqrt(nodeDx1 * nodeDx1 + nodeDx2 * nodeDx2 + nodeDx3 * nodeDx3); - - for (int ix3 = indexMinX3; ix3 < indexMaxX3; ix3++) { - internX3 = val<3>(coords) + nodeDx3 * ix3 - c1o2 * nodeDx3; - for (int ix2 = indexMinX2; ix2 < indexMaxX2; ix2++) { - internX2 = val<2>(coords) + nodeDx2 * ix2 - c1o2 * nodeDx2; - for (int ix1 = indexMinX1; ix1 < indexMaxX1; ix1++) { - - // int blx1 =block->getX1(); - // int blx2 = block->getX2(); - // int blx3 = block->getX3(); - - // if (blx1==0&&blx2==1&&blx3==0) - // { - // //if (ix2==39&&ix3==4) - // if (ix2==39&&ix3==4) - // { - // int seb=0; - // } - // } - // Problem: wenn voher der punkt durch eine andere geo not active gesetzt wird und - // dieser nun uebersprungen wird, dann hat man spaeter beim fuellalgorithmus luecken - // in der front und der block wird u.U. faelschlicher weise komplett solid markiert - // Lsg: positionen merken und erst Nach dem fuellarlgo wieder auf not active setzen :-) - // solidFromOtherInteractor = false; - if (bcMatrix->isSolid(ix1, ix2, ix3)) { - if (this->reinitWithStoredQsFlag) { - // solidFromOtherInteractor = true; //hier muss man weitermachen - // SG //oje - std::vector<int> p(3); - p[0] = ix1; - p[1] = ix2; - p[2] = ix3; - solidsFromOtherInteractors.insert(p); - } else { - // SG //oje - std::vector<int> p(3); - p[0] = ix1; - p[1] = ix2; - p[2] = ix3; - solidsFromOtherInteractors.insert(p); - // SG continue; - // solidFromOtherInteractor = true; - } - } - - internX1 = val<1>(coords) + nodeDx1 * ix1 - c1o2 * nodeDx1; - - ////////////////////////////////////////////////////////////////////////// - // Punkt in AABB von Dreieck? - ////////////////////////////////////////////////////////////////////////// - // ehsan changedâ—˜ - bool pointIsOnBoundary = false; - if (!boundingCubeTriangle.isPointInGbObject3D(internX1, internX2, internX3, - pointIsOnBoundary)) - // if( !boundingCubeTriangle.isPointInGbObject3D(internX1, internX2, internX3) ) - { - counterAABBTriFace++; - continue; - } - - ////////////////////////////////////////////////////////////////////////// - // Halbebenentests - ////////////////////////////////////////////////////////////////////////// - distance = halfSpace.getDistance(internX1, internX2, internX3); - - // Punkt in Halbebene? (nein, wenn distance<0) - if (useHalfSpace && - UbMath::less(distance, 0.0)) //== !halfSpace.ptInside(internX1,internX2,internX3) ) - { - counterHalfspace++; - continue; - } - - // BilligOBB-Test: wenn distance > qEinflussDelta -> kein q - if (UbMath::greater(fabs(distance), qEinflussDelta)) { - counterBilligOBB++; - continue; - } - - ///////////////////////////////////////////////////////////////////////////// - // Raytracingfür diskrete Boltzmannrichtungen - ///////////////////////////////////////////////////////////////////////////// - gotQs = false; - bc = SPtr<BoundaryConditions>(); - - // RAYTRACING - diskrete LB-dir zu Dreick - // e1 = v1 - v0 - e1x1 = v2.x - v1.x; - e1x2 = v2.y - v1.y; - e1x3 = v2.z - v1.z; - - // e2 = v2 - v0 - e2x1 = v3.x - v1.x; - e2x2 = v3.y - v1.y; - e2x3 = v3.z - v1.z; - - // s = o - v0 - sx1 = internX1 - v1.x; - sx2 = internX2 - v1.y; - sx3 = internX3 - v1.z; - - for (int fdir = D3Q27System::FSTARTDIR; fdir <= D3Q27System::FENDDIR; fdir++) { - // p = d x e2 - px1 = this->rayX2[fdir] * e2x3 - this->rayX3[fdir] * e2x2; - px2 = this->rayX3[fdir] * e2x1 - this->rayX1[fdir] * e2x3; - px3 = this->rayX1[fdir] * e2x2 - this->rayX2[fdir] * e2x1; - - // a = e1 dot p - a = e1x1 * px1 + e1x2 * px2 + e1x3 * px3; - if (fabs(a) < 1.E-10) - continue; - f = c1o1 / a; - - // u = f * ( s dot p) - u = f * (sx1 * px1 + sx2 * px2 + sx3 * px3); - if (u < -1.E-10 || u > c1o1 + 1.E-10) - continue; - - // q = s x e1 - qx1 = sx2 * e1x3 - sx3 * e1x2; - qx2 = sx3 * e1x1 - sx1 * e1x3; - qx3 = sx1 * e1x2 - sx2 * e1x1; - - // v = f*(e2 dot q) - v = f * (this->rayX1[fdir] * qx1 + this->rayX2[fdir] * qx2 + this->rayX3[fdir] * qx3); - if (v < -1.E-10 || (u + v) > c1o1 + 1.E-10) - continue; - - // t = f * (e2 dot q) - q = f * (e2x1 * qx1 + e2x2 * qx2 + e2x3 * qx3); - q /= nodeDeltaToNeigh[level][fdir]; - - // gefundenes q auf gueltigkeit pruefen - if (UbMath::zero(q)) { - // neu (18.05.2010) - // es kann vorkommen, dass bei dünnwandigen geos punkte, die auf einem dreieck - // liegen, qs bekommen, die durch die geo durchgehen. diese punkte werden später - // jedoch nicht mehr auf solid getestet, da sie ja ne BC bekommen haben - //--> da mind ein q==0.0 für eines der dreiecke -> dort solid setzen - this->solidNodeIndicesMap[block].insert(UbTupleInt3(ix1, ix2, ix3)); - bcMatrix->setSolid(ix1, ix2, ix3); - continue; - } - - if (UbMath::inClosedInterval(q, c1o1, c1o1)) - q = c1o1; - if (UbMath::greater(q, 0.0) && UbMath::lessEqual(q, c1o1)) { - // if( !solidFromOtherInteractor ) //--> Knoten schon solid-->BC setzen - // ueberfluessig SG changed to if( solidFromOtherInteractor ) //--> Knoten schon - // solid-->BC setzen ueberfluessig - { - // SG 26.08.2010 muss bereits hierhin, da das continue sonst den Knoten nicht - // als transNode fürs markiert - gotQs = blockGotBCs = true; - - bc = bcMatrix->getBC(ix1, ix2, ix3); - - // SG 26.08.2010 if(!bc && !bcMatrix->isSolid()) - if (!bc) { - bc = SPtr<BoundaryConditions>(new BoundaryConditions); - bcMatrix->setBC(ix1, ix2, ix3, bc); - } else if (UbMath::less(bc->getQ(fdir), q)) // schon ein kuerzeres q voehanden? - { - // neu:: 18.05.2010 - // um falsche qs die evtl durch die "wand" gehen zu vermeiden - // q nur dann neu setzen, wenn neues q kleiner als vorhandenes! - // Zudem: insbesondere an ecken mit zwei BC geos ist nur das - // naehere gueltig - continue; - } - - bc->setBoundaryVelocityX1(vx1); - bc->setBoundaryVelocityX2(vx2); - bc->setBoundaryVelocityX3(vx3); - - for (int index = (int)this->BCs.size() - 1; index >= 0; --index) - this->BCs[index]->adaptBCForDirection(*this, bc, internX1, internX2, - internX3, q, fdir); - - // SG 26.08.2010 gotQs=blockGotBCs=true; - } - // fuer beschleunigtes wiedereinlesen - if (this->reinitWithStoredQsFlag) { - bcNodeIndicesAndQsMap[block][UbTupleInt3(ix1, ix2, ix3)].resize( - D3Q27System::FENDDIR + 1 + 3, -1.0f); - bcNodeIndicesAndQsMap[block][UbTupleInt3(ix1, ix2, ix3)][fdir] = float(q); - bcNodeIndicesAndQsMap[block][UbTupleInt3(ix1, ix2, ix3)] - [D3Q27System::FENDDIR + 1 + 0] = float(internX1); - bcNodeIndicesAndQsMap[block][UbTupleInt3(ix1, ix2, ix3)] - [D3Q27System::FENDDIR + 1 + 1] = float(internX2); - bcNodeIndicesAndQsMap[block][UbTupleInt3(ix1, ix2, ix3)] - [D3Q27System::FENDDIR + 1 + 2] = float(internX3); - } - } - } - - if (gotQs) { - std::vector<int> p(3); - p[0] = ix1; - p[1] = ix2; - p[2] = ix3; - bcNodeIndices.insert(p); - - for (int index = (int)this->BCs.size() - 1; index >= 0; --index) - this->BCs[index]->adaptBC(*this, bc, internX1, internX2, internX3); - } - } - } - } - // Block wird für scanline-check "anmelden", dieser wird dann spaeter zu "transBlocks" hinzugefuegt - if (blockGotBCs) { - blocksForSolidCheck[block] = ScanLine; - } - // bvd->getTimer().stop(); - } - // dynamische Punkte des GbCuboids muessen leider per "Hand" geloescht werden :-( - boundingCubeTriangle.finalize(); - } - } - setQTimer.end(); - - UBLOG(logDEBUG1, " - setQs for " /*<< this->getName()*/ << " - " << (int)triangles.size() - << " triangles: 100% done in " << setQTimer.getTimeInSeconds() - << "sec"); - UBLOG(logDEBUG1, " * rejected blocks with tribox overlap test : " << counterTriBoxOverlap); - UBLOG(logDEBUG1, " * rejected nodes with AABB test : " << counterAABBTriFace); - UBLOG(logDEBUG1, " * rejected nodes with halfspace test : " << counterHalfspace); - UBLOG(logDEBUG1, " * rejected nodes with OBB test : " << counterBilligOBB); - - using BlockSolidCheckMethodIterator = std::map<SPtr<Block3D>, SolidCheckMethod>::iterator; - - ////////////////////////////////////////////////////////////////////////// - // SOLID checks - ////////////////////////////////////////////////////////////////////////// - if (regardPIOTest) { - int pointInObjectCounter = 0; - int scanlineCounter = 0; - // int counter = 0; - - // sollte die matrix groesse zu gross sein und der rekursive floodFill mehr speicher - // benoetigen als der Stack hergibt -> keinen floodFill verwenden! - void (D3Q27TriFaceMeshInteractor::*gridFill)(CbArray3D<FLAGS> &, const short &, const short &, const short &, - const FLAGS &) = NULL; - /*if(blocknx1*blocknx2*blocknx3 < 200000 ) gridFill = &D3Q27TriFaceMeshInteractor::recursiveGridFill;*/ - /*else */ gridFill = &D3Q27TriFaceMeshInteractor::iterativeGridFill; - - UBLOG(logDEBUG1, " - setSolids for " << blocksForSolidCheck.size() << " blocks"); - - vf::basics::Timer scanLineTimer; - vf::basics::Timer solidTimer; - solidTimer.start(); - - for (BlockSolidCheckMethodIterator pos = blocksForSolidCheck.begin(); pos != blocksForSolidCheck.end(); ++pos) { - SPtr<Block3D> const &block = pos->first; - int level = block->getLevel(); - - UbTupleDouble3 coords = grid.lock()->getBlockWorldCoordinates(block); - - // Bloecke, die keinerlei Verschneidung mit Dreicken bzw. deren BoundCubes hatten - // hier: durch inside/outside Tests EINES knotens gilt fuer ALLE Knoten des blockes - if (pos->second == PointInObject) { - pointInObjectCounter++; - if (mesh->isPointInGbObject3D(val<1>(coords), val<2>(coords), val<3>(coords))) { - // block->setActive(false); - // this->solidBlocks.push_back(block); - } - } - // Bloecke, die Verschneidung mit Dreicken bzw. deren BoundCubes hatten - // scanline algortihmus. dieser berücksichtigt durch weitere tests, dass innerhalb evtl schon andere - // geos bcs gesetzt haben. es werden ausschließelich solids gesetzt (also keine FLUIDS oder neuen BCs) - else if (pos->second == ScanLine) { - scanlineCounter++; - scanLineTimer.start(); - - SPtr<ILBMKernel> kernel = block->getKernel(); - if (!kernel) - throw UbException(UB_EXARGS, "na sowas kein kernel bzw. kernel=NULL (2)"); - SPtr<BCArray3D> bcMatrix = kernel->getBCSet()->getBCArray(); - - // bvd->getTimer().start(); - // int indexMinX1 = 0; - // int indexMinX2 = 0; - // int indexMinX3 = 0; - int indexMaxX1 = (int)bcMatrix->getNX1(); - int indexMaxX2 = (int)bcMatrix->getNX2(); - int indexMaxX3 = (int)bcMatrix->getNX3(); - - // quick and dirty - blocknx1 = indexMaxX1; - blocknx2 = indexMaxX2; - blocknx3 = indexMaxX3; - - std::set<UbTupleInt3> &solidNodeIndices = this->solidNodeIndicesMap[block]; - - float nodeDeltaX1 = (float)nodeDeltaToNeigh[level][dP00]; - float nodeDeltaX2 = (float)nodeDeltaToNeigh[level][d0P0]; - float nodeDeltaX3 = (float)nodeDeltaToNeigh[level][d00P]; - - // flagfield matrix initialisieren - CbArray3D<FLAGS> flagField(blocknx1, blocknx2, blocknx3, UNDEF_FLAG); - - // hier gesetzte bcs markieren - std::set<std::vector<int>> &transNodeIndices = this->bcNodeIndicesMap[block]; - std::set<std::vector<int>>::iterator setPos; - for (setPos = transNodeIndices.begin(); setPos != transNodeIndices.end(); ++setPos) - flagField((*setPos)[0], (*setPos)[1], (*setPos)[2]) = BC_FLAG; - - // solids die bereits durch andere interaktoren gesetzt wurden (wurden oben gespeichert) - // ist EMPTY bei reinitWithStoredQsFlag == true - // SG 28.08.2010 std::set< UbTupleInt3 >& tmpSolidNodeIndices = - // tmpSolidNodesFromOtherInteractors[block]; SG 28.08.2010 if(reinitWithStoredQsFlag && - // !tmpSolidNodeIndices.empty() ) throw UbException(UB_EXARGS, "tmpSolidNodeIndices darf bei - // reinitWithStoredQsFlag==true keine Knoten enthalten"); SG 28.08.2010 - // for(setPos=tmpSolidNodeIndices.begin(); setPos!=tmpSolidNodeIndices.end(); ++setPos) SG 28.08.2010 - // flagField( val<1>(*setPos), val<2>(*setPos), val<3>(*setPos) ) = OLDSOLID_FLAG; - - // flagfield matrix belegen - for (int bx3 = 0; bx3 < blocknx3; ++bx3) { - for (int bx2 = 0; bx2 < blocknx2; ++bx2) { - for (int bx1 = 0; bx1 < blocknx1; ++bx1) { - - // if (bx2==9&&bx3==29) - // { - // int ride=0; - // } - if (flagField(bx1, bx2, bx3) == UNDEF_FLAG) { - if (mesh->isPointInGbObject3D(val<1>(coords) + bx1 * nodeDeltaX1 - c1o2 * nodeDeltaX1, - val<2>(coords) + bx2 * nodeDeltaX2 - c1o2 * nodeDeltaX2, - val<3>(coords) + bx3 * nodeDeltaX3 - c1o2 * nodeDeltaX3)) { - (this->*gridFill)(flagField, bx1, bx2, bx3, SOLID_FLAG); - } else { - (this->*gridFill)(flagField, bx1, bx2, bx3, FLUID_FLAG); - } - } - - if (flagField(bx1, bx2, bx3) == SOLID_FLAG) { - // hier ist noch das Problem, das "alle" solid in die solidNodeIndices kommen - // evtl. Abhilfe durch einführen eines anderen Flags bei tmpSolidNodeIndices .. - solidNodeIndices.insert(UbTupleInt3(bx1, bx2, bx3)); - bcMatrix->setSolid(bx1, bx2, bx3); - } - // SG 28.08.2010 else if( flagField(bx1,bx2,bx3)==OLDSOLID_FLAG ) - // SG 28.08.2010 { - // SG 28.08.2010 bcMatrix->setSolid(bx1,bx2,bx3); - // SG 28.08.2010 } - } - } - } - - // SG 28.08.2010 halt danach setzen, damit die BCs die fälschlicherweise gesetzt wurden korrigiert - // werden - std::set<std::vector<int>> &tmpSolidNodeIndices = tmpSolidNodesFromOtherInteractors[block]; - for (setPos = tmpSolidNodeIndices.begin(); setPos != tmpSolidNodeIndices.end(); ++setPos) - bcMatrix->setSolid((*setPos)[0], (*setPos)[1], (*setPos)[2]); - - // block hat in initInteractor mind eine BC erhalten -> transBlock - this->bcBlocks.push_back(block); - scanLineTimer.end(); - - // bvd->getTimer().stop(); - } else - throw UbException(UB_EXARGS, "unknown option for in object test"); - } - - solidTimer.end(); - - UBLOG(logDEBUG1, " - setSolids for " << blocksForSolidCheck.size() << " blocks: 100% done in " - << solidTimer.getTimeInSeconds() << "s"); - UBLOG(logDEBUG1, " * pointInObject for " << pointInObjectCounter << " blocks in " - << solidTimer.getTimeInSeconds() - scanLineTimer.getTimeInSeconds() - << "s"); - UBLOG(logDEBUG1, " * flood fill for " << scanlineCounter << " blocks in " - << scanLineTimer.getTimeInSeconds() << " secs"); - UBLOG(logDEBUG1, "LBMTriFaceMeshInteractor::initInteractor for \"" - << mesh->getName() << "\" done in " << setQTimer.getTimeInSeconds() + solidTimer.getTimeInSeconds() - << "s"); - } - - // calcForces arbeitet nicht korrekt, wenn Geo mit Bloecken - // unterschiedlicher Leveltiefe diskretisiert -> exception - // abfrage steht hier, weil es theoretisch sein kann, dass bei parallelen rechnungen - // genau der block mit dem anderen level auf einem anderen prozess liegt... - // Update: es kann u.U. passieren, dass Blöcke in der Liste nicht aktiv sin - //(falls diese z.B. duch andere Interactoren solid gesetzt wurden) - // diese werden nicht berücksichtigt (auch nicht beid er kraftauswertung später) - // if( this->isRelevantForForces() ) - //{ - // int level = -1; - // for( std::vector<SPtr<Block3D>>::const_iterator pos = this->transBlocks.begin(); pos!=this->transBlocks.end(); - // ++pos) - // if( (*pos)->isActive() ) - // { - // level = (*pos)->getLevel(); - // break; - // } - - // bool check = false; - // for( std::vector<SPtr<Block3D>>::const_iterator pos = this->transBlocks.begin(); - // pos!=this->transBlocks.end(); ++pos) - // if( (*pos)->isActive() && (*pos)->getLevel()!=level) - // { - // (*pos)->setRank(1000); - // check = true; - // UbTupleDouble3 coords = grid.lock()->getBlockWorldCoordinates((*pos)); - // std::cout<<(*pos)->getLevel()<<","<<(*pos)->getX1()<<","<<(*pos)->getX2()<<","<<(*pos)->getX3()<<std::endl; - // std::cout<<std::setprecision(15)<<val<1>(coords)<<","<<val<2>(coords)<<","<<val<3>(coords)<<std::endl<<std::endl; - - // } - // if(check) - // { - // //this->grid.lock()->writeBlocks(UbStaticPathMap::getPath(UbStaticPathMap::GLOBAL)+"/error_grid",0, - // WbWriterVtkXmlASCII::getInstance(), false); - - // throw UbException(UB_EXARGS,"interactor is relevant for forces," - // +(std::string)" but has transblocks with different levels (wrote error_grid)" - // +(std::string)" -> not supportet by LBMInteractor::getForces()" - // +(std::string)" -> increase refineWidth"); - - // } - //} -} +// Procedure +// A – Determination of the q's +// 1. The blocks of the block grid are determined for each bounding cube of a triangle in the network +// 2. using a triangle/block intersection test, further irrelevant blocks are sorted out +// (for long triangles that are crooked in space and where the bounding cube is suboptimal) +// 3. Each node of these blocks is tested against the bound cube of the triangle +// 4. Nodes that are within the cube but “within†the network are sorted out using a half-plane test +// 5. For the remaining nodes, the q determination is carried out using efficient ray tracing algorithms +// for the discrete Boltzmann directions +// B – Setting the inactive blocks and solid nodes +// all blocks of the bounding cube of the network that received at least one BC were marked in A +// 1. for unmarked blocks, ONE pointInObject (triangular network) test is sufficient for the entire block if successful +// mark “not activeâ€. +// 2. a recursive filling algorithm is carried out for marked blocks ////////////////////////////////////////////////////////////////////////// void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDistance, real stopDistance) { @@ -1316,8 +604,8 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis UBLOG(logDEBUG1, "D3Q27TriFaceMeshInteractor::refineBlockGridToLevel - start"); - // ToDo: evtl checken, ob man noch einen HalbraumCheck für StopDistance einbaut - // oder ob man schneller ist, wenn man gar keinen halbraum test macht... + // ToDo: maybe check whether you can install a half-space check for StopDistance + // or whether you're faster if you don't do a half-space test at all... if (!grid.lock()) throw UbException(UB_EXARGS, "Grid isn't exist!"); if (UbMath::greater(startDistance, 0.0)) @@ -1361,14 +649,14 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis assert((fabs(std::sqrt(triangle.nx * triangle.nx + triangle.ny * triangle.ny + triangle.nz * triangle.nz)) - 1.0f) < 1.0E-6); - // Halfspace um startDistance entgegen normale verscheiebn, ansonsten werden spaeter - // zu testende bloecke auf der dreicksrueckseite nicht getestet!!! + // Move halfspace around startDistance to normal, otherwise we will do it later + // blocks to be tested on the back of the triangle not tested!!! GbHalfSpace3D halfSpace( v1.x + startDistance * triangle.nx, v1.y + startDistance * triangle.ny, v1.z + startDistance * triangle.nz, v2.x + startDistance * triangle.nx, v2.y + startDistance * triangle.ny, v2.z + startDistance * triangle.nz, v3.x + startDistance * triangle.nx, v3.y + startDistance * triangle.ny, v3.z + startDistance * triangle.nz); - // Boundingbox um massgebliches dx erweitern -> zur Bestimmung der zu testenden Bloecke + // Expand the bounding box with relevant dx -> to determine the blocks to be tested if (triangle.nx > 1.0E-8) { minX1 = triangle.getMinX(nodes) + c21o20 * triangle.nx * startDistance; maxX1 = triangle.getMaxX(nodes) + c21o20 * triangle.nx * stopDistance; @@ -1394,8 +682,8 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis } int flag = 0; - // Levelweise alle Bloecke holen, die erweiterte BB schneiden - // und bearbeiten + // Get all the blocks that intersect extended BB level by level + // and edit for (int l = coarsestLevel; l < level; l++) { std::vector<SPtr<Block3D>> consideredBlocks; bgrid->getBlocksByCuboid(l, minX1, minX2, minX3, maxX1, maxX2, maxX3, consideredBlocks); @@ -1406,11 +694,11 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis if (block->getLevel() >= level) continue; - // start coordinaten des blocks ermitteln + // Determine the start coordinates of the block UbTupleDouble3 coords = bgrid->getBlockWorldCoordinates(block); UbTupleDouble3 deltas = bgrid->getBlockLengths(block); - // Check, ob block komplett im Halbraum + // Check whether the block is completely in the half space x1a = val<1>(coords); x1b = val<1>(coords) + val<1>(deltas); x2a = val<2>(coords); @@ -1437,9 +725,9 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis flag |= (1 << 7); // 128 if (true && flag != 255) { - // blockseite ermitteln (skalarprodukt dreiecks-normale, vector (midTri->midCub) ) - // je nachdem muss für den massgeblichen block start oder stopdistance verwendet werden - // liegt block auf pos seite -> stopdistance ansonsten startdistance + // determine block side (scalar product triangle-normal, vector (midTri->midCub) ) + // depending on this, start or stopdistance must be used for the relevant block + // block is on the pos side -> stopdistance otherwise startdistance double skalarprod = triangle.nx * (c1o2 * (x1a + x1b) - triangle.getX1Centroid(nodes)) + triangle.ny * (c1o2 * (x2a + x2b) - triangle.getX2Centroid(nodes)) + triangle.nz * (c1o2 * (x3a + x3b) - triangle.getX3Centroid(nodes)); @@ -1450,7 +738,7 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis else if (fabs(skalarprod) < 1.E-8) blockdelta = c21o20 * UbMath::max(-startDistance, stopDistance); - // block anpassen + // adjust block blockMinX[0] = (float)(val<1>(coords) - blockdelta); blockMinX[1] = (float)(val<2>(coords) - blockdelta); blockMinX[2] = (float)(val<3>(coords) - blockdelta); @@ -1481,7 +769,7 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, real startDis triPoints[2][1] = v3_.y; triPoints[2][2] = v3_.z; - // wenn block dreick schneidet, dann muss er verfeinert werden + // if block triangle cuts, then it needs to be refined if (GbMeshTools3D::triBoxOverlap(boxCenter, halfBoxSize, triPoints)) { bgrid->expandBlock(block->getX1(), block->getX2(), block->getX3(), block->getLevel()); } @@ -1554,270 +842,6 @@ void D3Q27TriFaceMeshInteractor::iterativeGridFill(CbArray3D<FLAGS> &flagfield, return; } ////////////////////////////////////////////////////////////////////////// -UbTupleDouble3 D3Q27TriFaceMeshInteractor::getForces() -{ - // FeTriFaceMesh3D* feMesh = dynamic_cast<FeTriFaceMesh3D*>(this->geoObject3D.get()); - // if(!feMesh) - //{ - // return D3Q19AMRInteractor::getForces(); - //} - ////return getForcesTriangle(); - // this->calculateForces(); - using namespace vf::basics::constant; - - real forceX1 = c0o1; - real forceX2 = c0o1; - real forceX3 = c0o1; - - // double area = 0.0; - - // vector<FeTriFaceMesh3D::VertexAttributes>* attributes = feMesh->getAttributes(); - - // for(size_t i=0; i<attributes->size(); i++) - //{ - // FeTriFaceMesh3D::VertexAttributes& attribut = (*attributes)[i]; - // area = attribut.getArea(); - // forceX1 += attribut.getFX()*area; - // forceX2 += attribut.getFY()*area; - // forceX3 += attribut.getFZ()*area; - //} - return { forceX1, forceX2, forceX3 }; -} -////////////////////////////////////////////////////////////////////////// -UbTupleDouble3 D3Q27TriFaceMeshInteractor::getForcesTriangle() -{ - using namespace vf::basics::constant; - - real forceX1 = c0o1; - real forceX2 = c0o1; - real forceX3 = c0o1; - - // D3Q19BlockGrid& grid.lock() = dynamic_cast<D3Q19BlockGrid&>(*this->grid.lock()); - //// CoordinateTransformation3D *trafo = this->grid.lock()->getTransformation(); - //// int minLevel = this->grid.lock()->getFinestInitializedLevel(); - //// double scaleX = trafo->getX1CoordinateScaling()/(1<<minLevel); - //// double scaleY = trafo->getX2CoordinateScaling()/(1<<minLevel); - //// double scaleZ = trafo->getX3CoordinateScaling()/(1<<minLevel); - //// int blocknx1 = grid.lock()->getBlockNX1(); - //// int blocknx2 = grid.lock()->getBlockNX2(); - //// int blocknx3 = grid.lock()->getBlockNX3(); - //// double xOffset = trafo->getX1CoordinateOffset(); - //// double yOffset = trafo->getX2CoordinateOffset(); - //// double zOffset = trafo->getX3CoordinateOffset(); - // vector<D3Q19Real> collFactors = ((D3Q19Calculator*)grid.lock()->getCalculator())->getCollisionsFactors(); - - ////for (int i=0;i<(int)gbTriangle3DInteractors.size(); i++) - ////{ - //// GbTriangle3D* tri = (GbTriangle3D*)gbTriangle3DInteractors[i]->getGbObject3D(); - - //// double px0 = tri->getX1Centroid(); - //// double py0 = tri->getX2Centroid(); - //// double pz0 = tri->getX3Centroid(); - //// double px = px0-xOffset; - //// double py = py0-yOffset; - //// double pz = pz0-zOffset; - //// px = px/scaleX; - //// py = py/scaleY; - //// pz = pz/scaleZ; - //// int x1 = (int)px; - //// int y1 = (int)py; - //// int z1 = (int)pz; - //// AMR3DBlock* block = this->grid.lock()->getBlock(x1,y1,z1,minLevel); - //// if(!block) block = this->grid.lock()->getSuperBlock(x1,y1,z1,minLevel); - //// if(!block) throw UbException(__FILE__,__LINE__,"kein Block ..."); - - //// double collFactor = collFactors[block->getLevel()]; - //// double nodeDistance = grid.lock()->getNodeDeltaX(block->getLevel()); - //// double bertX1 = ((px0-xOffset)/(1000.*nodeDistance)); - //// double bertX2 = ((py0-yOffset)/(1000.*nodeDistance)); - //// double bertX3 = ((pz0-zOffset)/(1000.*nodeDistance)); - //// int abstaendeX1 = (int)(bertX1*1000.); - //// int abstaendeX2 = (int)(bertX2*1000.); - //// int abstaendeX3 = (int)(bertX3*1000.); - //// int posW = abstaendeX1 - block->getX1Index()*blocknx1; - //// int posS = abstaendeX2 - block->getX2Index()*blocknx2; - //// int posB = abstaendeX3 - block->getX3Index()*blocknx3; - //// int posE=posW+1; - //// int posN=posS+1; - //// int posT=posB+1; - - //// D3Q19BlockDescriptor *bvd = dynamic_cast<D3Q19BlockDescriptor*>(block->getBlockDescriptor()); - //// if(!bvd) throw UbException(__FILE__,__LINE__,"kein Bvd ..."); - - //// CbUniformMatrix4D<double,IndexerX1X2X3X4>* tempdistributions = bvd->getTempDistributionMatrix(); - //// D3Q19BCMatrix<D3Q19BoundaryCondition> *bcMatrix = bvd->getBcMatrix(); - - //// UbTupleDouble6 stresses; - //// double dX = px0-this->geoObject3D->getX1Centroid(); - //// double dY = py0-this->geoObject3D->getX2Centroid(); - //// double dZ = pz0-this->geoObject3D->getX3Centroid(); - //// if(dX<=0.0 && dY<=0.0 && dZ<=0.0) - //// { - //// double *fWSB = tempdistributions->getStartAdressOfSortedArray(posW,posS,posB,0); - //// if(bcMatrix->isFluid(posW,posS,posB)) stresses = D3Q19System::getIncompStresses(fWSB, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX<=0.0 && dY>0.0 && dZ<=0.0) - //// { - //// double *fWNB = tempdistributions->getStartAdressOfSortedArray(posW,posN,posB,0); - //// if(bcMatrix->isFluid(posW,posN,posB)) stresses = D3Q19System::getIncompStresses(fWNB, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX<=0.0 && dY<=0.0 && dZ>0.0) - //// { - //// double *fWST = tempdistributions->getStartAdressOfSortedArray(posW,posS,posT,0); - //// if(bcMatrix->isFluid(posW,posS,posT)) stresses = D3Q19System::getIncompStresses(fWST, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX<=0.0 && dY>0.0 && dZ>0.0) - //// { - //// double *fWNT = tempdistributions->getStartAdressOfSortedArray(posW,posN,posT,0); - //// if(bcMatrix->isFluid(posW,posN,posT)) stresses = D3Q19System::getIncompStresses(fWNT, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX>0.0 && dY<=0.0 && dZ<=0.0) - //// { - //// double *fESB = tempdistributions->getStartAdressOfSortedArray(posE,posS,posB,0); - //// if(bcMatrix->isFluid(posE,posS,posB)) stresses = D3Q19System::getIncompStresses(fESB, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX>0.0 && dY>0.0 && dZ<=0.0) - //// { - //// double *fENB = tempdistributions->getStartAdressOfSortedArray(posE,posN,posB,0); - //// if(bcMatrix->isFluid(posE,posN,posB)) stresses = D3Q19System::getIncompStresses(fENB, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX>0.0 && dY<=0.0 && dZ>0.0) - //// { - //// double *fEST = tempdistributions->getStartAdressOfSortedArray(posE,posS,posT,0); - //// if(bcMatrix->isFluid(posE,posS,posT)) stresses = D3Q19System::getIncompStresses(fEST, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else if(dX>0.0 && dY>0.0 && dZ>0.0) - //// { - //// double *fENT = tempdistributions->getStartAdressOfSortedArray(posE,posN,posT,0); - //// if(bcMatrix->isFluid(posE,posN,posT)) stresses = D3Q19System::getIncompStresses(fENT, collFactor ); - //// else cout<<__LINE__<<" nicht fluid ..."; - //// } - //// else cout<<"punkt mit:"<<dX<<" "<<dY<<" "<<dZ<<" ist nicht bei \n"; - - //// double S11 = val<1>(stresses); - //// double S22 = val<2>(stresses); - //// double S33 = val<3>(stresses); - //// double S12 = val<4>(stresses); - //// double S13 = val<5>(stresses); - //// double S23 = val<6>(stresses); - - //// GbVector3D normal = tri->getNormal(); - //// double nx = normal.X1(); - //// double ny = normal.X2(); - //// double nz = normal.X3(); - //// double area = tri->getArea(); - - //// double Fx1 = area*(S11*nx+S12*ny+S13*nz); - //// double Fy1 = area*(S12*nx+S22*ny+S23*nz); - //// double Fz1 = area*(S13*nx+S23*ny+S33*nz); - //// forceX1 += Fx1; - //// forceX2 += Fy1; - //// forceX3 += Fz1; - ////} - return { forceX1, forceX2, forceX3 }; -} -////////////////////////////////////////////////////////////////////////// -void D3Q27TriFaceMeshInteractor::calculateForces() -{ - // FeTriFaceMesh3D* feMesh = dynamic_cast<FeTriFaceMesh3D*>(this->geoObject3D.get()); - // if(!feMesh) throw UbException(UB_EXARGS,"geoObject is not a FeTriFaceMesh3D!"); - - // if(this->stressMode == STRESSNORMAL) this->calculateStresses(); - // else if(this->stressMode == STRESSALTERNATIV) this->calculateStressesAlternativ(); - - // vector<FeTriFaceMesh3D::VertexAttributes>* attributes = feMesh->getAttributes(); - - // for (int i=0;i<(int)attributes->size() ;i++) - //{ - // FeTriFaceMesh3D::VertexAttributes& attribut = (*attributes)[i]; - // attribut.setFX(0.0); - // attribut.setFY(0.0); - // attribut.setFZ(0.0); - // attribut.setArea(0.0); - //} - // vector<GbTriFaceMesh3D::TriFace>& triangles = *feMesh->getTriangles(); - // vector<GbTriFaceMesh3D::Vertex>& nodes = *feMesh->getNodes(); - // for (size_t i=0; i<triangles.size(); i++) - //{ - // GbTriFaceMesh3D::TriFace& triangle = triangles[i]; - // FeTriFaceMesh3D::VertexAttributes& vAttribut1 = (*attributes)[triangle.v1]; - // FeTriFaceMesh3D::VertexAttributes& vAttribut2 = (*attributes)[triangle.v2]; - // FeTriFaceMesh3D::VertexAttributes& vAttribut3 = (*attributes)[triangle.v3]; - // UbTupleDouble6& stressesP1 = vAttribut1.getStresses(); - // UbTupleDouble6& stressesP2 = vAttribut2.getStresses(); - // UbTupleDouble6& stressesP3 = vAttribut3.getStresses(); - // double p1S11 = val<1>(stressesP1); double p2S11 = val<1>(stressesP2); double p3S11 = val<1>(stressesP3); - // double p1S22 = val<2>(stressesP1); double p2S22 = val<2>(stressesP2); double p3S22 = val<2>(stressesP3); - // double p1S33 = val<3>(stressesP1); double p2S33 = val<3>(stressesP2); double p3S33 = val<3>(stressesP3); - // double p1S12 = val<4>(stressesP1); double p2S12 = val<4>(stressesP2); double p3S12 = val<4>(stressesP3); - // double p1S13 = val<5>(stressesP1); double p2S13 = val<5>(stressesP2); double p3S13 = val<5>(stressesP3); - // double p1S23 = val<6>(stressesP1); double p2S23 = val<6>(stressesP2); double p3S23 = val<6>(stressesP3); - - // triangle.calculateNormal(nodes); - // double nx = triangle.nx; - // double ny = triangle.ny; - // double nz = triangle.nz; - // double area = 0.3333*triangle.getArea(nodes); - - // if(UbMath::lessEqual(area,0.0)) cout<<__FILE__<<" "<<__LINE__<<" area <= 0 "<<endl; - - // double Fx1 = - // area*(0.333*(p1S11*nx+p1S12*ny+p1S13*nz)+0.333*(p2S11*nx+p2S12*ny+p2S13*nz)+0.333*(p3S11*nx+p3S12*ny+p3S13*nz)); - // double Fx2 = Fx1; - // double Fx3 = Fx1; - - // double Fy1 = - // area*(0.333*(p1S12*nx+p1S22*ny+p1S23*nz)+0.333*(p2S12*nx+p2S22*ny+p2S23*nz)+0.333*(p3S12*nx+p3S22*ny+p3S23*nz)); - // double Fy2 = Fy1; - // double Fy3 = Fy1; - - // double Fz1 = - // area*(0.333*(p1S13*nx+p1S23*ny+p1S33*nz)+0.333*(p2S13*nx+p2S23*ny+p2S33*nz)+0.333*(p3S13*nx+p3S23*ny+p3S33*nz)); - // double Fz2 = Fz1; - // double Fz3 = Fz1; - // // cout<<Fx1<<" "<<Fy1<<" "<<Fz1<<endl; - // vAttribut1.addFX(Fx1); vAttribut2.addFX(Fx2); vAttribut3.addFX(Fx3); - // vAttribut1.addFY(Fy1); vAttribut2.addFY(Fy2); vAttribut3.addFY(Fy3); - // vAttribut1.addFZ(Fz1); vAttribut2.addFZ(Fz2); vAttribut3.addFZ(Fz3); - // vAttribut1.addArea(area); vAttribut2.addArea(area); vAttribut3.addArea(area); - //} - // for (size_t i=0; i<attributes->size(); i++) - //{ - // FeTriFaceMesh3D::VertexAttributes& attribut = (*attributes)[i]; - - // double newFX = attribut.getFX()/attribut.getArea(); - // double newFY = attribut.getFY()/attribut.getArea(); - // double newFZ = attribut.getFZ()/attribut.getArea(); - // //if(i==100) cout<<"F:"<<newFX<<" "<<newFY<<" "<<newFZ<<endl; - // //double oldFX = p->getOldFX(); - // //double oldFY = p->getOldFY(); - // //int alphaSteps = p->getFilteringSteps(); - // //double alpha = 1.0; - // //if(alphaSteps != 0) - // //{ - // // alpha = (1.0-alphaSteps*0.1); - // // // cout<<p->toString()<<" alpha:"<<alpha<<" steps:"<<alphaSteps<<endl; - // // p->reduceFilteringSteps(); - // //} - // //newFX = (1.-alpha)*oldFX+alpha*newFX; - // //newFY = (1.-alpha)*oldFY+alpha*newFY; - - // attribut.setFX(newFX); - // attribut.setFY(newFY); - // attribut.setFZ(newFZ); - // //cout<<i<<" "<<newFX<<" "<<newFY<<" "<<newFZ<<endl; - // //cout<<i<<" "<<p->toString()<<endl; - - //} -} -////////////////////////////////////////////////////////////////////////// string D3Q27TriFaceMeshInteractor::toString() { stringstream ss; @@ -1829,7 +853,7 @@ string D3Q27TriFaceMeshInteractor::toString() if (this->isTimeDependent()) ss << ", timedependent"; if (geoObject3D != NULL) - ss << ", AMR3DInteractor: " << geoObject3D->toString(); + ss << ", D3Q27TriFaceMeshInteractor: " << geoObject3D->toString(); ss << "]"; return ss.str(); @@ -1885,14 +909,14 @@ void D3Q27TriFaceMeshInteractor::reinitWithStoredQs(const real & /*timeStep*/) double x2w = qs[D3Q27System::FENDDIR + 1 + 1]; double x3w = qs[D3Q27System::FENDDIR + 1 + 2]; - // TODO: HACK GEHOERT NICHT HIERHIER!!! - start - // es handelt sich un ein statisches Objekt und beim Propeller gibt - // es Schwierigkeiten an den Flügelspitzen, dass kann daher kommen, - // dass dort zuviel bc-flaggs sind und mit Geschwindigkeit ergibt dies ziemlich grosse Werte + // TODO: HACK DOES NOT BELONG HERE!!! - begin + // it is a static object and the propeller is there + // there are difficulties at the wing tips, that can come from + // that there are too many bc flags and at speed this results in quite large values bc->setBoundaryVelocityX1(c0o1); bc->setBoundaryVelocityX2(c0o1); bc->setBoundaryVelocityX3(c0o1); - // TODO: HACK GEHOERT NICHT HIERHIER!!! - end + // TODO: HACK DOES NOT BELONG HERE!!! - end bool gotQs = false; for (int fdir = D3Q27System::FSTARTDIR; fdir <= D3Q27System::FENDDIR; fdir++) { diff --git a/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.h b/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.h index ddcac4ad22a50f31f1c1f884bc234b9bd49c6080..be864dbfb911f99c3573c73b7da646f5d2cbd2d9 100644 --- a/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.h +++ b/src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.h @@ -1,3 +1,39 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 D3Q27TriFaceMeshInteractor.h +//! \ingroup Interactor +//! \author Sören Freudiger +//! \author Sebastian Geller +//! \author Ehsan Kian Far +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef D3Q19AMRTRIFACEMESHINTERACTOR_H #define D3Q19AMRTRIFACEMESHINTERACTOR_H @@ -18,26 +54,16 @@ class Block3D; class D3Q27TriFaceMeshInteractor : public D3Q27Interactor { public: - static const int STRESSNORMAL = 0; - static const int STRESSALTERNATIV = 1; - D3Q27TriFaceMeshInteractor(); D3Q27TriFaceMeshInteractor(SPtr<Grid3D> grid, std::string name = "D3Q27TriFaceMeshInteractor"); D3Q27TriFaceMeshInteractor(SPtr<GbObject3D> geoObject3D, SPtr<Grid3D> grid, int type); - D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, SPtr<Grid3D> grid, SPtr<BC> BC, - int type); - D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, SPtr<Grid3D> grid, SPtr<BC> BC, - int type, Interactor3D::Accuracy a); - // D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, D3Q27BoundaryConditionAdapterPtr BC, int - // type, std::string name="D3Q27TriFaceMeshInteractor"); + D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, SPtr<Grid3D> grid, SPtr<BC> BC, int type); + D3Q27TriFaceMeshInteractor(SPtr<GbTriFaceMesh3D> triFaceMesh, SPtr<Grid3D> grid, SPtr<BC> BC, int type, Interactor3D::Accuracy a); ~D3Q27TriFaceMeshInteractor() override; void initInteractor(const real &timeStep = 0) override; - virtual void initInteractor2(const real &timeStep = 0); - void updateInteractor(const real ×tep = 0) override; - void updateMovedGeometry(const real &timeStep = 0); void setQs(const real &timeStep); void refineBlockGridToLevel(int level, real startDistance, real stopDistance); @@ -48,73 +74,21 @@ public: ObObject *clone() { throw UbException(UB_EXARGS, "not implemented"); } - UbTupleDouble3 getForces() override; - UbTupleDouble3 getForcesTriangle(); - - void setStressMode(int stressMode) { this->stressMode = stressMode; } - void setUseHalfSpaceCheck(bool useHalfSpace) { this->useHalfSpace = useHalfSpace; } - // void setReinitWithStoredQs(bool reinitWithStoredQsFlag) { this->reinitWithStoredQsFlag = reinitWithStoredQsFlag; - // } - - void calculateForces(); - void calculateStresses(); - void calculateStressesAlternativ(); - - void calcStressesLine(UbTupleDouble6 &stresses, const real &weight, const UbTupleDouble6 &stvW, - const UbTupleDouble6 &stvE); - void calcStressesFace(UbTupleDouble6 &stresses, const real &weightX, const real &weightY, - const UbTupleDouble6 &stvSW, const UbTupleDouble6 &stvSE, const UbTupleDouble6 &stvNE, - const UbTupleDouble6 &stvNW); - void calcStressesCube(UbTupleDouble6 &stresses, const real &weightX, const real &weightY, const real &weightZ, - const UbTupleDouble6 &stvBSW, const UbTupleDouble6 &stvBSE, const UbTupleDouble6 &stvBNE, - const UbTupleDouble6 &stvBNW, const UbTupleDouble6 &stvTSW, const UbTupleDouble6 &stvTSE, - const UbTupleDouble6 &stvTNE, const UbTupleDouble6 &stvTNW); - - void calculatePressure(); - void calcPressureLine(real &p, const real &weight, const real &pW, const real &pE); - void calcPressureFace(real &p, const real &weightX, const real &weightY, const real &pSW, const real &pSE, - const real &pNE, const real &pNW); - void calcPressureCube(real &p, const real &weightX, const real &weightY, const real &weightZ, - const real &pBSW, const real &pBSE, const real &pBNE, const real &pBNW, - const real &pTSW, const real &pTSE, const real &pTNE, const real &pTNW); - - void setForceShift(real forceshift) - { - this->forceshift = forceshift; - this->forceshiftpolicy = true; - } - void setVelocityShift(real velocityshift) - { - this->velocityshift = velocityshift; - this->velocityshiftpolicy = true; - } - real getForceShift() { return this->forceshift; } - real getVelocityShift() { return this->velocityshift; } - bool getForceShiftPolicy() { return forceshiftpolicy; } - bool getVelocityShiftPolicy() { return velocityshiftpolicy; } - void clearBcNodeIndicesAndQsMap() { this->bcNodeIndicesAndQsMap.clear(); } virtual std::string toString(); protected: - int stressMode; - - double forceshift{ 0.0 }; - double velocityshift{ 0.0 }; - bool forceshiftpolicy{ false }; - bool velocityshiftpolicy{ false }; bool useHalfSpace{ true }; bool regardPIOTest{ true }; void reinitWithStoredQs(const real &timeStep); // bool reinitWithStoredQsFlag; - std::map<SPtr<Block3D>, std::map<UbTupleInt3, std::vector<float>>> - bcNodeIndicesAndQsMap; //!!! es kann sein, dass in diesem interactor - // an eine rpos eine BC gesetzt wurde, aber derselbe node in - // in einem anderen in einen anderen Typ (z.B. Solid) geaendert - // wurde --> es ist keine BC mehr an der stelle! - + std::map<SPtr<Block3D>, std::map<UbTupleInt3, std::vector<float>>> bcNodeIndicesAndQsMap; + //!!! it may be that in this interactor + // a BC was set to an rpos, but the same node in + // changed to another type (e.g. Solid) in another + // became --> there is no longer any BC in the place! enum SolidCheckMethod { ScanLine, PointInObject }; enum FLAGS { BC_FLAG, UNDEF_FLAG, FLUID_FLAG, SOLID_FLAG, OLDSOLID_FLAG }; diff --git a/src/cpu/core/LBM/B92IncompressibleNavierStokes.cpp b/src/cpu/core/LBM/B92IncompressibleNavierStokes.cpp index a06a9a15d7e580d16d9be4763d09fad594bd56b3..8a7eda39bfb448a53cc0dcd072b54e3ff66e8fd6 100644 --- a/src/cpu/core/LBM/B92IncompressibleNavierStokes.cpp +++ b/src/cpu/core/LBM/B92IncompressibleNavierStokes.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 B92IncompressibleNavierStokes.cpp +//! \ingroup LBM +//! \author Konstantin Kutscher +//======================================================================================= + #include "B92IncompressibleNavierStokes.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/LBM/B92IncompressibleNavierStokes.h b/src/cpu/core/LBM/B92IncompressibleNavierStokes.h index 90a1618bf0a69f8eb2d1fe6d0f321ba7e44c0812..5d4abc92aab94bf629f026611825f9e24daf7aec 100644 --- a/src/cpu/core/LBM/B92IncompressibleNavierStokes.h +++ b/src/cpu/core/LBM/B92IncompressibleNavierStokes.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 B92IncompressibleNavierStokes.h +//! \ingroup LBM +//! \author Konstantin Kutscher +//======================================================================================= #ifndef B92IncompressibleNavierStokes_H #define B92IncompressibleNavierStokes_H diff --git a/src/cpu/core/LBM/D3Q27System.cpp b/src/cpu/core/LBM/D3Q27System.cpp index 174c7d8e30b5604da6a5dc71acbcd7b51bf0197a..d0968610aacac40599cc44e3801fac28d940d46d 100644 --- a/src/cpu/core/LBM/D3Q27System.cpp +++ b/src/cpu/core/LBM/D3Q27System.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 D3Q27System.cpp +//! \ingroup LBM +//! \author Konstantin Kutscher, Sebastian Geller, Soeren Freudiger +//======================================================================================= #include "D3Q27System.h" #include "lbm/MacroscopicQuantities.h" @@ -8,17 +40,10 @@ namespace D3Q27System using namespace vf::basics::constant; using namespace vf::lbm::dir; -// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 -// f: E, W, N, S, T, B, NE, SW, SE, NW, TE, BW, BE, TW, TN, BS, BN, TS, TNE TNW TSE TSW BNE BNW BSE BSW -//const int DX1[] = { 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; -//const int DX2[] = { 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; -//const int DX3[] = { 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; - -// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 -// f: REST, E, W, N, S, T, B, NE, SW, SE, NW, TE, BW, BE, TW, TN, BS, BN, TS, TNE TNW TSE TSW BNE BNW BSE BSW -const int DX1[] = { 0, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; -const int DX2[] = { 0, 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; -const int DX3[] = { 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; +// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +const int DX1[] = { 0, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; +const int DX2[] = { 0, 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; +const int DX3[] = { 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; const real WEIGTH[] = { c8o27, c2o27, c2o27, c2o27, c2o27, c2o27, c2o27, @@ -29,13 +54,6 @@ const int INVDIR[] = { d000, iP00, iM00, i0P0, i0M0, i00P, i00M, iPP0, iMM0, iPM0, iMP0, iP0P, iM0M, iP0M, iM0P, i0PP, i0MM, i0PM, i0MP, iPPP, iMPP, iPMP, iMMP, iPPM, iMPM, iPMM, iMMM }; -// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -// direction: E, W, N, S, T, B, NE, SW, SE, NW, TE, BW, BE, TW, TN, BS, BN, TS, TNE TNW TSE TSW BNE BNW BSE -// BSW -//const int EX1[] = { 0, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; -//const int EX2[] = { 0, 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; -//const int EX3[] = { 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; - ////////////////////////////////////////////////////////////////////////// diff --git a/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.cpp b/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.cpp index e659227a0b09cb7ba214770efa9b19da33b2ee37..eb9e06c6e4cb590f4764e438f59ca397366b1be6 100644 --- a/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.cpp +++ b/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 CompressibleOffsetMomentsInterpolator.cpp +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= + #include "CompressibleOffsetMomentsInterpolator.h" #include <algorithm> diff --git a/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.h b/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.h index 444170d565fc80cf735cd134f0b46ac54fc38902..56488e9a453ed63934d8078c6d33018e68f20b33 100644 --- a/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.h +++ b/src/cpu/core/LBM/Interpolation/CompressibleOffsetMomentsInterpolator.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 CompressibleOffsetMomentsInterpolator.h +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef CompressibleOffsetMomentsInterpolationProcessor_H_ #define CompressibleOffsetMomentsInterpolationProcessor_H_ diff --git a/src/cpu/core/LBM/Interpolation/ICell.h b/src/cpu/core/LBM/Interpolation/ICell.h index e9b07b1eee9b5819c95203ceabe4af1afd562e7d..52e751d91a72f7ae1804705ba1240da1559911c4 100644 --- a/src/cpu/core/LBM/Interpolation/ICell.h +++ b/src/cpu/core/LBM/Interpolation/ICell.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 ICell.h +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= #ifndef ICell_H #define ICell_H diff --git a/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.cpp b/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.cpp index 5858172934a1fd6f0e0e0de270cb9c436d0d2f17..49539eb2d83b28d93061bd319c8771140be00441 100644 --- a/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.cpp +++ b/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 IncompressibleOffsetInterpolator.cpp +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= + #include "IncompressibleOffsetInterpolator.h" #include "D3Q27System.h" diff --git a/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.h b/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.h index 1944199fd22857bd80c84cb6fcaba43ed4133827..aeac4204020edea3c7ce6f48685f841cdcd3821d 100644 --- a/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.h +++ b/src/cpu/core/LBM/Interpolation/IncompressibleOffsetInterpolator.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 IncompressibleOffsetInterpolator.h +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef IncompressibleOffsetInterpolationProcessor_H_ #define IncompressibleOffsetInterpolationProcessor_H_ diff --git a/src/cpu/core/LBM/Interpolation/Interpolator.cpp b/src/cpu/core/LBM/Interpolation/Interpolator.cpp index 8bbd38b51b8351a93c4a544c50abc6194aed6648..cb37a27f2a2d5deb01b813ec5d71b7280cfa9aae 100644 --- a/src/cpu/core/LBM/Interpolation/Interpolator.cpp +++ b/src/cpu/core/LBM/Interpolation/Interpolator.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 Interpolator.cpp +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= + #include "Interpolator.h" diff --git a/src/cpu/core/LBM/Interpolation/Interpolator.h b/src/cpu/core/LBM/Interpolation/Interpolator.h index 81a0d7a363b73a01f079c412b2fd97765841d939..bb54ca3ac568a4429155f69ddc9296218b22b453 100644 --- a/src/cpu/core/LBM/Interpolation/Interpolator.h +++ b/src/cpu/core/LBM/Interpolation/Interpolator.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 Interpolator.h +//! \ingroup Interpolation +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef CPU_INTERPOLATER_H #define CPU_INTERPOLATER_H diff --git a/src/cpu/core/LBM/K15CompressibleNavierStokes.cpp b/src/cpu/core/LBM/K15CompressibleNavierStokes.cpp index afbeb1b630b6853c85c5565fbbfdf5009a09e3ad..6ddb3fa039ba9c498a3ecc27ba371eb2c3723845 100644 --- a/src/cpu/core/LBM/K15CompressibleNavierStokes.cpp +++ b/src/cpu/core/LBM/K15CompressibleNavierStokes.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 K15CompressibleNavierStokes.cpp +//! \ingroup LBM +//! \author Konstantin Kutscher +//======================================================================================= #include "K15CompressibleNavierStokes.h" #include "D3Q27System.h" #include "Interpolator.h" diff --git a/src/cpu/core/LBM/K15CompressibleNavierStokes.h b/src/cpu/core/LBM/K15CompressibleNavierStokes.h index fd0b4e9e6005a844108778a7b9fdfa7dd7dded28..5c4ccaad462be1530b59182b7e6ed08cb1bf1270 100644 --- a/src/cpu/core/LBM/K15CompressibleNavierStokes.h +++ b/src/cpu/core/LBM/K15CompressibleNavierStokes.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 K15CompressibleNavierStokes.h +//! \ingroup LBM +//! \author Konstantin Kutscher +//======================================================================================= #ifndef K15CompressibleNavierStokes_h__ #define K15CompressibleNavierStokes_h__ diff --git a/src/cpu/core/LBM/K16IncompressibleNavierStokes.cpp b/src/cpu/core/LBM/K16IncompressibleNavierStokes.cpp index b40145bfad20fb9f5b9684ff8b9bdbe00f960e92..de823d055112b9c625bcdd2f14e8a8fa2425e0fc 100644 --- a/src/cpu/core/LBM/K16IncompressibleNavierStokes.cpp +++ b/src/cpu/core/LBM/K16IncompressibleNavierStokes.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 K16IncompressibleNavierStokes.cpp +//! \ingroup LBM +//! \author Konstantin Kutscher +//======================================================================================= #include "K16IncompressibleNavierStokes.h" #include "D3Q27System.h" #include "Interpolator.h" diff --git a/src/cpu/core/LBM/K16IncompressibleNavierStokes.h b/src/cpu/core/LBM/K16IncompressibleNavierStokes.h index f7c8a1dc0329150f1847c12c2c2c52c636e46b21..1e995807e16b64da4f75ceb8962e28261e656472 100644 --- a/src/cpu/core/LBM/K16IncompressibleNavierStokes.h +++ b/src/cpu/core/LBM/K16IncompressibleNavierStokes.h @@ -1,4 +1,35 @@ -//Cascaded Cumulant LBM +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 K16IncompressibleNavierStokes.h +//! \ingroup LBM +//! \author Konstantin Kutscher +//======================================================================================= #ifndef K16IncompressibleNavierStokes_H #define K16IncompressibleNavierStokes_H diff --git a/src/cpu/core/LBM/K17CompressibleNavierStokes.cpp b/src/cpu/core/LBM/K17CompressibleNavierStokes.cpp index 6d8cfb7ec48721b20c371427221388bbac959a3b..b7bfb36e839075bcd7972acffad44a17ad142c6b 100644 --- a/src/cpu/core/LBM/K17CompressibleNavierStokes.cpp +++ b/src/cpu/core/LBM/K17CompressibleNavierStokes.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 CumulantK17LBMKernel.cpp +//! \file K17CompressibleNavierStokes.cpp //! \ingroup LBM //! \author Konstantin Kutscher, Martin Geier //======================================================================================= diff --git a/src/cpu/core/LBM/K17CompressibleNavierStokes.h b/src/cpu/core/LBM/K17CompressibleNavierStokes.h index 6c6268206b09398ab07150f3a03fd2cdeaf40e30..0ce69b414b7ebe3ecfdc5ff5f954f8cac9e2e551 100644 --- a/src/cpu/core/LBM/K17CompressibleNavierStokes.h +++ b/src/cpu/core/LBM/K17CompressibleNavierStokes.h @@ -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 CumulantK17LBMKernel.h +//! \file K17CompressibleNavierStokes.h //! \ingroup LBM //! \author Konstantin Kutscher, Martin Geier //======================================================================================= diff --git a/src/cpu/core/Parallel/MPIIODataStructures.h b/src/cpu/core/Parallel/MPIIODataStructures.h index aa10500fb3acf71e74afb8f5d7a22aadccf84e53..77ffb295cbe9405a2dbc12ab80ea55909703bfde 100644 --- a/src/cpu/core/Parallel/MPIIODataStructures.h +++ b/src/cpu/core/Parallel/MPIIODataStructures.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 MPIIODataStructures.h +//! \ingroup Parallel +//! \author Alena Karanchuk +//======================================================================================= + #ifndef _MPI_STRUCTURES_H_ #define _MPI_STRUCTURES_H_ diff --git a/src/cpu/core/Parallel/MetisPartitioner.cpp b/src/cpu/core/Parallel/MetisPartitioner.cpp index a2da1904ecbfda60be9139aa9ded1cb1b5efc15f..da7c4200b59034920f80e76c5d9ddfd43c9f148d 100644 --- a/src/cpu/core/Parallel/MetisPartitioner.cpp +++ b/src/cpu/core/Parallel/MetisPartitioner.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 MetisPartitioner.cpp +//! \ingroup Parallel +//! \author Konstantin Kutscher +//======================================================================================= #if defined VF_METIS #include "MetisPartitioner.h" diff --git a/src/cpu/core/Parallel/MetisPartitioner.h b/src/cpu/core/Parallel/MetisPartitioner.h index 18e222760bf4a0c93db17ea6fa96a6afdf7f3313..d547e238f005e32e454c768b9f53577c8e5d5a9c 100644 --- a/src/cpu/core/Parallel/MetisPartitioner.h +++ b/src/cpu/core/Parallel/MetisPartitioner.h @@ -1,9 +1,36 @@ -/** - * @file MetisPartitioner.h - * @brief Class use METIS library for graph-based partitioning. - * @author Kostyantyn Kucher - * @date 22.09.2011 - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 MetisPartitioner.h +//! \ingroup Parallel +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef METISPARTITIONER_H #define METISPARTITIONER_H @@ -16,6 +43,12 @@ #include <string> #include <vector> + +//! \brief Class use METIS library for graph-based partitioning. +//! \author Konstantin Kutscher +//! \date 22.09.2011 + + class MetisPartitioner { public: diff --git a/src/cpu/core/Simulation/Block3D.cpp b/src/cpu/core/Simulation/Block3D.cpp index 856924874f853b60c617c33a5d0f3c7084da762f..83fa8dc5cd61424a8746fc0be7590dff18af0f89 100644 --- a/src/cpu/core/Simulation/Block3D.cpp +++ b/src/cpu/core/Simulation/Block3D.cpp @@ -27,7 +27,7 @@ // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Block3D.cpp -//! \ingroup Grid +//! \ingroup Simulation //! \author Konstantin Kutscher //======================================================================================= diff --git a/src/cpu/core/Simulation/Grid3D.cpp b/src/cpu/core/Simulation/Grid3D.cpp index 635f92ad6cb9ee90151c06509b9d329601d83998..0564ccc79ef674878ea9b1b6f09fc964a6c9877a 100644 --- a/src/cpu/core/Simulation/Grid3D.cpp +++ b/src/cpu/core/Simulation/Grid3D.cpp @@ -27,7 +27,7 @@ // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Grid.cpp -//! \ingroup Grid +//! \ingroup Simulation //! \author Konstantin Kutscher //======================================================================================= diff --git a/src/cpu/core/Simulation/Simulation.cpp b/src/cpu/core/Simulation/Simulation.cpp index c4766c8cfd0865880fa2df2a76e9a28036915dea..3550be7be2bd50b0fb0d24b8ade4e3aa3e749c43 100644 --- a/src/cpu/core/Simulation/Simulation.cpp +++ b/src/cpu/core/Simulation/Simulation.cpp @@ -27,7 +27,7 @@ // with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Simulation.cpp -//! \ingroup Grid +//! \ingroup Simulation //! \author Konstantin Kutscher //======================================================================================= diff --git a/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.cpp b/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.cpp index d062f8395ed5d3c26867ef2fc0c1bac1e5f7e7f3..14bdf94d70a3c8659d05d5ffc046a14a4546b8fa 100644 --- a/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.cpp @@ -1,7 +1,35 @@ -/* - * D3Q27AdjustForcingSimulationObserver.cpp - * Author: Konstantin Kutscher - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 AdjustForcingSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "AdjustForcingSimulationObserver.h" #include <fstream> diff --git a/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.h b/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.h index 13f88c71162efcca53b913891955b6216b3c943f..058cdbdf6f8e8d735c1b8ccf93c5b944a42af8d7 100644 --- a/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/AdjustForcingSimulationObserver.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 AdjustForcingSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef D3Q27ADJUSTFORCINGSimulationObserver_H #define D3Q27ADJUSTFORCINGSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.cpp b/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.cpp index f0e2d84af4fa33ae7fc2145a1a94a130eaa1136e..718dd511cae0da7e79b0fb6e33c4ec4d0719f42f 100644 --- a/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.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 AverageValuesSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "AverageValuesSimulationObserver.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h b/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h index b5ce823ba3cedffd145d0d513c5acf715a631430..a6e5d0b1b7f2d52c6890db586d5ecb6175dd5356 100644 --- a/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/AverageValuesSimulationObserver.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 AverageValuesSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef AverageValuesSimulationObserver_H #define AverageValuesSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp b/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp index 1b210d55e82440df4cfe6cf6116f3f9747eba850..d8a76b96e4fab1b98d41e3bad794943fe0bf33e3 100644 --- a/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.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 CalculateForcesSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "CalculateForcesSimulationObserver.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.h b/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.h index e1d376f4c6938b3874cd2a0eebedae294bd502b1..1f3ec3ea621edeccc42127d2c85d0443ccd46ede 100644 --- a/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/CalculateForcesSimulationObserver.h @@ -1,10 +1,35 @@ -/* - * D3Q27ForcesSimulationObserver.h - * - * Created on: 29.09.2012 - * Author: K. Kucher - */ - +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 CalculateForcesSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef D3Q27ForcesSimulationObserver_H #define D3Q27ForcesSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.cpp b/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.cpp index ffbfde51ce2d8100cc845364e31038180892f800..0bf1c428363a1884f216dbeacaebc958ebcb4c85 100644 --- a/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.cpp @@ -1,9 +1,36 @@ -/* - * DecreaseViscositySimulationObserver - * - * Created on: 10.05.2013 - * Author: uphoff - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 DecreaseViscositySimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Sonja Uphoff +//======================================================================================= + #include "DecreaseViscositySimulationObserver.h" diff --git a/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.h b/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.h index 741b65783c2634d45f6d012f67e1f42283b22d9c..7e439055005a7df4ba9c7012f7ff74a3a80e4e6e 100644 --- a/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.h +++ b/src/cpu/core/SimulationObservers/DecreaseViscositySimulationObserver.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 DecreaseViscositySimulationObserver.h +//! \ingroup SimulationObservers +//! \author Sonja Uphoff +//======================================================================================= #ifndef DecreaseViscositySimulationObserver_H #define DecreaseViscositySimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.cpp b/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.cpp index ea6287ff358bce160791c7ab16568a9cc4a989bb..4d1265fcbb6ab0a0c70d19efc3a8eb15814e42f8 100644 --- a/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.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 EmergencyExitSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "EmergencyExitSimulationObserver.h" #include <parallel/Communicator.h> #include "Grid3D.h" diff --git a/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.h b/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.h index f2757d8ed842f14d77b16b7d1aa2821e5a8b8d72..d99461f5870dc9eec14c29fbb65054cd0199efec 100644 --- a/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/EmergencyExitSimulationObserver.h @@ -1,9 +1,35 @@ -/* - * EmergencyExitSimulationObserver.h - * - * Created on: 05.10.2012 - * Author: K. Kucher - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 EmergencyExitSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef EmergencyExitSimulationObserver_H #define EmergencyExitSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/ForceCalculator.cpp b/src/cpu/core/SimulationObservers/ForceCalculator.cpp index 6b57cf6f99c66e219d619ada02d9f0e299a088ee..5746e419948ed457473bbd3276c53aec375b17e1 100644 --- a/src/cpu/core/SimulationObservers/ForceCalculator.cpp +++ b/src/cpu/core/SimulationObservers/ForceCalculator.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 ForceCalculator.h +//! \ingroup SimulationObservers +//! \author Sören Peters +//======================================================================================= #include "ForceCalculator.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/ForceCalculator.h b/src/cpu/core/SimulationObservers/ForceCalculator.h index 6f7266d8e49a0f1e9cce4192712b37f1306ff5e0..a3af28f0928c06c9eb49c28ebf6e93759b5e8521 100644 --- a/src/cpu/core/SimulationObservers/ForceCalculator.h +++ b/src/cpu/core/SimulationObservers/ForceCalculator.h @@ -1,9 +1,36 @@ -/* - * ForceCalculator.h - * - * Created on: 25.10.2017 - * Author: S. Peters - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 ForceCalculator.h +//! \ingroup SimulationObservers +//! \author Sören Peters +//======================================================================================= + #include "lbm/constants/D3Q27.h" #ifndef ForceCalculator_H diff --git a/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.cpp b/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.cpp index 07040524541aa8168cd186c98d7a7882be1a332a..bd03c24c37f0bff89efc8ec3ae25084dbb89afc6 100644 --- a/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.cpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 InSituCatalystSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= + #ifdef VF_CATALYST #include "InSituCatalystSimulationObserver.h" diff --git a/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.h b/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.h index f81fe767a448a75f04d8cf965b33a14cdf36b2b4..b1832fd5798cf76053e84d6be1060237286e46f2 100644 --- a/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 InSituCatalystSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= + #ifdef VF_CATALYST #ifndef InSituCatalystSimulationObserver_h__ diff --git a/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.cpp b/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.cpp index 6728a96f1eccc0cf4a7eaf51e8b8baf53e1b4528..36086cf0f67989696d55becd27eb04b06eb05a31 100644 --- a/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.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 InSituVTKSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifdef VF_VTK #include "InSituVTKSimulationObserver.h" diff --git a/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.h b/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.h index 1171c54252fa315d1e9e84caed34d2596b9520c2..1607e3a7a37a205f35a13c483663ab5c0e144a35 100644 --- a/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.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 InSituVTKSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifdef VF_VTK #ifndef InSituVTKSimulationObserver_h__ diff --git a/src/cpu/core/SimulationObservers/IntegrateValuesHelper.cpp b/src/cpu/core/SimulationObservers/IntegrateValuesHelper.cpp index 76c4a5aa570b0badd4e050e4938d728521f14f71..94f61929fd749f7bd6934bd795d7e67beb0d8ff1 100644 --- a/src/cpu/core/SimulationObservers/IntegrateValuesHelper.cpp +++ b/src/cpu/core/SimulationObservers/IntegrateValuesHelper.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 IntegrateValuesHelper.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "IntegrateValuesHelper.h" #include <geometry3d/CoordinateTransformation3D.h> diff --git a/src/cpu/core/SimulationObservers/IntegrateValuesHelper.h b/src/cpu/core/SimulationObservers/IntegrateValuesHelper.h index a5cfc4aa67fa1759d2bf73b8bea5592633825d77..470420d09e96f8fb75946664abe9fe8b9c0faa9a 100644 --- a/src/cpu/core/SimulationObservers/IntegrateValuesHelper.h +++ b/src/cpu/core/SimulationObservers/IntegrateValuesHelper.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 IntegrateValuesHelper.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef INTEGRATEVALUESHELPER_H #define INTEGRATEVALUESHELPER_H diff --git a/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.cpp b/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.cpp index 091044960b2513bf25f63a23086153d8e98dbfb4..8af7d93c4df1318b05f56214765f4dc34b06ad91 100644 --- a/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.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 LineTimeSeriesSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "LineTimeSeriesSimulationObserver.h" #include "BCSet.h" #include "WbWriterVtkXmlASCII.h" diff --git a/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.h b/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.h index db4fea82f2aecfd87a4c90cdea36cc310b73aabe..b2d0f1df808a25960771e2ee48261fdbdd3556b3 100644 --- a/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.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 LineTimeSeriesSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef LineTimeSeriesSimulationObserver_h__ #define LineTimeSeriesSimulationObserver_h__ diff --git a/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.cpp b/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.cpp index 23fcb0c1ac8b0e92c5ec197ac5ea9062fca34ff8..091f5b1f8cd514f4afae8f7c4d3cdd06a3c8922c 100644 --- a/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.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 MPIIOMigrationBESimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #include "MPIIOMigrationBESimulationObserver.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.h b/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.h index cec360a7300e07909c0b5b6bc14a7969f8686264..0ee552664061b2fa4c0f2d11bc65cbee8b86b688 100644 --- a/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.h +++ b/src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.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 MPIWriteBlocksBESimulationObserver.h +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #ifndef _MPIIOMigrationBESimulationObserver_H_ #define _MPIIOMigrationBESimulationObserver_H_ diff --git a/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.cpp b/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.cpp index b6e5cae7536b68f2a80f088313d8f0c2471471b6..b99b474c0100690b7a6f539ab3ed287d0d7b435c 100644 --- a/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.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 MPIIOMigrationSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #include "MPIIOMigrationSimulationObserver.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.h b/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.h index 4e7d1ba44644cef527a623ea8b94cb28ac9474ac..a8f4aa86cc227da8d36943a1f98db6dc0a0f64f0 100644 --- a/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/MPIIOMigrationSimulationObserver.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 MPIIOMigrationSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #ifndef _MPIIOMigrationSimulationObserver_H_ #define _MPIIOMigrationSimulationObserver_H_ diff --git a/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.cpp b/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.cpp index e0e65a3ba3d095e4b6b0a312325753cc579610dd..e47b86e222c0f6629a645505ddc3df6bed0f5af1 100644 --- a/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.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 MPIIORestartSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #include "MPIIORestartSimulationObserver.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.h b/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.h index d07bf6b77b8a4f56da0d4a6c88139f4d01bca104..3e71fbf220eaa6341acb9f60ae5182912f48cdb5 100644 --- a/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/MPIIORestartSimulationObserver.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 MPIIORestartSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #ifndef _MPIIORestartSimulationObserver_H_ #define _MPIIORestartSimulationObserver_H_ diff --git a/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.cpp b/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.cpp index 644a420531fed62b9da51effe0293fd4c21ef0f4..604da7b0edf55887eabb1a5d9e83a4d3a3051c3a 100644 --- a/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.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 MPIIOSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #include "MPIIOSimulationObserver.h" #include "Block3D.h" #include <parallel/Communicator.h> diff --git a/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.h b/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.h index 9ecaf89a74d2f42db7d35349b27389f0f1cfc796..218dcd687d8ffeaa6acb67f015e895e51758e91d 100644 --- a/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/MPIIOSimulationObserver.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 MPIIOSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Alena Karanchuk +//======================================================================================= #ifndef _MPIIOSimulationObserver_H_ #define _MPIIOSimulationObserver_H_ diff --git a/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.cpp b/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.cpp index 5575cc53e8d40f9a322d3912a8346403b04e75f3..323728ddec59a7bc66f585acc2135197101f6126 100644 --- a/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.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 MicrophoneArraySimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "MicrophoneArraySimulationObserver.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.h b/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.h index f95b435ba8b784c9e7d25ac80399239460144c9b..7495f4dff9521e668ac6a9d99274498ca79d2177 100644 --- a/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.h +++ b/src/cpu/core/SimulationObservers/MicrophoneArraySimulationObserver.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 MicrophoneArraySimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef MicrophoneArraySimulationObserver_h__ #define MicrophoneArraySimulationObserver_h__ diff --git a/src/cpu/core/SimulationObservers/NUPSCounterSimulationObserver.cpp b/src/cpu/core/SimulationObservers/NUPSCounterSimulationObserver.cpp index 9fd7a3bef5375969d7f79da0b5d8478d369eb241..37357f48cb3573b88941336f722497a0d182d1a5 100644 --- a/src/cpu/core/SimulationObservers/NUPSCounterSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/NUPSCounterSimulationObserver.cpp @@ -33,10 +33,15 @@ #include "NUPSCounterSimulationObserver.h" -#include <parallel/Communicator.h> +#include "parallel/Communicator.h" +#include "logger/Logger.h" #include "Grid3D.h" #include "UbScheduler.h" +#ifdef _OPENMP +#include <omp.h> +#endif + NUPSCounterSimulationObserver::NUPSCounterSimulationObserver(SPtr<Grid3D> grid, SPtr<UbScheduler> s, int numOfThreads, std::shared_ptr<vf::parallel::Communicator> comm) : SimulationObserver(grid, s), numOfThreads(numOfThreads), nup(0), nup_t(0), nupsStep(0.0), comm(comm) @@ -71,15 +76,16 @@ void NUPSCounterSimulationObserver::collectData(real step) { if (comm->getProcessID() == comm->getRoot()) { timer.end(); - double time = timer.getCurrentRuntimeInSeconds(); - double nups_t = nup_t * (step - nupsStep) / time; - double nups = nup * (step - nupsStep) / time; - double tnups = nups / (double)numOfThreads; - UBLOG(logINFO, "Calculation step = " << step); - UBLOG(logINFO, "Total performance = " << nups_t << " NUPS"); - UBLOG(logINFO, "Performance per update = " << nups << " NUPS"); - UBLOG(logINFO, "Performance per thread = " << tnups << " NUPS"); - UBLOG(logINFO, "Time for " << step - nupsStep << " steps = " << time << " s"); + real time = timer.getCurrentRuntimeInSeconds(); + real nups_t = nup_t * (step - nupsStep) / time; + real nups = nup * (step - nupsStep) / time; + real tnups = nups / numOfThreads; + VF_LOG_INFO("Calculation step = {}", step); + VF_LOG_INFO("Number of threads = {}", numOfThreads); + VF_LOG_INFO("Total performance = {:03.2e} NUPS", nups_t); + VF_LOG_INFO("Performance per process = {:03.2e} NUPS", nups); + VF_LOG_INFO("Performance per thread = {:03.2e} NUPS", tnups); + VF_LOG_INFO("Time for {} steps = {} s", step - nupsStep, time ); nupsStep = step; timer.start(); } diff --git a/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.cpp b/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.cpp index d82a51e175075ad211ac6d6c187b707e605cb7fe..fd5ce59c3f24ee241efff67c051acad4b41d5818 100644 --- a/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.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 PressureCoefficientSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "PressureCoefficientSimulationObserver.h" #include <WbWriterVtkXmlASCII.h> diff --git a/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h b/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h index 16e14af6420c5b1f634bb3f7988ba9c3f8595881..12cc43ca10c698d3eaec99ce99e230a9bd885d1a 100644 --- a/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.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 PressureCoefficientSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef PressureCoefficientSimulationObserver_h__ #define PressureCoefficientSimulationObserver_h__ diff --git a/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.cpp b/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.cpp index 3576349e3ac9b9f421c4dbf7476a5869a0fb9930..995ca211d074846952fbefce86d960a93de1bfbb 100644 --- a/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.cpp @@ -1,9 +1,35 @@ -/* - * D3Q27RhoSimulationObserver.cpp - * - * Created on: 28.12.2010 - * Author: kucher - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 PressureDifferenceSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "PressureDifferenceSimulationObserver.h" diff --git a/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.h b/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.h index df9d5364bf68921ebf1c567f0cdfd4c4ed76a92a..abf75694243cda8e295924af7b1bb8cd1870d474 100644 --- a/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/PressureDifferenceSimulationObserver.h @@ -1,9 +1,35 @@ -/* - * D3Q27PressureDifferenceSimulationObserver.h - * - * Created on: 28.12.2010 - * Author: kucher - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 PressureDifferenceSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef D3Q27PRESSUREDIFFERENCESimulationObserver_H #define D3Q27PRESSUREDIFFERENCESimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.cpp b/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.cpp index e6689b697cfef95636f882018d5bf9e81a6d9309..755c92021c114e7172d609e3dd8d5825a099ee2e 100644 --- a/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.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 QCriterionSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Sonja Uphoff +//======================================================================================= #include "QCriterionSimulationObserver.h" #include "BCSet.h" #include "Block3D.h" diff --git a/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h b/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h index 806829092ff3b0ff8fb77b5d50264c6a11d527c3..ebca5bd88de2f59991aacbed9a90e4fc8fe45db8 100644 --- a/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/QCriterionSimulationObserver.h @@ -1,6 +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 QCriterionSimulationObserver.h -//! \brief Created on: 25.08.2013 -//! \author: Sonja Uphoff +//! \ingroup SimulationObservers +//! \author Sonja Uphoff +//======================================================================================= #ifndef QCriterionSimulationObserver_H #define QCriterionSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.cpp b/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.cpp index c6818f3663146e4e93c8ef383d90606e64ea1863..d23c59579e79b54d8902c17839e6197df693d679 100644 --- a/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.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 ShearStressSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher, S. Uphoff, M. Geier, E. Goraki Fard +//======================================================================================= #include "ShearStressSimulationObserver.h" #include "BCSet.h" #include "WbWriterVtkXmlASCII.h" diff --git a/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h b/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h index 66a76356d5a1fe8d7b096e3db0e1452dca8d613f..7e7ffdfa3cc65b0788120138719fc9fe963a9af5 100644 --- a/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/ShearStressSimulationObserver.h @@ -1,5 +1,37 @@ -#ifndef D3Q27ShearStressSimulationObserver_H -#define D3Q27ShearStressSimulationObserver_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 ShearStressSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher, S. Uphoff, M. Geier, E. Goraki Fard +//======================================================================================= +#ifndef ShearStressSimulationObserver_H +#define ShearStressSimulationObserver_H #include <PointerDefinitions.h> #include <string> diff --git a/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.cpp b/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.cpp index 5161e887b63c8c0b1ed945839a00f25b2fb5d070..0fc338c2c4e0871884c0dc685d50e688c13b40e5 100644 --- a/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.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 TimeAveragedValuesSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "TimeAveragedValuesSimulationObserver.h" #include "BCSet.h" diff --git a/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h b/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h index a9f78137b8452f476dc37f8dfac711c9a414e889..53b7ca4a621af8df7d8785bd0b739bbfe02c34d9 100644 --- a/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.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 TimeAveragedValuesSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef TimeAveragedValuesSimulationObserver_H #define TimeAveragedValuesSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.cpp b/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.cpp index cedf228b665fff58a777f01aee8832c0e8e1cec4..bdb05ae322e3d73ac8d8c4e4ccc627a2dcd4397f 100644 --- a/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.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 TimeDependentBCSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "TimeDependentBCSimulationObserver.h" #include "Grid3D.h" diff --git a/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.h b/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.h index 0c72054f2feadcaa6cf9792453d1e3389e7213bb..c8ba0a182ec9c77d9f6ec19571bd6b4156c35528 100644 --- a/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/TimeDependentBCSimulationObserver.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 TimeDependentBCSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef TimeDependentBCSimulationObserver_H #define TimeDependentBCSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.cpp b/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.cpp index 5245c51d9cb8b01324388d5cbfc61db5dc5ce5a1..f049dbee1a2470ef52f1dc79f339dd1fcea05e28 100644 --- a/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.cpp @@ -1,9 +1,35 @@ -/* - * TimeseriesWriterSimulationObserver.h - * - * Created on: 08.05.2013 - * Author: uphoff - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 TimeseriesSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Sonja Uphoff +//======================================================================================= #include "TimeseriesSimulationObserver.h" diff --git a/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.h b/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.h index d467b2301688d716ffb0b879fd8d0fab7353b077..223d195537b0b0228c2f1f3d9b18102eb2c50a10 100644 --- a/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/TimeseriesSimulationObserver.h @@ -1,9 +1,36 @@ -/* - * TimeseriesSimulationObserver.h - * - * Created on: 08.05.2013 - * Author: uphoff - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 TimeseriesSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Sonja Uphoff +//======================================================================================= + #ifndef TimeseriesSimulationObserver_H #define TimeseriesSimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.cpp b/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.cpp index 424c3411f05400597c1722df793153354ba874b7..10e0963c815afff221bf7405d893cd338e80f477 100644 --- a/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.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 TurbulenceIntensitySimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "TurbulenceIntensitySimulationObserver.h" #include "BCArray3D.h" diff --git a/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h b/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h index cffaf49ede459093bae2e0709da27a244f74ad5a..0022b3ab85cf7ba6c1ca0f386413263fed992857 100644 --- a/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.h +++ b/src/cpu/core/SimulationObservers/TurbulenceIntensitySimulationObserver.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 TurbulenceIntensitySimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef TurbulenceIntensitySimulationObserver_H #define TurbulenceIntensitySimulationObserver_H diff --git a/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.cpp b/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.cpp index 7ad8c2dc113e2b5b8f9aba6e173efc3dd6817f05..228d7ea3b02f6559df9c3d7b16f467e8c8330040 100644 --- a/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.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 WriteGbObjectsSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "WriteGbObjectsSimulationObserver.h" #include <parallel/Communicator.h> #include "GbObject3D.h" diff --git a/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.h b/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.h index 44e466ee95713675dd507643c8fa0b7194b0f612..05b8d9ba765fa5154cfd22e5c7d188ce3682cbc1 100644 --- a/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/WriteGbObjectsSimulationObserver.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 WriteGbObjectsSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef WriteGbObjectsSimulationObserver_h__ #define WriteGbObjectsSimulationObserver_h__ diff --git a/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.cpp b/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.cpp index 639ebb21ee57b4610c352b505dd1cb010730df43..7027f3c8d2e389164326782636740dd0d9680db6 100644 --- a/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.cpp +++ b/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.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 WriteMQFromSelectionSimulationObserver.cpp +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #include "WriteMQFromSelectionSimulationObserver.h" #include "BCSet.h" #include "LBMKernel.h" diff --git a/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h b/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h index 107d49720faed3f4fb1e5478b2bb75047f48ddb5..94442fedc4017145a481375ddefd84c440bb2c7e 100644 --- a/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.h +++ b/src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.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 WriteMQFromSelectionSimulationObserver.h +//! \ingroup SimulationObservers +//! \author Konstantin Kutscher +//======================================================================================= #ifndef WriteMQFromSelectionSimulationObserver_H #define WriteMQFromSelectionSimulationObserver_H diff --git a/src/cpu/core/Utilities/ChangeRandomQs.hpp b/src/cpu/core/Utilities/ChangeRandomQs.hpp index ff1c30c741e2cf02171b611c6d1eda2d234ab9ac..42a56c3081a45c45bc622f7eb76ae7f2190cedd2 100644 --- a/src/cpu/core/Utilities/ChangeRandomQs.hpp +++ b/src/cpu/core/Utilities/ChangeRandomQs.hpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 ChangeRandomQs.hpp +//! \ingroup Utilities +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef ChangeRandomQs_h__ #define ChangeRandomQs_h__ diff --git a/src/cpu/core/Utilities/CheckpointConverter.cpp b/src/cpu/core/Utilities/CheckpointConverter.cpp index f882fd5678eb7b118f4abff78252dc058180e773..f4e4a6b38788f2d56d0cbeec6315162b9da4cd46 100644 --- a/src/cpu/core/Utilities/CheckpointConverter.cpp +++ b/src/cpu/core/Utilities/CheckpointConverter.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 CheckpointConverter.cpp +//! \ingroup Utilities +//! \author Alena Karanchuk +//======================================================================================= #include "CheckpointConverter.h" #include "Block3D.h" #include "BoundaryConditions.h" diff --git a/src/cpu/core/Utilities/CheckpointConverter.h b/src/cpu/core/Utilities/CheckpointConverter.h index a2902b366cc1c4c06ccdc0513ed329757f22a558..04d9d0f6d104b05d5246ad472b7c2cdd8c4ae22b 100644 --- a/src/cpu/core/Utilities/CheckpointConverter.h +++ b/src/cpu/core/Utilities/CheckpointConverter.h @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 CheckpointConverter.h +//! \ingroup Utilities +//! \author Alena Karanchuk +//======================================================================================= + #ifndef _UTILITACONVERTOR_H_ #define _UTILITACONVERTOR_H_ diff --git a/src/cpu/core/Utilities/VoxelMatrixUtil.hpp b/src/cpu/core/Utilities/VoxelMatrixUtil.hpp index 1903cba9b2318f094142bdd1f2562a845d05f069..60c169d9ada1d41e506cc859989607f8397d21a7 100644 --- a/src/cpu/core/Utilities/VoxelMatrixUtil.hpp +++ b/src/cpu/core/Utilities/VoxelMatrixUtil.hpp @@ -1,3 +1,36 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 voxelMatrixUtil.hpp +//! \ingroup Utilities +//! \author Konstantin Kutscher +//======================================================================================= + #ifndef VoxelMatrixUtil_h__ #define VoxelMatrixUtil_h__ diff --git a/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.cpp b/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.cpp index 682f1d65b2475001d59d4fad57fb3b4f39eaa918..8bf39f0f7ccaf7e7abd98d0c8c62292faefb5ac2 100644 --- a/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.cpp +++ b/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.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 ChangeBoundaryDensityBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "ChangeBoundaryDensityBlockVisitor.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.h b/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.h index 64592f7bb2f81e1df1b22cdc6bcbb6bbb7528dfc..20eea161836f938769cfa527b230fd38ca7aea29 100644 --- a/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.h +++ b/src/cpu/core/Visitors/ChangeBoundaryDensityBlockVisitor.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 ChangeBoundaryDensityBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef ChangeBoundaryDensityBlockVisitor_h__ #define ChangeBoundaryDensityBlockVisitor_h__ diff --git a/src/cpu/core/Visitors/CheckRatioBlockVisitor.cpp b/src/cpu/core/Visitors/CheckRatioBlockVisitor.cpp index d329763a43d6985b8930ec0e73b7a06b991801d0..c3f893405f3d5b2451702dc88f977c413be8d866 100644 --- a/src/cpu/core/Visitors/CheckRatioBlockVisitor.cpp +++ b/src/cpu/core/Visitors/CheckRatioBlockVisitor.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 CheckRatioBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "CheckRatioBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/CheckRatioBlockVisitor.h b/src/cpu/core/Visitors/CheckRatioBlockVisitor.h index c727447ff6395c050119b211b019540d980e67d8..285eee87567d439a339e79f36e03b65836e8a613 100644 --- a/src/cpu/core/Visitors/CheckRatioBlockVisitor.h +++ b/src/cpu/core/Visitors/CheckRatioBlockVisitor.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 CheckRatioBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef CheckRatioBlockVisitor_H #define CheckRatioBlockVisitor_H diff --git a/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.cpp b/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.cpp index 384983726353455e8c497fb26e9283b0bda0a2b3..def19f2665310c0736a8eebc795f171caf2b2157 100644 --- a/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.cpp +++ b/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.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 CoarsenCrossAndInsideGbObjectBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "CoarsenCrossAndInsideGbObjectBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.h b/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.h index 0c234358dbadeb6a1b48de8ae98a19dcd6722c1f..0efe9c505a1de7ed59a772bf993a81c116d4ddfb 100644 --- a/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.h +++ b/src/cpu/core/Visitors/CoarsenCrossAndInsideGbObjectBlockVisitor.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 CoarsenCrossAndInsideGbObjectBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef CoarsenCrossAndInsideGbObjectBlockVisitor_H #define CoarsenCrossAndInsideGbObjectBlockVisitor_H diff --git a/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp b/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp index 6874c3dcab52601665605d2521372e934dbfd6df..220df829be93c753892bc2a4d34521fc5d8ad1c3 100644 --- a/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp +++ b/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.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 InitDistributionsWithInterpolationGridVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "InitDistributionsWithInterpolationGridVisitor.h" #include "mpi.h" diff --git a/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.h b/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.h index eab801e448b4c797c7260274af66ea50a4677def..ae5414a715b50fdc16e4a3f7fddff286372a73af 100644 --- a/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.h +++ b/src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.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 InitDistributionsWithInterpolationGridVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef InitDistributionsWithCoarseGridBlockVisitor_h__ #define InitDistributionsWithCoarseGridBlockVisitor_h__ diff --git a/src/cpu/core/Visitors/InitThixotropyBlockVisitor.cpp b/src/cpu/core/Visitors/InitThixotropyBlockVisitor.cpp deleted file mode 100644 index 8a85982a65913380f951186b2902fb107ba25ed2..0000000000000000000000000000000000000000 --- a/src/cpu/core/Visitors/InitThixotropyBlockVisitor.cpp +++ /dev/null @@ -1,463 +0,0 @@ - //======================================================================================= -// ____ ____ __ ______ __________ __ __ __ __ -// \ \ | | | | | _ \ |___ ___| | | | | / \ | | -// \ \ | | | | | |_) | | | | | | | / \ | | -// \ \ | | | | | _ / | | | | | | / /\ \ | | -// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ -// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| -// \ \ | | ________________________________________________________________ -// \ \ | | | ______________________________________________________________| -// \ \| | | | __ __ __ __ ______ _______ -// \ | | |_____ | | | | | | | | | _ \ / _____) -// \ | | _____| | | | | | | | | | | \ \ \_______ -// \ | | | | |_____ | \_/ | | | | |_/ / _____ | -// \ _____| |__| |________| \_______/ |__| |______/ (_______/ -// -// This file is part of VirtualFluids. VirtualFluids is free software: you can -// redistribute it and/or modify it under the terms of the GNU General Public -// License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -// for more details. -// -// You should have received a copy of the GNU General Public License along -// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. -// -//! \file InitThixotropyBlockVisitor.h -//! \ingroup Visitors -//! \author Konstantin Kutscher -//======================================================================================= - -#include "InitThixotropyBlockVisitor.h" -#include "LBMKernel.h" -#include "BCSet.h" -#include "D3Q27System.h" -#include "DataSet3D.h" -#include "EsoTwist3D.h" -#include "Grid3D.h" -#include "Block3D.h" -#include "BCArray3D.h" - -InitThixotropyBlockVisitor::InitThixotropyBlockVisitor() - : Block3DVisitor(0, D3Q27System::MAXLEVEL) -{ - using namespace vf::basics::constant; - - //this->setVx1(0.0); - //this->setVx2(0.0); - //this->setVx3(0.0); - //this->setRho(0.0); - //this->setf1(0.0); - //this->setf2(0.0); - //this->setf3(0.0); - //this->setConcentration(0.0); - this->setLambda(c0o1); -} -////////////////////////////////////////////////////////////////////////// -//InitThixotropyBlockVisitor::InitThixotropyBlockVisitor(real lambda /*real nu, real D, real rho, real vx1, real vx2, real vx3, real c, real f1, real f2, real f3*/) -// : Block3DVisitor(0, D3Q27System::MAXLEVEL) -//{ -// //this->setVx1(vx1); -// //this->setVx2(vx2); -// //this->setVx3(vx3); -// //this->setRho(rho); -// //this->setf1(vx1); -// //this->setf2(vx2); -// //this->setf3(vx3); -// //this->setConcentration(rho); -// //this->setNu(nu); -// //this->setD(D); -// this->setLambda(lambda); -//} -////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx1(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muVx1 = parser; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx2(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muVx2 = parser; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx3(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muVx3 = parser; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setRho(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muRho = parser; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf1(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muf1 = parser; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf2(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muf2 = parser; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf3(const mu::Parser& parser) -//{ -// this->checkFunction(parser); -// this->muf3 = parser; -//} -//////////////////////////////////////////////////////////////////////////// -void InitThixotropyBlockVisitor::setLambda(const mu::Parser& parser) -{ - this->checkFunction(parser); - this->muLambda = parser; -} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx1(const std::string& muParserString) -//{ -// this->muVx1.SetExpr(muParserString); -// this->checkFunction(muVx1); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx2(const std::string& muParserString) -//{ -// this->muVx2.SetExpr(muParserString); -// this->checkFunction(muVx2); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx3(const std::string& muParserString) -//{ -// this->muVx3.SetExpr(muParserString); -// this->checkFunction(muVx3); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setRho(const std::string& muParserString) -//{ -// this->muRho.SetExpr(muParserString); -// this->checkFunction(muRho); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf1(const std::string& muParserString) -//{ -// this->muf1.SetExpr(muParserString); -// this->checkFunction(muf1); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf2(const std::string& muParserString) -//{ -// this->muf2.SetExpr(muParserString); -// this->checkFunction(muf2); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf3(const std::string& muParserString) -//{ -// this->muf3.SetExpr(muParserString); -// this->checkFunction(muf3); -//} -//////////////////////////////////////////////////////////////////////////// -void InitThixotropyBlockVisitor::setLambda(const std::string& muParserString) -{ - this->muLambda.SetExpr(muParserString); - this->checkFunction(muLambda); -} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx1(real vx1) -//{ -// this->muVx1.SetExpr(UbSystem::toString(vx1, realLim::digits10)); -// this->checkFunction(muVx1); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx2(real vx2) -//{ -// this->muVx2.SetExpr(UbSystem::toString(vx2, realLim::digits10)); -// this->checkFunction(muVx2); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setVx3(real vx3) -//{ -// this->muVx3.SetExpr(UbSystem::toString(vx3, realLim::digits10)); -// this->checkFunction(muVx3); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setRho(real rho) -//{ -// this->muRho.SetExpr(UbSystem::toString(rho, realLim::digits10)); -// this->checkFunction(muRho); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf1(real f1) -//{ -// this->muf1.SetExpr(UbSystem::toString(f1, realLim::digits10)); -// this->checkFunction(muf1); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf2(real f2) -//{ -// this->muf2.SetExpr(UbSystem::toString(f2, realLim::digits10)); -// this->checkFunction(muf2); -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setf3(real f3) -//{ -// this->muf3.SetExpr(UbSystem::toString(f3, realLim::digits10)); -// this->checkFunction(muf3); -//} -////////////////////////////////////////////////////////////////////////// -void InitThixotropyBlockVisitor::setLambda(real lambda) -{ - this->muLambda.SetExpr(UbSystem::toString(lambda, realLim::digits10)); - this->checkFunction(muLambda); -} -////////////////////////////////////////////////////////////////////////// -void InitThixotropyBlockVisitor::visit(SPtr<Grid3D> grid, SPtr<Block3D> block) -{ - using namespace D3Q27System; - using namespace vf::basics::constant; - - if(!block) UB_THROW( UbException(UB_EXARGS,"block is not exist") ); - -// double dx = grid->getDeltaX(block); - - //define vars for functions - mu::value_type x1,x2,x3; - //this->muVx1.DefineVar("x1",&x1); this->muVx1.DefineVar("x2",&x2); this->muVx1.DefineVar("x3",&x3); - //this->muVx2.DefineVar("x1",&x1); this->muVx2.DefineVar("x2",&x2); this->muVx2.DefineVar("x3",&x3); - //this->muVx3.DefineVar("x1",&x1); this->muVx3.DefineVar("x2",&x2); this->muVx3.DefineVar("x3",&x3); - //this->muRho.DefineVar("x1",&x1); this->muRho.DefineVar("x2",&x2); this->muRho.DefineVar("x3",&x3); - - this->muLambda.DefineVar("x1",&x1); this->muLambda.DefineVar("x2",&x2); this->muLambda.DefineVar("x3",&x3); - - //Funktionszeiger - typedef void (*CalcFeqsFct)(real* const& /*feq[27]*/,const real& /*(d)rho*/,const real& /*vx1*/,const real& /*vx2*/,const real& /*vx3*/); - CalcFeqsFct calcFeqsFct = NULL; - - int gridRank = grid->getRank(); - int blockRank = block->getRank(); - - if (blockRank == gridRank && block->isActive()) - { - SPtr<ILBMKernel> kernel = block->getKernel(); - if (!kernel) - throw UbException(UB_EXARGS, "The LBM kernel isn't exist in block: "+block->toString()); - - if(kernel->getCompressible()) - calcFeqsFct = &D3Q27System::calcCompFeq; - else - calcFeqsFct = &D3Q27System::calcIncompFeq; - - SPtr<BCArray3D> bcArray = kernel->getBCSet()->getBCArray(); - SPtr<DistributionArray3D> distributions = kernel->getDataSet()->getHdistributions(); - - real h[D3Q27System::ENDF+1]; - - for(std::size_t ix3=0; ix3<bcArray->getNX3(); ix3++) - for(std::size_t ix2=0; ix2<bcArray->getNX2(); ix2++) - for(std::size_t ix1=0; ix1<bcArray->getNX1(); ix1++) - { - //UbTupleDouble3 coords = grid->getNodeCoordinates(block, ix1, ix2, ix3); - //x1 = val<1>(coords); - //x2 = val<2>(coords); - //x3 = val<3>(coords); - - //vx1 = muVx1.Eval(); - //vx2 = muVx2.Eval(); - //vx3 = muVx3.Eval(); - //rho = muRho.Eval(); - - //f1 = muf1.Eval(); - //f2 = muf2.Eval(); - //f3 = muf3.Eval(); - //conc = muConcentration.Eval(); - - //initialize(f, x1, x2, x3, vx1, vx2, vx3, rho, coords, dx, o, true); - //initialize(h, x1, x2, x3, f1, f2, f3, conc, coords, dx, oDiffusion, false); - - - //distributionsf->setPostCollisionDistribution(f, ix1, ix2, ix3); - //distributionsf->setPreCollisionDistribution(f, ix1, ix2, ix3); - - real lambda = muLambda.Eval(); - - calcFeqsFct(h,lambda,c0o1,c0o1,c0o1); - - distributions->setPostCollisionDistribution(h, ix1, ix2, ix3); - distributions->setPreCollisionDistribution(h, ix1, ix2, ix3); - - - } - } - - //variablen der functions loeschen, da die verwiesenen Objecte nach dem verlassen des scopes ungueltig sind! - //this->muVx1.ClearVar(); - //this->muVx2.ClearVar(); - //this->muVx3.ClearVar(); - //this->muRho.ClearVar(); - - this->muLambda.ClearVar(); -} -////////////////////////////////////////////////////////////////////////// -void InitThixotropyBlockVisitor::checkFunction(mu::Parser fct) -{ - real x1 = 1.0, x2 = 1.0, x3 = 1.0; - fct.DefineVar("x1", &x1); - fct.DefineVar("x2", &x2); - fct.DefineVar("x3", &x3); - - try - { - fct.Eval(); - fct.ClearVar(); - } - catch (mu::ParserError & e) - { - throw UbException(UB_EXARGS, "function: " + e.GetExpr() + (std::string)"error: " + e.GetMsg() - + (std::string)", only x1,x2,x3 are allowed as variables"); - } -} -////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setNu(real nu) -//{ -// this->nu = nu; -//} -//////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::setD(real D) -//{ -// this->D = D; -//} -////////////////////////////////////////////////////////////////////////// -//void InitThixotropyBlockVisitor::initialize(double* f, double x1, double x2, double x3, double vx1, double vx2, double vx3, double rho, UbTupleDouble3 coords, double dx, double o, bool NSE) -//{ -// using namespace D3Q27System; -// //Funktionszeiger -// typedef void(*CalcFeqsFct)(real* const& /*feq[27]*/, const real& /*(d)rho*/, const real& /*vx1*/, const real& /*vx2*/, const real& /*vx3*/); -// CalcFeqsFct calcFeqsFct = NULL; -// -// -// //if (NSE) -// //{ -// // calcFeqsFct = &D3Q27System::calcIncompFeq; -// -// //} -// //else -// //{ -// //calcFeqsFct = &D3Q27System::calcCompFeq; -// //muVx1 = muf1; -// //muVx2 = muf2; -// //muVx3 = muf3; -// //} -// -// if (kernel->getCompressible()) -// calcFeqsFct = &D3Q27System::calcCompFeq; -// else -// calcFeqsFct = &D3Q27System::calcIncompFeq; -// -// //x-derivative -// double deltaX = dx * 0.5; -// x1 = val<1>(coords) + deltaX; -// double vx1Plusx1 = muVx1.Eval(); -// double vx2Plusx1 = muVx2.Eval(); -// double vx3Plusx1 = muVx3.Eval(); -// -// x1 = val<1>(coords) - deltaX; -// double vx1Minusx1 = muVx1.Eval(); -// double vx2Minusx1 = muVx2.Eval(); -// double vx3Minusx1 = muVx3.Eval(); -// -// //y-derivative -// x1 = val<1>(coords); -// x2 = val<2>(coords) + deltaX; -// double vx1Plusx2 = muVx1.Eval(); -// double vx2Plusx2 = muVx2.Eval(); -// double vx3Plusx2 = muVx3.Eval(); -// -// x2 = val<2>(coords) - deltaX; -// double vx1Minusx2 = muVx1.Eval(); -// double vx2Minusx2 = muVx2.Eval(); -// double vx3Minusx2 = muVx3.Eval(); -// -// //z-derivative -// x2 = val<2>(coords); -// x3 = val<3>(coords) + deltaX; -// double vx1Plusx3 = muVx1.Eval(); -// double vx2Plusx3 = muVx2.Eval(); -// double vx3Plusx3 = muVx3.Eval(); -// -// x3 = val<3>(coords) - deltaX; -// double vx1Minusx3 = muVx1.Eval(); -// double vx2Minusx3 = muVx2.Eval(); -// double vx3Minusx3 = muVx3.Eval(); -// -// double ax = (vx1Plusx1 - vx1Minusx1) / (2.0 * deltaX) * dx; -// double bx = (vx2Plusx1 - vx2Minusx1) / (2.0 * deltaX) * dx; -// double cx = (vx3Plusx1 - vx3Minusx1) / (2.0 * deltaX) * dx; -// -// double ay = (vx1Plusx2 - vx1Minusx2) / (2.0 * deltaX) * dx; -// double by = (vx2Plusx2 - vx2Minusx2) / (2.0 * deltaX) * dx; -// double cy = (vx3Plusx2 - vx3Minusx2) / (2.0 * deltaX) * dx; -// -// double az = (vx1Plusx3 - vx1Minusx3) / (2.0 * deltaX) * dx; -// double bz = (vx2Plusx3 - vx2Minusx3) / (2.0 * deltaX) * dx; -// double cz = (vx3Plusx3 - vx3Minusx3) / (2.0 * deltaX) * dx; -// double eps_new = 1.0; -// real op = 1.; -// -// real feq[27]; -// -// calcFeqsFct(feq, rho, vx1, vx2, vx3); -// -// double f_E = eps_new * ((5. * ax * o + 5. * by * o + 5. * cz * o - 8. * ax * op + 4. * by * op + 4. * cz * op) / (54. * o * op)); -// double f_N = f_E + eps_new * ((2. * (ax - by)) / (9. * o)); -// double f_T = f_E + eps_new * ((2. * (ax - cz)) / (9. * o)); -// double f_NE = eps_new * (-(5. * cz * o + 3. * (ay + bx) * op - 2. * cz * op + ax * (5. * o + op) + by * (5. * o + op)) / (54. * o * op)); -// double f_SE = f_NE + eps_new * ((ay + bx) / (9. * o)); -// double f_TE = eps_new * (-(5. * cz * o + by * (5. * o - 2. * op) + 3. * (az + cx) * op + cz * op + ax * (5. * o + op)) / (54. * o * op)); -// double f_BE = f_TE + eps_new * ((az + cx) / (9. * o)); -// double f_TN = eps_new * (-(5. * ax * o + 5. * by * o + 5. * cz * o - 2. * ax * op + by * op + 3. * bz * op + 3. * cy * op + cz * op) / (54. * o * op)); -// double f_BN = f_TN + eps_new * ((bz + cy) / (9. * o)); -// double f_ZERO = eps_new * ((5. * (ax + by + cz)) / (9. * op)); -// double f_TNE = eps_new * (-(ay + az + bx + bz + cx + cy) / (72. * o)); -// double f_TSW = -eps_new * ((ay + bx) / (36. * o)) - f_TNE; -// double f_TSE = -eps_new * ((az + cx) / (36. * o)) - f_TNE; -// double f_TNW = -eps_new * ((bz + cy) / (36. * o)) - f_TNE; -// -// -// f[dP00] = f_E + feq[dP00]; -// f[W] = f_E + feq[W]; -// f[N] = f_N + feq[N]; -// f[S] = f_N + feq[S]; -// f[T] = f_T + feq[T]; -// f[B] = f_T + feq[B]; -// f[NE] = f_NE + feq[NE]; -// f[SW] = f_NE + feq[SW]; -// f[SE] = f_SE + feq[SE]; -// f[NW] = f_SE + feq[NW]; -// f[TE] = f_TE + feq[TE]; -// f[BW] = f_TE + feq[BW]; -// f[BE] = f_BE + feq[BE]; -// f[TW] = f_BE + feq[TW]; -// f[TN] = f_TN + feq[TN]; -// f[BS] = f_TN + feq[BS]; -// f[BN] = f_BN + feq[BN]; -// f[TS] = f_BN + feq[TS]; -// f[TNE] = f_TNE + feq[TNE]; -// f[TNW] = f_TNW + feq[TNW]; -// f[TSE] = f_TSE + feq[TSE]; -// f[TSW] = f_TSW + feq[TSW]; -// f[BNE] = f_TSW + feq[BNE]; -// f[BNW] = f_TSE + feq[BNW]; -// f[BSE] = f_TNW + feq[BSE]; -// f[BSW] = f_TNE + feq[BSW]; -// f[REST] = f_ZERO + feq[REST]; -// -// -// -// -//} diff --git a/src/cpu/core/Visitors/InitThixotropyBlockVisitor.h b/src/cpu/core/Visitors/InitThixotropyBlockVisitor.h deleted file mode 100644 index b883e33f10eb0043d02791b9cf0adeb391af6f70..0000000000000000000000000000000000000000 --- a/src/cpu/core/Visitors/InitThixotropyBlockVisitor.h +++ /dev/null @@ -1,116 +0,0 @@ -//======================================================================================= -// ____ ____ __ ______ __________ __ __ __ __ -// \ \ | | | | | _ \ |___ ___| | | | | / \ | | -// \ \ | | | | | |_) | | | | | | | / \ | | -// \ \ | | | | | _ / | | | | | | / /\ \ | | -// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ -// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| -// \ \ | | ________________________________________________________________ -// \ \ | | | ______________________________________________________________| -// \ \| | | | __ __ __ __ ______ _______ -// \ | | |_____ | | | | | | | | | _ \ / _____) -// \ | | _____| | | | | | | | | | | \ \ \_______ -// \ | | | | |_____ | \_/ | | | | |_/ / _____ | -// \ _____| |__| |________| \_______/ |__| |______/ (_______/ -// -// This file is part of VirtualFluids. VirtualFluids is free software: you can -// redistribute it and/or modify it under the terms of the GNU General Public -// License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -// for more details. -// -// You should have received a copy of the GNU General Public License along -// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. -// -//! \file InitThixotropyBlockVisitor.h -//! \ingroup Visitors -//! \author Konstantin Kutscher -//======================================================================================= - -#ifndef InitThixotropyBlockVisitor_H -#define InitThixotropyBlockVisitor_H - -#include <PointerDefinitions.h> - -#include "Block3DVisitor.h" -#include "D3Q27System.h" - -#include <muParser.h> - -class InitThixotropyBlockVisitor : public Block3DVisitor -{ -public: - InitThixotropyBlockVisitor(); - //D3Q27ETInitThixotropyBlockVisitor(real rho, real vx1=0.0, real vx2=0.0, real vx3=0.0); - //! Constructor - //! \param nu - viscosity - //! \param rho - density - //! \param vx1 - velocity in x - //! \param vx2 - velocity in y - //! \param vx3 - velocity in z - //InitThixotropyBlockVisitor(real lambda /*real nu, real D, real rho, real vx1 = 0.0, real vx2 = 0.0, real vx3 = 0.0, real c=0.0, real f1 = 0.0, real f2 = 0.0, real f3 = 0.0*/); - ////////////////////////////////////////////////////////////////////////// - //automatic vars are: x1,x2, x3 - //ussage example: setVx1("x1*0.01+x2*0.003") - ////////////////////////////////////////////////////////////////////////// - //void setVx1(const mu::Parser& parser); - //void setVx2(const mu::Parser& parser); - //void setVx3(const mu::Parser& parser); - //void setRho(const mu::Parser& parser); - - //void setVx1(const std::string& muParserString); - //void setVx2(const std::string& muParserString); - //void setVx3(const std::string& muParserString); - //void setRho(const std::string& muParserString); - //////////////////////////////////////////////////////////////////////////// - //void setVx1(real vx1); - //void setVx2(real vx2); - //void setVx3(real vx3); - //void setRho(real rho); - //void setNu(real nu); - - ////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////// - //void setf1(const mu::Parser& parser); - //void setf2(const mu::Parser& parser); - //void setf3(const mu::Parser& parser); - void setLambda(const mu::Parser& parser); - - //void setf1(const std::string& muParserString); - //void setf2(const std::string& muParserString); - //void setf3(const std::string& muParserString); - void setLambda(const std::string& muParserString); - ////////////////////////////////////////////////////////////////////////// - //void setf1(real f1); - //void setf2(real f2); - //void setf3(real f3); - void setLambda(real lambda); - //void setD(real D); - - //void initialize(double* f, double x1, double x2, double x3, double vx1, double vx2, double vx3, double rho, UbTupleDouble3 coords, double dx, double o, bool NSE); - - void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) override; - -protected: - void checkFunction(mu::Parser fct); - typedef void(*CalcFeqsFct)(real* const& /*feq[27]*/, const real& /*(d)rho*/, const real& /*vx1*/, const real& /*vx2*/, const real& /*vx3*/); - -private: - mu::Parser muVx1; - mu::Parser muVx2; - mu::Parser muVx3; - //mu::Parser muRho; - //real nu; - - //mu::Parser muf1; - //mu::Parser muf2; - //mu::Parser muf3; - mu::Parser muLambda; - //real D; -}; - -#endif //D3Q27INITDISTRIBUTIONSPATCHVISITOR_H diff --git a/src/cpu/core/Visitors/MetisPartitioningGridVisitor.cpp b/src/cpu/core/Visitors/MetisPartitioningGridVisitor.cpp index 26787a1530681d98f29469c95443503611ec62ce..04c99d51ed6170ae6efea5bbf3105d4e8afab255 100644 --- a/src/cpu/core/Visitors/MetisPartitioningGridVisitor.cpp +++ b/src/cpu/core/Visitors/MetisPartitioningGridVisitor.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 MetisPartitioningGridVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #if defined VF_METIS && defined VF_MPI #include "MetisPartitioningGridVisitor.h" diff --git a/src/cpu/core/Visitors/MetisPartitioningGridVisitor.h b/src/cpu/core/Visitors/MetisPartitioningGridVisitor.h index d4e29060932b61abeaa68d03e3e0fd566d45a927..c0ecb9c1fa0bb90e3224a359929c179e69dc32a7 100644 --- a/src/cpu/core/Visitors/MetisPartitioningGridVisitor.h +++ b/src/cpu/core/Visitors/MetisPartitioningGridVisitor.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 MetisPartitioningGridVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef MetisPartitioningGridVisitor_h #define MetisPartitioningGridVisitor_h diff --git a/src/cpu/core/Visitors/OverlapBlockVisitor.cpp b/src/cpu/core/Visitors/OverlapBlockVisitor.cpp index 54bbeda59663bf16173abcdb302f123a97b776ac..498452a0fca7fb05a430ce44c623b61aafbed8a1 100644 --- a/src/cpu/core/Visitors/OverlapBlockVisitor.cpp +++ b/src/cpu/core/Visitors/OverlapBlockVisitor.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 OverlapBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "OverlapBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/OverlapBlockVisitor.h b/src/cpu/core/Visitors/OverlapBlockVisitor.h index d839d80418a29897e5da0951d71d47f12372134c..5714f596df338784bfd7365011df8e096426a782 100644 --- a/src/cpu/core/Visitors/OverlapBlockVisitor.h +++ b/src/cpu/core/Visitors/OverlapBlockVisitor.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 OverlapBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef OverlapBlockVisitor_H #define OverlapBlockVisitor_H diff --git a/src/cpu/core/Visitors/RatioBlockVisitor.cpp b/src/cpu/core/Visitors/RatioBlockVisitor.cpp index 137c737e6dd85853da328b0d0cc9ccf1bca1f878..5dd4c7194ee60e4c23d789341ab523ce1daea1f8 100644 --- a/src/cpu/core/Visitors/RatioBlockVisitor.cpp +++ b/src/cpu/core/Visitors/RatioBlockVisitor.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 RatioBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "RatioBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/RatioBlockVisitor.h b/src/cpu/core/Visitors/RatioBlockVisitor.h index 037d06dbfea92062dc957fe996c02cefdf46af9f..4378b51e1b992dea63bb8f0af8075a2dffd6911c 100644 --- a/src/cpu/core/Visitors/RatioBlockVisitor.h +++ b/src/cpu/core/Visitors/RatioBlockVisitor.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 RatioBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef RatioBlockVisitor_H #define RatioBlockVisitor_H diff --git a/src/cpu/core/Visitors/RatioSmoothBlockVisitor.cpp b/src/cpu/core/Visitors/RatioSmoothBlockVisitor.cpp index b48aee7cd8dcd3d3cc33c949e8a71281214c8f19..d7e100e932443550d3eefc446cc037f69e3f0092 100644 --- a/src/cpu/core/Visitors/RatioSmoothBlockVisitor.cpp +++ b/src/cpu/core/Visitors/RatioSmoothBlockVisitor.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 RatioSmoothBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "RatioSmoothBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/RatioSmoothBlockVisitor.h b/src/cpu/core/Visitors/RatioSmoothBlockVisitor.h index b9347c8476683576d4cf4ede0bca7871eab8e559..078ff308439726b0470ac4f33bbab679eda16bed 100644 --- a/src/cpu/core/Visitors/RatioSmoothBlockVisitor.h +++ b/src/cpu/core/Visitors/RatioSmoothBlockVisitor.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 RatioSmoothBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef RatioSmoothBlockVisitor_H #define RatioSmoothBlockVisitor_H diff --git a/src/cpu/core/Visitors/RefineAroundGbObjectHelper.cpp b/src/cpu/core/Visitors/RefineAroundGbObjectHelper.cpp index 3245fa58c090d0cc790a40ddef69f13ab638cd16..181b0ace7a76c89baa2c88574f7131417119dd37 100644 --- a/src/cpu/core/Visitors/RefineAroundGbObjectHelper.cpp +++ b/src/cpu/core/Visitors/RefineAroundGbObjectHelper.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 RefineAroundGbObjectHelper.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "RefineAroundGbObjectHelper.h" #include <parallel/Communicator.h> #include "OverlapBlockVisitor.h" diff --git a/src/cpu/core/Visitors/RefineAroundGbObjectHelper.h b/src/cpu/core/Visitors/RefineAroundGbObjectHelper.h index c5cc4d6fc426566770bdfbfd4637f32e1ecd411d..c9d89352216fcd3c5896ba019c8cf4c2fecddd43 100644 --- a/src/cpu/core/Visitors/RefineAroundGbObjectHelper.h +++ b/src/cpu/core/Visitors/RefineAroundGbObjectHelper.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 RefineAroundGbObjectHelper.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef RefineAroundGbObjectHelper_H #define RefineAroundGbObjectHelper_H diff --git a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.cpp b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.cpp index 9d5126d992ad7257607eb3a4f966fa9248f02848..ac8583024b9bb1d1b3d1caf810f3f825cbed69af 100644 --- a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.cpp +++ b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.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 RefineCrossAndInsideGbObjectBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "RefineCrossAndInsideGbObjectBlockVisitor.h" #include "Block3D.h" diff --git a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.h b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.h index 9696b447c83d658d9c04b5720ea0260a00c0e6db..3e76cae0d04060aac16095336c02b0ed1c44207d 100644 --- a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.h +++ b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectBlockVisitor.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 RefineCrossAndInsideGbObjectBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef RefineCrossAndInsideGbObjectBlockVisitor_H #define RefineCrossAndInsideGbObjectBlockVisitor_H diff --git a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.cpp b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.cpp index f11e8e5ce1bc04af79775be7bfdd14201febbc3f..5d40a4753f560fcd92d98eb95ff3f6cc523f392c 100644 --- a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.cpp +++ b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.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 RefineCrossAndInsideGbObjectBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "RefineCrossAndInsideGbObjectHelper.h" #include "CheckRatioBlockVisitor.h" #include <parallel/Communicator.h> diff --git a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.h b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.h index 64bb923d04ff75fedce821ffc43a73a8f5e2d730..4201e528af013acc2275282c52ad0967e853acf2 100644 --- a/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.h +++ b/src/cpu/core/Visitors/RefineCrossAndInsideGbObjectHelper.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 RefineCrossAndInsideGbObjectBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef RefineCrossAndInsideGbObjectHelper_H #define RefineCrossAndInsideGbObjectHelper_H diff --git a/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.cpp b/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.cpp index b1a9a3b399dd0e3a8538187165af079e6bd3fdc5..b117afb057382d30b1eedbb418b18e09d5228672 100644 --- a/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.cpp +++ b/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.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 RefineInterGbObjectsBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #include "RefineInterGbObjectsVisitor.h" #include "Block3D.h" diff --git a/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.h b/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.h index 6bcf41e041b03f88dbcfd3c27790c1b45685975c..caf3abef0919800d1325503b7184f4b04f40ac0c 100644 --- a/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.h +++ b/src/cpu/core/Visitors/RefineInterGbObjectsVisitor.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 RefineInterGbObjectsBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher, Soeren Freudiger, Sebastian Geller +//======================================================================================= #ifndef RefineInterGbObjectsVisirtor_H #define RefineInterGbObjectsVisirtor_H diff --git a/src/cpu/core/Visitors/RenumberBlockVisitor.cpp b/src/cpu/core/Visitors/RenumberBlockVisitor.cpp index b2a4d9337ad49edc4e508555929a6ca64e6f9243..4a93bd4246652adb380c3e32af7a5a527b367069 100644 --- a/src/cpu/core/Visitors/RenumberBlockVisitor.cpp +++ b/src/cpu/core/Visitors/RenumberBlockVisitor.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 RenumberBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "RenumberBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/RenumberBlockVisitor.h b/src/cpu/core/Visitors/RenumberBlockVisitor.h index e0ceb4a74bae6b74452f112417a15e632ae109e2..d5c5814f546e75a2c0e3084ec2f8ffd858dd2b26 100644 --- a/src/cpu/core/Visitors/RenumberBlockVisitor.h +++ b/src/cpu/core/Visitors/RenumberBlockVisitor.h @@ -1,9 +1,35 @@ -/** - * @file RenumberBlockVisitor.h - * @brief Visitor class which renumber blocks. - * @author Konstantin Kutscher - * @date 06.06.2011 - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 RenumberBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef RenumberBlockVisitor_h #define RenumberBlockVisitor_h diff --git a/src/cpu/core/Visitors/RenumberGridVisitor.cpp b/src/cpu/core/Visitors/RenumberGridVisitor.cpp index a21b8b8a61575eedbacdc76fdd55ef89c4318173..c2f13ea014a0a0af8da1dbe00e4fe058dc2285b9 100644 --- a/src/cpu/core/Visitors/RenumberGridVisitor.cpp +++ b/src/cpu/core/Visitors/RenumberGridVisitor.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 RenumberGridVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "RenumberGridVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/RenumberGridVisitor.h b/src/cpu/core/Visitors/RenumberGridVisitor.h index aa56b469107dc2be3332622b747e0c0f3e3b9fe7..0772c2ece3532a87304d8e926da35df6f0ce7f84 100644 --- a/src/cpu/core/Visitors/RenumberGridVisitor.h +++ b/src/cpu/core/Visitors/RenumberGridVisitor.h @@ -1,9 +1,35 @@ -/** - * @file RenumberGridVisitor.h - * @brief Visitor class which renumber blocks. - * @author Konstantin Kutscher - * @date 06.06.2011 - */ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// 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 RenumberGridVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef RenumberGridVisitor_h #define RenumberGridVisitor_h diff --git a/src/cpu/core/Visitors/SetForcingBlockVisitor.cpp b/src/cpu/core/Visitors/SetForcingBlockVisitor.cpp index a325fc5ac355e31a1cf1188b884d5e719e85c7be..e6f10f13748e01062e7debf1d1ebf40b80403e28 100644 --- a/src/cpu/core/Visitors/SetForcingBlockVisitor.cpp +++ b/src/cpu/core/Visitors/SetForcingBlockVisitor.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 SetForcingBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "SetForcingBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/SetForcingBlockVisitor.h b/src/cpu/core/Visitors/SetForcingBlockVisitor.h index e7237d7fc7833f69aa486858527a167f53864afe..23248355014af91d528528686348f9567eb4e445 100644 --- a/src/cpu/core/Visitors/SetForcingBlockVisitor.h +++ b/src/cpu/core/Visitors/SetForcingBlockVisitor.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 SetForcingBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef SetForcingBlockVisitor_h #define SetForcingBlockVisitor_h diff --git a/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.cpp b/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.cpp index dcf71314768d8274941d5631906b972d0ab82561..225c19e0092d3cfa53b6ea7876a0f388ef18fa66 100644 --- a/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.cpp +++ b/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.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 SetInterpolationDirsBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "SetInterpolationDirsBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.h b/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.h index 078a06766d7a7b351ca36bdc79e604f9201bab6c..ba033279d51549617e9437e976fa9b749ed91847 100644 --- a/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.h +++ b/src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.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 SetInterpolationDirsBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef SetInterpolationDirsBlockVisitor_h #define SetInterpolationDirsBlockVisitor_h diff --git a/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.cpp b/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.cpp index 797e8886e7825075cbff8ce9e762d0286dc81bea..407fca9b7390b07129a2e4c133fcbc7e3c0498df 100644 --- a/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.cpp +++ b/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.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 SetUndefinedNodesBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "SetUndefinedNodesBlockVisitor.h" #include "BCArray3D.h" #include "BCSet.h" diff --git a/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.h b/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.h index 17fa5b2ebb2b7230955e9ce4209a3cb341369326..7156051f64d1a6054ede454c34da012a2a0ac6a3 100644 --- a/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.h +++ b/src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.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 SetUndefinedNodesBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef SetUndefinedNodesBlockVisitor_h #define SetUndefinedNodesBlockVisitor_h diff --git a/src/cpu/core/Visitors/SpongeLayerBlockVisitor.cpp b/src/cpu/core/Visitors/SpongeLayerBlockVisitor.cpp index 01bb35cd52b78231a82651575006d7682afbdda5..c4e65c38736791f70d32bfa4d3cdf86c57d81180 100644 --- a/src/cpu/core/Visitors/SpongeLayerBlockVisitor.cpp +++ b/src/cpu/core/Visitors/SpongeLayerBlockVisitor.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 SpongeLayerBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "SpongeLayerBlockVisitor.h" #include "D3Q27System.h" #include "LBMSystem.h" diff --git a/src/cpu/core/Visitors/SpongeLayerBlockVisitor.h b/src/cpu/core/Visitors/SpongeLayerBlockVisitor.h index 184a89eba969f3a6506c83758b79d11cfb8d3d60..7d00cc28070ab4a61c3cc812e3b81250fccb089d 100644 --- a/src/cpu/core/Visitors/SpongeLayerBlockVisitor.h +++ b/src/cpu/core/Visitors/SpongeLayerBlockVisitor.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 SpongeLayerBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef SpongeLayerBlockVisitor_h__ #define SpongeLayerBlockVisitor_h__ diff --git a/src/cpu/core/Visitors/ViscosityBlockVisitor.cpp b/src/cpu/core/Visitors/ViscosityBlockVisitor.cpp index 3dbe4d9c7c01a11f33d0f1e04a563ba1016a748b..a32e889160131d4690b96808062e6ae0725e2f72 100644 --- a/src/cpu/core/Visitors/ViscosityBlockVisitor.cpp +++ b/src/cpu/core/Visitors/ViscosityBlockVisitor.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 ViscosityBlockVisitor.cpp +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #include "ViscosityBlockVisitor.h" #include "Block3D.h" #include "Grid3D.h" diff --git a/src/cpu/core/Visitors/ViscosityBlockVisitor.h b/src/cpu/core/Visitors/ViscosityBlockVisitor.h index cb665f41c47f62d61584943bdf6f3ce64f84cc4f..abf42d60aefffc4e42af4b3baff03f92d2d94b1e 100644 --- a/src/cpu/core/Visitors/ViscosityBlockVisitor.h +++ b/src/cpu/core/Visitors/ViscosityBlockVisitor.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 ViscosityBlockVisitor.h +//! \ingroup Visitors +//! \author Konstantin Kutscher +//======================================================================================= #ifndef ViscosityBlockVisitor_h #define ViscosityBlockVisitor_h