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

Method interpolateVelocity

src/IB/IBMethod.cpp:671–694  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

669} // updateFixedLEOperators
670
671void
672IBMethod::interpolateVelocity(const int u_data_idx,
673 const std::vector<Pointer<CoarsenSchedule<NDIM>>>& u_synch_scheds,
674 const std::vector<Pointer<RefineSchedule<NDIM>>>& u_ghost_fill_scheds,
675 const double data_time)
676{
677 std::vector<Pointer<LData>>*U_data, *X_LE_data;
678 bool* X_LE_needs_ghost_fill;
679 getVelocityData(&U_data, data_time);
680 getLECouplingPositionData(&X_LE_data, &X_LE_needs_ghost_fill, data_time);
681 d_l_data_manager->interp(u_data_idx, *U_data, *X_LE_data, u_synch_scheds, u_ghost_fill_scheds, data_time);
682 resetAnchorPointValues(*U_data,
683 /*coarsest_ln*/ 0,
684 /*finest_ln*/ d_hierarchy->getFinestLevelNumber());
685
686 if (!IBTK::rel_equal_eps(data_time, d_half_time))
687 {
688 std::vector<Pointer<LData>>* U_half_data;
689 getVelocityData(&U_half_data, d_half_time);
690 reinitMidpointData(d_U_current_data, d_U_new_data, *U_half_data);
691 }
692
693 return;
694} // interpolateVelocity
695
696void
697IBMethod::interpolateLinearizedVelocity(const int u_data_idx,

Callers 14

applyMethod · 0.45
modifyRhsForBcsMethod · 0.45
solveSystemMethod · 0.45
IBFunction_positionMethod · 0.45
IBFunction_velocityMethod · 0.45
PCApply_SaddlePointMethod · 0.45
MatVecMult_KMInvMethod · 0.45
mainFunction · 0.45

Calls 3

rel_equal_epsFunction · 0.85
interpMethod · 0.45
getFinestLevelNumberMethod · 0.45

Tested by

no test coverage detected