1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| // checks that restriction works for face vectors on a non-trivial tree grid
int main(int argc, char * argv[])
{
X0 = Y0 = -0.7;
init_grid (1);
int depth = argc > 1 ? atoi(argv[1]) : 4;
refine (level < depth - 2 ||
level <= depth*(1. - sqrt(sq(x - 0.1) + sq(y - 0.1))));
face vector u[];
foreach_face()
u.x[] = 1.;
boundary ((scalar *){u});
output_cells (stdout);
for (int l = 0; l <= depth(); l++)
foreach_level(l) {
fprintf (stderr, "%g %g %g %d\n", x - Delta/2., y, u.x[], l);
assert ((u.x[] == 1. && u.y[] == 1. && u.x[1,0] == 1. && u.y[0,1] == 1.));
}
}
|