| 331 | } |
| 332 | |
| 333 | void |
| 334 | build_ib_ghosted_system_data(std::vector<SystemData>& ghosted_system_data, |
| 335 | std::vector<std::unique_ptr<NumericVector<double>>>& ib_ghost_system_vecs, |
| 336 | const std::vector<SystemData>& unghosted_system_data, |
| 337 | FEDataManager* const fe_data_manager) |
| 338 | { |
| 339 | ghosted_system_data.clear(); |
| 340 | ib_ghost_system_vecs.clear(); |
| 341 | EquationSystems* equation_systems = fe_data_manager->getEquationSystems(); |
| 342 | for (const SystemData& system_data : unghosted_system_data) |
| 343 | { |
| 344 | const std::string& system_name = system_data.system_name; |
| 345 | const System& system = equation_systems->get_system(system_name); |
| 346 | NumericVector<double>* original_system_vec = system_data.system_vec; |
| 347 | if (!original_system_vec) original_system_vec = system.current_local_solution.get(); |
| 348 | ib_ghost_system_vecs.emplace_back(fe_data_manager->buildIBGhostedVector(system_name)); |
| 349 | copy_and_synch(*original_system_vec, *ib_ghost_system_vecs.back(), /*close_v_in*/ false); |
| 350 | ghosted_system_data.emplace_back( |
| 351 | SystemData(system_name, system_data.vars, system_data.grad_vars, ib_ghost_system_vecs.back().get())); |
| 352 | } |
| 353 | return; |
| 354 | } |
| 355 | } // namespace |
| 356 | |
| 357 | // Suppress warnings so that we can cleanly define these deprecated variables |
no test coverage detected