| 957 | } // putToDatabase |
| 958 | |
| 959 | void |
| 960 | CIBMethod::setConstraintForce(Vec L, const double data_time, const double scale) |
| 961 | { |
| 962 | #if !defined(NDEBUG) |
| 963 | TBOX_ASSERT(IBTK::rel_equal_eps(data_time, d_half_time)); |
| 964 | #else |
| 965 | NULL_USE(data_time); |
| 966 | #endif |
| 967 | |
| 968 | const int struct_ln = getStructuresLevelNumber(); |
| 969 | |
| 970 | std::vector<Pointer<LData>>* F_half_data; |
| 971 | bool* F_half_needs_ghost_fill; |
| 972 | getForceData(&F_half_data, &F_half_needs_ghost_fill, d_half_time); |
| 973 | Vec F_half = (*F_half_data)[struct_ln]->getVec(); |
| 974 | VecCopy(L, F_half); |
| 975 | VecScale(F_half, scale); |
| 976 | *F_half_needs_ghost_fill = true; |
| 977 | |
| 978 | d_constraint_force_is_initialized = true; |
| 979 | |
| 980 | return; |
| 981 | } // setConstraintForce |
| 982 | |
| 983 | void |
| 984 | CIBMethod::getConstraintForce(Vec* L, const double data_time) |
no test coverage detected