Commit de7b7f4
Fix Tensor Solver BC (AMReX-Codes#2930)
This fixes some bugs in the physical domain BC of tensor linear solver.
At the corner of two no-slip walls (e.g., (0,0)), we have u(-1,0) =
-u(0,0)
and u(0,-1) = -u(0,0). It's incorrect to fill the corner ghost cell with
u(-1,-1) = u(-1,0) + u(0,-1) - u(0,0), because it will result in
u(-1,-1) =
-3 * u(0,0).
In the old approach, to avoid branches in computing transverse
derivatives
on cell faces, we fill the ghost cells first. For example, to compute
du/dy
at the lo-x boundary, we use the data in i = -1 and 0, just like we
compute
du/dy(i) using u(i-1) and u(i) for interior faces. The problem is the
normal velocity in the ghost cells outside a wall is filled with
extrapolation of the Dirichlet value (which is zero) and more than 1
interior cells. Because of the high-order extrapolation, u(-1) != -u(0).
This is the desired approach for computing du/dx on the wall. However,
this
produces incorrect results in dudy.
In the new approach, we explicitly handle the boundaries in the
derivative
stencil. For example, to compute transverse derivatives on an inflow
face,
we use the boundary values directly.
Co-authored-by: cgilet <[email protected]>1 parent 13aa4df commit de7b7f4
File tree
12 files changed
+3487
-1359
lines changed- Src
- Base
- LinearSolvers/MLMG
12 files changed
+3487
-1359
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
100 | 124 | | |
101 | 125 | | |
102 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
| 109 | + | |
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| 20 | + | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
87 | 110 | | |
88 | | - | |
| 111 | + | |
89 | 112 | | |
90 | 113 | | |
91 | 114 | | |
92 | | - | |
93 | | - | |
| 115 | + | |
| 116 | + | |
94 | 117 | | |
95 | 118 | | |
96 | 119 | | |
97 | 120 | | |
98 | 121 | | |
99 | 122 | | |
100 | 123 | | |
101 | | - | |
| 124 | + | |
102 | 125 | | |
| 126 | + | |
103 | 127 | | |
104 | 128 | | |
105 | 129 | | |
106 | | - | |
107 | | - | |
108 | 130 | | |
109 | 131 | | |
110 | 132 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
13 | 98 | | |
14 | 99 | | |
15 | 100 | | |
| |||
20 | 105 | | |
21 | 106 | | |
22 | 107 | | |
23 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
24 | 115 | | |
25 | 116 | | |
26 | 117 | | |
27 | 118 | | |
28 | 119 | | |
29 | 120 | | |
| 121 | + | |
30 | 122 | | |
31 | 123 | | |
32 | 124 | | |
| |||
43 | 135 | | |
44 | 136 | | |
45 | 137 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
50 | 144 | | |
51 | 145 | | |
52 | | - | |
| 146 | + | |
53 | 147 | | |
54 | 148 | | |
55 | 149 | | |
| |||
65 | 159 | | |
66 | 160 | | |
67 | 161 | | |
68 | | - | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
69 | 169 | | |
70 | 170 | | |
71 | 171 | | |
72 | 172 | | |
73 | 173 | | |
74 | 174 | | |
| 175 | + | |
75 | 176 | | |
76 | 177 | | |
77 | 178 | | |
| |||
88 | 189 | | |
89 | 190 | | |
90 | 191 | | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
96 | 198 | | |
97 | 199 | | |
98 | | - | |
99 | | - | |
| 200 | + | |
| 201 | + | |
100 | 202 | | |
101 | 203 | | |
102 | 204 | | |
| |||
0 commit comments