Skip to content

Commit 0de6dcc

Browse files
DavidAndereggewu63anilyil
authored
Overset tut (#23)
Co-authored-by: Neil Wu <[email protected]> Co-authored-by: Anil Yildirim <[email protected]>
1 parent bae6ee3 commit 0de6dcc

File tree

72 files changed

+5771
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+5771
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
_build
22
.DS_Store
33
*.cgns
4+
.vscode/*
5+
make.bat

machAeroTutorials/images/cubeplot.jpg

54.9 KB
501 KB
390 KB
285 KB
278 KB
142 KB
165 KB
155 KB
420 KB
286 KB
277 KB
566 KB
261 KB
281 KB

machAeroTutorials/index.rst

+1
+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
Overset Tips
2+
============
3+
--------------------------------------------------------------------------------
4+
General
5+
--------------------------------------------------------------------------------
6+
- all meshes should have same off-wall spacing
7+
- intersecting meshes must have mating surfaces (no actual intersections)
8+
- once you have a valid hole-cutting, decrease the 'nearwalldist' to the
9+
minimum possible value
10+
- each compute cell must have at least two donor cells in each orthogonal
11+
direction and one cell in each diagonal direction otherwise, it will be
12+
flagged as an orphan (see ASCII art below)
13+
14+
|---|---|---|---|---| The compute cell in the center would
15+
| B | B | D | B | B | not be flagged as an orphan as long
16+
|---|---|---|---|---| as it maintains the stencil of donor
17+
| B | D | D | D | B | cells (marked with D) in 3D.
18+
|---|---|---|---|---|
19+
| D | D | C | D | D | Key:
20+
|---|---|---|---|---| D (donor) - compute or interpolate
21+
| B | D | D | D | B | B (blanked) - blanked, flooded,
22+
|---|---|---|---|---| flood seed or explicitly blanked
23+
| B | B | D | B | B |
24+
|---|---|---|---|---|
25+
--------------------------------------------------------------------------------
26+
Collar meshes
27+
--------------------------------------------------------------------------------
28+
- must be much finer mesh in comparison to overlapping meshes
29+
30+
--------------------------------------------------------------------------------
31+
How Implicit Hole Cutting Works
32+
--------------------------------------------------------------------------------
33+
1) Determine Overlap of N Blocks
34+
Create an N x N matrix that tells, for a given block, which other blocks
35+
overlap it.
36+
37+
*) Designate Flood Seeds
38+
Any cell farther than 'nearwalldist' from a wall in its own block that
39+
intersects a wall on another block will be flagged as a flood seed.
40+
41+
m) Flooding
42+
In a given block, any compute cells that interface with a flood seed or a
43+
flooded cell are converted to flooded cells. The flood is only contained
44+
by interpolate cells.
45+
46+
n) Fringe Reduction
47+
After the iterative portion of the algorithm is over, excess fringe cells
48+
are converted to blanked cells if they do not influence any compute cells.
49+
50+
iBlank Values
51+
1 : Compute
52+
0 : Blanked
53+
-1 : Fringe (interpolate)
54+
-2 : Flooded
55+
-3 : Flood seed
56+
-4 : Explicitly blanked (cutCallBack)
57+
58+
--------------------------------------------------------------------------------
59+
Adjusting Implicit Hole Cutting Process
60+
--------------------------------------------------------------------------------
61+
There are two related flags in pyADflow to help with this:
62+
63+
'usezippermesh': False (default=True)
64+
Sometimes if your mesh is flooding out, the zipper mesh will fail and
65+
the mesh will not be written to file. This is basically impossible to
66+
troubleshoot. This can be avoided by setting 'usezippermesh' to False.
67+
68+
'nrefine': 1 (default=10)
69+
You can choose how many cycles to run the hole cutting algorithm. In
70+
flood-out cases, you may want to stop after 1 cycle to see where a leak
71+
is occurring.
72+
73+
Within each hole cutting cycle, there is a flooding procedure which generally
74+
takes at least two iterations. If the mesh is flooding out, you can go into the
75+
Fortran code to limit the number of iterations in this cycle so that you can
76+
tell where the leak starts.
77+
78+
> Open adflow/src/overset/floodInteriorCells.F90
79+
80+
> Insert an additional if statement in the code after line 231.
81+
82+
231 loopIter = loopIter + 1
83+
232
84+
233 ! Choose number of flood cycles
85+
234 if (loopIter == 2) then
86+
235 exit parallelSyncLoop
87+
236 end if
88+
237
89+
238 end do parallelSyncLoop
90+
91+
> Using 'loopIter == 2' will stop the cycle after one Flood Iteration.
92+
93+
> Don't forget to recompile the code. (make in hg/adflow)
94+
95+
--------------------------------------------------------------------------------
96+
Viewing iBlanks in Tecplot
97+
--------------------------------------------------------------------------------
98+
1. One Tecplot zone per CGNS/zone solution
99+
2. Check "Load Cell-centered Directly" (default)
100+
3. Change Surfaces to "Exposed cell faces"
101+
4. Change Contour Type to "Primary value flood"
102+
5. Contour Levels
103+
- Minimum = -3
104+
- Maximum = 0
105+
- N levels = 4
106+
6. Blanking
107+
108+
--------------------------------------------------------------------------------
109+
Generating grid families for a grid convergence study
110+
--------------------------------------------------------------------------------
111+
Say we have a base grid with level = j.
112+
Another grid with level "i" should be generated such that:
113+
- Number of cells: Ni = Nj / (2**dim)**(i-j)
114+
- Number of nodes on an edge: add one to # of cells
115+
- Growth ratio: ri = rj**(i+1-j)
116+
117+
For more information, see https://www.grc.nasa.gov/www/wind/valid/tutorial/spatconv.html

machAeroTutorials/overset.bib

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@misc{nasaM6sim,
2+
title={{3D} {ONERA} {M6} {W}ing Validation for Turbulence Model Numerical Analysis},
3+
url={https://turbmodels.larc.nasa.gov/onerawingnumerics_val.html},
4+
journal={NASA},
5+
publisher={NASA}
6+
}
7+
8+
@misc{nasaM6real,
9+
title={{ONERA} {M6} {W}ing},
10+
url={https://www.grc.nasa.gov/WWW/wind/valid/m6wing/m6wing.html},
11+
journal={NASA},
12+
publisher={NASA}
13+
}
14+
15+
@misc{nasaM6SA,
16+
title = {{3D} {ONERA} {M6} {W}ing Validation for Turbulence Model Numerical Analysis - {SA}-neg Model Results},
17+
url = {https://turbmodels.larc.nasa.gov/onerawingnumerics_val_sa.html},
18+
urldate = {2020-12-11},
19+
}
+207

0 commit comments

Comments
 (0)