From 039aae3a5b0b7c3f8251e82ef37f8f72a0f2db48 Mon Sep 17 00:00:00 2001 From: "LEGOLAS\\lenz" <lenz@irmb.tu-bs.de> Date: Thu, 23 Aug 2018 13:18:46 +0200 Subject: [PATCH] cleans up main file and Grid classes --- src/GridGenerator/grid/Grid.h | 1 - src/GridGenerator/grid/GridImp.h | 1 - src/GridGenerator/grid/GridMocks.h | 1 - targets/apps/HULC/main.cpp | 153 +++++++++++------------------ 4 files changed, 59 insertions(+), 97 deletions(-) diff --git a/src/GridGenerator/grid/Grid.h b/src/GridGenerator/grid/Grid.h index 29b358eaf..ba6d66266 100644 --- a/src/GridGenerator/grid/Grid.h +++ b/src/GridGenerator/grid/Grid.h @@ -73,7 +73,6 @@ public: HOSTDEVICE virtual void transIndexToCoords(uint index, real &x, real &y, real &z) const = 0; HOSTDEVICE virtual uint transCoordToIndex(const real &x, const real &y, const real &z) const = 0; - HOST virtual void inital() = 0; HOST virtual void inital(const SPtr<Grid> fineGrid) = 0; HOST virtual void setOddStart( bool xOddStart, bool yOddStart, bool zOddStart ) = 0; diff --git a/src/GridGenerator/grid/GridImp.h b/src/GridGenerator/grid/GridImp.h index 5148448a6..26c23f383 100644 --- a/src/GridGenerator/grid/GridImp.h +++ b/src/GridGenerator/grid/GridImp.h @@ -82,7 +82,6 @@ private: uint numberOfSolidBoundaryNodes; public: - HOST void inital() override; HOST void inital(const SPtr<Grid> fineGrid) override; HOST void setOddStart( bool xOddStart, bool yOddStart, bool zOddStart ) override; HOSTDEVICE void fixOddCell(uint index); diff --git a/src/GridGenerator/grid/GridMocks.h b/src/GridGenerator/grid/GridMocks.h index 8dfcd8ea1..49410464f 100644 --- a/src/GridGenerator/grid/GridMocks.h +++ b/src/GridGenerator/grid/GridMocks.h @@ -65,7 +65,6 @@ public: virtual int* getNeighborsX() const override { return nullptr; } virtual int* getNeighborsY() const override { return nullptr; } virtual int* getNeighborsZ() const override { return nullptr; } - virtual void inital() override {} virtual void inital(const SPtr<Grid> fineGrid) override {}; virtual void setOddStart( bool xOddStart, bool yOddStart, bool zOddStart ) {}; virtual bool nodeInCellIs(Cell& cell, char type) const override { return false; } diff --git a/targets/apps/HULC/main.cpp b/targets/apps/HULC/main.cpp index 79446d6fc..cd8c7881c 100644 --- a/targets/apps/HULC/main.cpp +++ b/targets/apps/HULC/main.cpp @@ -264,81 +264,27 @@ void multipleLevel(const std::string& configPath) gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_UNDER_TRIANGLE); - //auto gridBuilderlevel = LevelGridBuilder::makeShared(Device::CPU, "D3Q27"); auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - ////Conglomerate* conglomerate = new Conglomerate(); - ////conglomerate->add(new Cuboid(10, 10, 10, 30, 30, 30)); - ////conglomerate->subtract(new Sphere(30, 20, 20, 4)); - ////gridBuilder->addGrid(conglomerate, 2); - - ////gridBuilder->addCoarseGrid(0, 0, 0, 40, 40, 40, 1.0); - ////Object* cuboid = new Cuboid(15, 15, 15, 20, 20, 20); - ////gridBuilder->addGrid(cuboid, 2); - - ////gridBuilder->addCoarseGrid(0.0, 0.0, 0.0, 14, 10, 20, 0.25); - ////TriangularMesh* triangularMesh = TriangularMesh::make("D:/GRIDGENERATION/STL/quadarBinaer.stl", DiscretizationMethod::POINT_IN_OBJECT); - - - //////////////////////////////////////////////////////////////////////////// - //// Test int cast - //real L = 2.2; - //real H = 0.41; - - //uint nx = 440; - - //real dx = L / real(nx); - - //real startX = -0.5*dx; - //real startY = -0.5*dx; - - //real endX = round(L / dx)*dx + 0.5 * dx; - //real endY = round(H / dx)*dx + 0.5 * dx; - - //real startZ = -10.0*dx; - //real endZ = 10.0*dx; - - //gridBuilder->addCoarseGrid(startX, startY, startZ, endX, endY, endZ, dx); - - //Object* refCyln = new VerticalCylinder(0.20, 0.20, 0, 0.05, 8.0*dx); - - //gridBuilder->addGrid(refCyln, 2); - //////////////////////////////////////////////////////////////////////////// - //test big sphere - - //////////////////////////////////////////////////////////////////////////// - //gridBuilder->addGrid(new Cuboid(-10, -8, -8, 50, 22, 22), 1); - - - - //TriangularMesh* triangularMesh = TriangularMesh::make("D:/GRIDGENERATION/STL/input/local_input/bruecke.stl"); - - //gridBuilder->addCoarseGrid(0, -25, -40, 100, 75, 60, 2.0); - //TriangularMesh* triangularMesh = TriangularMesh::make("D:/GRIDGENERATION/STL/circleBinaer.stl"); - //gridBuilder->addGrid(new Sphere(0,0,0,5), 4); - //gridBuilder->addGrid(new VerticalCylinder(50, 25, 10, 15, 15), 2); - - //gridBuilder->addGeometry(triangularMesh); + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////////////////////////////////////////////////////////// + // DrivAer + ////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////// - //Test Big Sphere - real dx = 0.2; - real vx = 0.02; - ////////////////////////////////////////////////////////////////////////////// - //// test periodic bc non uniform - //gridBuilder->addCoarseGrid(-10, -10, -5, 10, 10, 5, dx); - //gridBuilder->addGrid(new VerticalCylinder(0, 0, 0, 5, 20), 2); - ////////////////////////////////////////////////////////////////////////////// + //real dx = 0.2; + //real vx = 0.02; - - TriangularMesh* triangularMesh = TriangularMesh::make("C:/Users/lenz/Desktop/Work/gridGenerator/stl/DrivAer_Coarse.stl"); + //TriangularMesh* triangularMesh = TriangularMesh::make("C:/Users/lenz/Desktop/Work/gridGenerator/stl/DrivAer_Coarse.stl"); //TriangularMesh* triangularMesh = TriangularMesh::make("C:/Users/lenz/Desktop/Work/gridGenerator/stl/DrivAer_NoSTLGroups.stl"); //TriangularMesh* triangularMesh = TriangularMesh::make("C:/Users/lenz/Desktop/Work/gridGenerator/stl/DrivAer_Fastback_Coarse_200k.stl"); //TriangularMesh* triangularMesh = TriangularMesh::make("M:/TestGridGeneration/STL/DrivAer_NoSTLGroups.stl"); //TriangularMesh* triangularMesh = TriangularMesh::make("M:/TestGridGeneration/STL/DrivAer_Coarse.stl"); - gridBuilder->addCoarseGrid(-5, -5, -0.4, 15, 5, 5, dx); // DrivAer - gridBuilder->addGrid(new Cuboid(-1.5, -1.2, -1.5, 6.5, 1.5, 1.5), 2); - gridBuilder->addGrid(triangularMesh, 3); // DrivAer + //gridBuilder->addCoarseGrid(-5, -5, -0.4, 15, 5, 5, dx); // DrivAer + //gridBuilder->addGrid(new Cuboid(-1.5, -1.2, -1.5, 6.5, 1.5, 1.5), 2); + //gridBuilder->addGrid(triangularMesh, 3); // DrivAer //Object* floorBox = new Cuboid( -0.3, -1, -1, 4.0, 1, 0.2 ); //Object* wakeBox = new Cuboid( 3.5, -1, -1, 4.5, 1, 0.8 ); @@ -351,22 +297,54 @@ void multipleLevel(const std::string& configPath) //gridBuilder->addGrid(refRegion, 3); - gridBuilder->addGeometry(triangularMesh); + //gridBuilder->addGeometry(triangularMesh); + + ////////////////////////////////////////////////////////////////////////// + // Wall Mounted Cube + ////////////////////////////////////////////////////////////////////////// + + //real dx = 0.2; + //real vx = 0.02; //TriangularMesh* triangularMesh = TriangularMesh::make("C:/Users/lenz/Desktop/Work/gridGenerator/stl/Box_2.00.stl"); - //gridBuilder->addCoarseGrid(-5, -5, -1-dx/2.0, 15, 5, 5-dx/2.0, dx); // Wall Mounted Cube - //gridBuilder->addGrid(new Cuboid(-3, -2, -2, 5, 2, 2), 1); // Wall Mounted Cube + //gridBuilder->addCoarseGrid(-5, -5, -1-dx/2.0, 15, 5, 5-dx/2.0, dx); + //gridBuilder->addGrid(new Cuboid(-3, -2, -2, 5, 2, 2), 1); //gridBuilder->addGeometry(triangularMesh); + ////////////////////////////////////////////////////////////////////////// + // Testing layer refinement + ////////////////////////////////////////////////////////////////////////// + + real dx = 0.25; + real vx = 0.002; + TriangularMesh* triangularMesh = TriangularMesh::make("C:/Users/lenz/Desktop/Work/gridGenerator/stl/Box_2.00.stl"); + + gridBuilder->addCoarseGrid(-4, -4, -4, 4, 4, 4, dx); + + gridBuilder->addGrid(triangularMesh, 3); + + ////////////////////////////////////////////////////////////////////////// + // other tests + ////////////////////////////////////////////////////////////////////////// + + //TriangleOffsetSurfaceGeneration::createOffsetTriangularMesh(triangularMesh, 5); + + //TriangularMesh* sphere = TriangularMesh::make("D:/GRIDGENERATION/STL/GTI.stl", DiscretizationMethod::RAYCASTING); + //TransformatorImp trans(1.0, Vertex(5.5, 1, 12)); + //trans.transformWorldToGrid(*sphere); + //STLWriter::writeSTL(sphere->triangleVec, "D:/GRIDGENERATION/STL/GTI2.stl", false); //real size = 0.02; //gridBuilder->addGrid(new Sphere( 0, 0, 0, 2.5), 1); //gridBuilder->addGrid(new VerticalCylinder( 0, 0, 0, 3, 60), 2); //gridBuilder->addGrid(new Sphere(0, 0, 19.5, 1), 6);//until level 7 works - //////////////////////////////////////////////////////////////////////////// - //general call + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + gridBuilder->setPeriodicBoundaryCondition(false, false, false); gridBuilder->buildGrids(LBM); // buildGrids() has to be called before setting the BCs!!!! @@ -400,33 +378,20 @@ void multipleLevel(const std::string& configPath) //gridBuilder->setVelocityBoundaryCondition(SideType::PY, 0.001, 0.0, 0.0); //gridBuilder->setVelocityBoundaryCondition(SideType::MZ, 0.001, 0.0, 0.0); //gridBuilder->setVelocityBoundaryCondition(SideType::PZ, 0.001, 0.0, 0.0); - - - //TriangleOffsetSurfaceGeneration::createOffsetTriangularMesh(triangularMesh, 5); - - //TriangularMesh* sphere = TriangularMesh::make("D:/GRIDGENERATION/STL/GTI.stl", DiscretizationMethod::RAYCASTING); - //TransformatorImp trans(1.0, Vertex(5.5, 1, 12)); - //trans.transformWorldToGrid(*sphere); - //STLWriter::writeSTL(sphere->triangleVec, "D:/GRIDGENERATION/STL/GTI2.stl", false); - - //gridBuilder->addGrid(new Sphere(20, 20, 20, 8)); - //gridBuilder->addGeometry(triangularMesh, 1); - - //gridBuilder->addFineGrid(new Cuboid(15, 15, 15, 25, 25, 25), 1); - //gridBuilder->addFineGrid(new Cuboid(17, 17, 17, 23, 23, 23), 2); - - - //gridBuilder->addFineGrid(17.0, 17.0, 17.0, 20.0, 20.0, 20.0, 3); - //gridBuilder->addFineGrid(10.0, 10.0, 10.0, 20.0, 20.0, 20.0, 3); - - - //gridBuilder->writeGridsToVtk("C:/Users/lenz/Desktop/Work/gridGenerator/Sphere_"); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //gridBuilder->writeGridsToVtk("M:/TestGridGeneration/results/ConcaveTest_"); gridBuilder->writeGridsToVtk("C:/Users/lenz/Desktop/Work/gridGenerator/out/Test_"); //gridBuilder->writeGridsToVtk("M:/TestGridGeneration/results/CylinderTest_"); //gridBuilder->writeArrows ("C:/Users/lenz/Desktop/Work/gridGenerator/Sphere_Arrow"); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //{ @@ -520,7 +485,7 @@ void multipleLevel(const std::string& configPath) //SimulationFileWriter::write("D:/GRIDGENERATION/files/", gridBuilder, FILEFORMAT::ASCII); - //return; + return; SPtr<Parameter> para = Parameter::make(); SPtr<GridProvider> gridGenerator = GridGenerator::make(gridBuilder, para); -- GitLab