Commit add4362
committed
WIP: Add communication in Z
The actual significant changes are quite small, but these have big knock-on
effects in the tests. Main changes:
- Z is still periodic, but this is now implemented using guard cells instead of
modulus in `SpecificInd::zp/zm`
- Adds a new `Mesh` method `sendZ`
- `NZPE` is now a user-settable option
- Domain decomposition is done in Z before the usual X-Y decomposition
- The X/Y _boundary_ regions do not include the Z guards
- These corners should be filled in by `Mesh::communicate`
Changes to the tests:
- `FakeMesh` now has 1 Z guard cell, which changes the size of the interior
domain, and requires many of the `Field*` tests to be updated
- `IndexOffsetTest` needs to skip the Z guards, just like X, Y
- Derivative tests need extra point for interior + 2 * guards
- The Petsc and Hypre Laplace unit tests require the Z guards to be communicated
in order to fill in the global indices. This requires `FakeMesh` to actually
implement `sendZ`. This just copies the relevant points into the Z guards
- Also, we should not check the result in the Z guards
- I've also pulled out a bunch of common machinery between these two tests
- `BoutMeshTest` now needs to understand Z guards and Z processors1 parent 9d0ff3a commit add4362
30 files changed
Lines changed: 1074 additions & 798 deletions
File tree
- include/bout
- src
- invert/laplace/impls
- hypre3d
- petsc3damg
- mesh
- impls/bout
- solver
- impls/snes
- tests
- integrated
- test-beuler
- test-options-netcdf
- test-z-comms
- unit
- field
- include
- bout
- invert/laplace
- mesh
- solver
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
352 | 355 | | |
353 | 356 | | |
354 | 357 | | |
| |||
812 | 815 | | |
813 | 816 | | |
814 | 817 | | |
815 | | - | |
816 | | - | |
817 | | - | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
818 | 821 | | |
819 | 822 | | |
820 | 823 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
174 | | - | |
| 173 | + | |
| 174 | + | |
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
| 293 | + | |
297 | 294 | | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
310 | 299 | | |
311 | | - | |
312 | | - | |
| 300 | + | |
| 301 | + | |
313 | 302 | | |
314 | 303 | | |
315 | 304 | | |
| |||
320 | 309 | | |
321 | 310 | | |
322 | 311 | | |
323 | | - | |
324 | | - | |
325 | | - | |
| 312 | + | |
326 | 313 | | |
327 | 314 | | |
328 | 315 | | |
| |||
490 | 477 | | |
491 | 478 | | |
492 | 479 | | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
497 | 483 | | |
498 | 484 | | |
499 | 485 | | |
| |||
569 | 555 | | |
570 | 556 | | |
571 | 557 | | |
572 | | - | |
| 558 | + | |
573 | 559 | | |
574 | 560 | | |
575 | 561 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
436 | 436 | | |
437 | 437 | | |
438 | 438 | | |
439 | | - | |
440 | | - | |
| 439 | + | |
441 | 440 | | |
442 | 441 | | |
443 | 442 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
490 | 490 | | |
491 | 491 | | |
492 | 492 | | |
493 | | - | |
494 | | - | |
495 | | - | |
| 493 | + | |
496 | 494 | | |
497 | 495 | | |
498 | 496 | | |
| |||
0 commit comments