summaryrefslogtreecommitdiff
path: root/apps/adrian/cylinder2d
diff options
context:
space:
mode:
Diffstat (limited to 'apps/adrian/cylinder2d')
-rw-r--r--apps/adrian/cylinder2d/cylinder2d.cpp16
1 files 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<T,2> fineExtend {8*cylinderD, ly-2*coarseDeltaX};
+ const Vector<T,2> fineExtend {6.5*cylinderD, ly-2*coarseDeltaX};
const Vector<T,2> 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<T,2> fineExtend2 {3.6*cylinderD, 2*cylinderD};
- const Vector<T,2> fineOrigin2 {1*cylinderD, 2*cylinderD-fineExtend2[1]/2};
+ const Vector<T,2> fineExtend2 {2.3*cylinderD, 1.7*cylinderD};
+ const Vector<T,2> fineOrigin2 {1.0*cylinderD, 2*cylinderD-fineExtend2[1]/2};
auto& fineGrid2 = fineGrid.refine(fineOrigin2, fineExtend2);
prepareGeometry(fineGrid2);
disableRefinedArea(fineGrid, fineGrid2);
+ const Vector<T,2> fineExtend3 {1.4*cylinderD, 1.4*cylinderD};
+ const Vector<T,2> 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);