| 1329 | } // scatterToAll |
| 1330 | |
| 1331 | void |
| 1332 | LDataManager::scatterToZero(Vec& parallel_vec, Vec& sequential_vec) const |
| 1333 | { |
| 1334 | int ierr; |
| 1335 | const bool create_vout = !sequential_vec; |
| 1336 | VecScatter ctx; |
| 1337 | ierr = VecScatterCreateToZero(parallel_vec, &ctx, (create_vout ? &sequential_vec : nullptr)); |
| 1338 | IBTK_CHKERRQ(ierr); |
| 1339 | ierr = VecScatterBegin(ctx, parallel_vec, sequential_vec, INSERT_VALUES, SCATTER_FORWARD); |
| 1340 | IBTK_CHKERRQ(ierr); |
| 1341 | ierr = VecScatterEnd(ctx, parallel_vec, sequential_vec, INSERT_VALUES, SCATTER_FORWARD); |
| 1342 | IBTK_CHKERRQ(ierr); |
| 1343 | ierr = VecScatterDestroy(&ctx); |
| 1344 | IBTK_CHKERRQ(ierr); |
| 1345 | return; |
| 1346 | } // scatterToZero |
| 1347 | |
| 1348 | void |
| 1349 | LDataManager::beginDataRedistribution(const int coarsest_ln_in, const int finest_ln_in) |
no outgoing calls
no test coverage detected