From 87f0b74b54a67d3838950e78214978ac2472589e Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 1 Feb 2019 14:11:54 +0100 Subject: Adjust cylinder2d refinement structure Required to both increase cylinder discretization detail and fix cell count to a uniform N=9 grid. --- apps/adrian/cylinder2d/cylinder2d.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/adrian/cylinder2d/cylinder2d.cpp b/apps/adrian/cylinder2d/cylinder2d.cpp index a0732e4..b2ed6fc 100644 --- a/apps/adrian/cylinder2d/cylinder2d.cpp +++ b/apps/adrian/cylinder2d/cylinder2d.cpp @@ -221,7 +221,7 @@ int main(int argc, char* argv[]) const auto coarseDeltaX = coarseGrid.getConverter().getPhysDeltaX(); - const Vector fineExtend {8*cylinderD, ly-2*coarseDeltaX}; + const Vector fineExtend {6.5*cylinderD, ly-2*coarseDeltaX}; const Vector fineOrigin {0.75*cylinderD, coarseDeltaX}; auto& fineGrid = coarseGrid.refine(fineOrigin, fineExtend); @@ -251,18 +251,27 @@ int main(int argc, char* argv[]) coarseGrid.getSuperGeometry().rename(4,0,refined); } - const Vector fineExtend2 {3.6*cylinderD, 2*cylinderD}; - const Vector fineOrigin2 {1*cylinderD, 2*cylinderD-fineExtend2[1]/2}; + const Vector fineExtend2 {2.3*cylinderD, 1.7*cylinderD}; + const Vector fineOrigin2 {1.0*cylinderD, 2*cylinderD-fineExtend2[1]/2}; auto& fineGrid2 = fineGrid.refine(fineOrigin2, fineExtend2); prepareGeometry(fineGrid2); disableRefinedArea(fineGrid, fineGrid2); + const Vector fineExtend3 {1.4*cylinderD, 1.4*cylinderD}; + const Vector fineOrigin3 {2*cylinderD-fineExtend3[0]/2, 2*cylinderD-fineExtend3[1]/2}; + + auto& fineGrid3 = fineGrid2.refine(fineOrigin3, fineExtend3); + prepareGeometry(fineGrid3); + + disableRefinedArea(fineGrid2, fineGrid3); + prepareLattice(coarseGrid); prepareLattice(fineGrid); prepareLattice(fineOutflowGrid); prepareLattice(fineGrid2); + prepareLattice(fineGrid3); clout << "Total number of active cells: " << coarseGrid.getActiveVoxelN() << endl; clout << "Starting simulation..." << endl; @@ -281,6 +290,7 @@ int main(int argc, char* argv[]) getResults("level1_", fineGrid, iT); getResults("level1_outflow_", fineOutflowGrid, iT); getResults("level2_", fineGrid2, iT); + getResults("level3_", fineGrid3, iT); if (iT%statIter == 0) { timer.update(iT); -- cgit v1.2.3