diff --git a/src/rodrefine.hh b/src/rodrefine.hh index d61690e89bdb534b9dd71801b7775ccbd3a6fc1b..4c20bb4c3cff0277626152e124581f47ba4ffbec 100644 --- a/src/rodrefine.hh +++ b/src/rodrefine.hh @@ -49,18 +49,18 @@ void globalRodRefine(GridType& grid, std::vector<RigidBodyMotion<3> >& x) for (int i=0; i<2; i++) { - if (dofMap.find(idSet.template subId<1>(*eIt,i)) != dofMap.end()) { + if (dofMap.find(idSet.subId(*eIt,i,1)) != dofMap.end()) { - x[indexSet.template subIndex<1>(*eIt,i)] = dofMap[idSet.template subId<1>(*eIt,i)]; + x[indexSet.subIndex(*eIt,i,1)] = dofMap[idSet.subId(*eIt,i,1)]; } else { // Interpolate - RigidBodyMotion<3> p0 = dofMap[idSet.template subId<1>(*eIt->father(),0)]; - RigidBodyMotion<3> p1 = dofMap[idSet.template subId<1>(*eIt->father(),1)]; + RigidBodyMotion<3> p0 = dofMap[idSet.subId(*eIt->father(),0,1)]; + RigidBodyMotion<3> p1 = dofMap[idSet.subId(*eIt->father(),1,1)]; - x[indexSet.template subIndex<1>(*eIt,i)].r = (p0.r + p1.r); - x[indexSet.template subIndex<1>(*eIt,i)].r *= 0.5; - x[indexSet.template subIndex<1>(*eIt,i)].q + x[indexSet.subIndex(*eIt,i,1)].r = (p0.r + p1.r); + x[indexSet.subIndex(*eIt,i,1)].r *= 0.5; + x[indexSet.subIndex(*eIt,i,1)].q = Rotation<3,double>::interpolate(p0.q, p1.q, 0.5); }