From 77869487e437b4050f98c28a24db82e1e83a872c Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Wed, 6 Feb 2019 21:02:21 +0100 Subject: Continue cylinder2d refinement setup encapsulation --- .../cylinder2d/optimized_grid/cylinder2d.cpp | 47 ++++++++++++---------- 1 file changed, 26 insertions(+), 21 deletions(-) (limited to 'apps/adrian/cylinder2d/optimized_grid/cylinder2d.cpp') diff --git a/apps/adrian/cylinder2d/optimized_grid/cylinder2d.cpp b/apps/adrian/cylinder2d/optimized_grid/cylinder2d.cpp index e5a934c..d516394 100644 --- a/apps/adrian/cylinder2d/optimized_grid/cylinder2d.cpp +++ b/apps/adrian/cylinder2d/optimized_grid/cylinder2d.cpp @@ -137,7 +137,6 @@ void prepareLattice(Grid2D& grid) instances::getBulkMomenta()))); sOnLatticeBoundaryCondition2D& sBoundaryCondition = grid.getOnLatticeBoundaryCondition(); - //createInterpBoundaryCondition2D(sBoundaryCondition); createLocalBoundaryCondition2D(sBoundaryCondition); const T omega = converter.getLatticeRelaxationFrequency(); @@ -251,26 +250,8 @@ void takeMeasurements(Grid2D& grid, int iT, bool print=true) } } -int main(int argc, char* argv[]) +void setupRefinement(Grid2D& coarseGrid, Vector domainOrigin, Vector domainExtend) { - olbInit(&argc, &argv); - singleton::directories().setOutputDir("./tmp/"); - OstreamManager clout(std::cout,"main"); - - const Vector coarseOrigin {0.0, 0.0}; - const Vector coarseExtend {lx, ly}; - IndicatorCuboid2D coarseCuboid(coarseExtend, coarseOrigin); - - Grid2D coarseGrid( - coarseCuboid, - RelaxationTime(tau), - N, - PhysCharacteristics); - const Vector domainOrigin = coarseGrid.getSuperGeometry().getStatistics().getMinPhysR(0); - const Vector domainExtend = coarseGrid.getSuperGeometry().getStatistics().getPhysExtend(0); - - prepareGeometry(coarseGrid, domainOrigin, domainExtend); - const auto coarseDeltaX = coarseGrid.getConverter().getPhysDeltaX(); const Vector fineOutflowExtend {1*cylinderD, domainExtend[1]}; @@ -331,6 +312,28 @@ int main(int argc, char* argv[]) auto& fineGrid3 = fineGrid2.refine(fineOrigin3, fineExtend3); prepareGeometry(fineGrid3, domainOrigin, domainExtend); disableRefinedArea(fineGrid2, fineGrid3); +} + +int main(int argc, char* argv[]) +{ + olbInit(&argc, &argv); + singleton::directories().setOutputDir("./tmp/"); + OstreamManager clout(std::cout,"main"); + + const Vector coarseOrigin {0.0, 0.0}; + const Vector coarseExtend {lx, ly}; + IndicatorCuboid2D coarseCuboid(coarseExtend, coarseOrigin); + + Grid2D coarseGrid( + coarseCuboid, + RelaxationTime(tau), + N, + PhysCharacteristics); + const Vector domainOrigin = coarseGrid.getSuperGeometry().getStatistics().getMinPhysR(0); + const Vector domainExtend = coarseGrid.getSuperGeometry().getStatistics().getPhysExtend(0); + + prepareGeometry(coarseGrid, domainOrigin, domainExtend); + setupRefinement(coarseGrid, domainOrigin, domainExtend); coarseGrid.forEachGrid(prepareLattice); @@ -343,6 +346,8 @@ int main(int argc, char* argv[]) coarseGrid.getSuperGeometry().getStatistics().getNvoxel()); timer.start(); + Grid2D& cylinderGrid = coarseGrid.locate({cylinderX, cylinderY}); + for (int iT = 0; iT <= coarseGrid.getConverter().getLatticeTime(maxPhysT); ++iT) { setBoundaryValues(coarseGrid, iT); @@ -356,7 +361,7 @@ int main(int argc, char* argv[]) getResults(grid, id, iT); }); - takeMeasurements(fineGrid3, iT); + takeMeasurements(cylinderGrid, iT); } } -- cgit v1.2.3