MCPcopy Create free account
hub / github.com/IBAMR/IBAMR / initializePatchHierarchy

Method initializePatchHierarchy

src/IB/PenaltyIBMethod.cpp:367–414  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

365} // computeLagrangianForce
366
367void
368PenaltyIBMethod::initializePatchHierarchy(Pointer<PatchHierarchy<NDIM>> hierarchy,
369 Pointer<GriddingAlgorithm<NDIM>> gridding_alg,
370 int u_data_idx,
371 const std::vector<Pointer<CoarsenSchedule<NDIM>>>& u_synch_scheds,
372 const std::vector<Pointer<RefineSchedule<NDIM>>>& u_ghost_fill_scheds,
373 int integrator_step,
374 double init_data_time,
375 bool initial_time)
376{
377 IBMethod::initializePatchHierarchy(hierarchy,
378 gridding_alg,
379 u_data_idx,
380 u_synch_scheds,
381 u_ghost_fill_scheds,
382 integrator_step,
383 init_data_time,
384 initial_time);
385
386 // Initialize velocity and position data objects for massive points.
387 if (initial_time)
388 {
389 const int coarsest_ln = 0;
390 const int finest_ln = d_hierarchy->getFinestLevelNumber();
391 for (int ln = coarsest_ln; ln <= finest_ln; ++ln)
392 {
393 if (!d_l_data_manager->levelContainsLagrangianData(ln)) continue;
394
395 Pointer<LData> X_data = d_l_data_manager->getLData(LDataManager::POSN_DATA_NAME, ln);
396 Pointer<LData> U_data = d_l_data_manager->getLData(LDataManager::VEL_DATA_NAME, ln);
397 Pointer<LData> Y_data = d_l_data_manager->createLData("Y", ln, NDIM, /*manage_data*/ true);
398 Pointer<LData> V_data = d_l_data_manager->createLData("V", ln, NDIM, /*manage_data*/ true);
399
400 if (d_silo_writer)
401 {
402 d_silo_writer->registerVariableData("Y", Y_data, ln);
403 }
404
405 // Set initial conditions.
406 int ierr;
407 ierr = VecCopy(X_data->getVec(), Y_data->getVec());
408 IBTK_CHKERRQ(ierr);
409 ierr = VecCopy(U_data->getVec(), V_data->getVec());
410 IBTK_CHKERRQ(ierr);
411 }
412 }
413 return;
414} // initializePatchHierarchy
415
416void
417PenaltyIBMethod::initializeLevelData(Pointer<BasePatchHierarchy<NDIM>> hierarchy,

Callers

nothing calls this directly

Calls 6

getLDataMethod · 0.80
createLDataMethod · 0.80
registerVariableDataMethod · 0.80
getVecMethod · 0.80
getFinestLevelNumberMethod · 0.45

Tested by

no test coverage detected