| 1016 | |
| 1017 | |
| 1018 | void L2HighOrderFESpace :: Update() |
| 1019 | { |
| 1020 | FESpace::Update(); |
| 1021 | if(low_order_space) low_order_space -> Update(); |
| 1022 | |
| 1023 | // nel = ma->GetNE(); |
| 1024 | |
| 1025 | bool first_update = GetTimeStamp() < ma->GetTimeStamp(); |
| 1026 | if (first_update) timestamp = NGS_Object::GetNextTimeStamp(); |
| 1027 | |
| 1028 | if (first_update) |
| 1029 | { |
| 1030 | order_inner.SetSize(ma->GetNE()); |
| 1031 | |
| 1032 | order_inner = IVec<3>(order); |
| 1033 | |
| 1034 | if(var_order) |
| 1035 | for (auto i : Range(ma->GetNE())) |
| 1036 | order_inner[i] = ma->GetElOrders(i)+IVec<3>(rel_order); |
| 1037 | |
| 1038 | for (auto i : Range(ma->GetNE())) |
| 1039 | { |
| 1040 | ElementId ei(VOL,i); |
| 1041 | order_inner[i] = order_inner[i] + IVec<3> (et_bonus_order[ma->GetElType(ei)]); |
| 1042 | order_inner[i] = Max(order_inner[i], IVec<3>(0)); |
| 1043 | if (!DefinedOn (ei)) |
| 1044 | order_inner[i] = all_dofs_together ? -1 : 0; |
| 1045 | } |
| 1046 | if(print) |
| 1047 | *testout << " order_inner (l2ho) " << order_inner << endl; |
| 1048 | } |
| 1049 | |
| 1050 | UpdateDofTables(); |
| 1051 | /* |
| 1052 | while (ma->GetNLevels() > ndlevel.Size()) |
| 1053 | ndlevel.Append (ndof); |
| 1054 | ndlevel.Last() = ndof; |
| 1055 | */ |
| 1056 | // if(low_order_space) prol->Update(*this); |
| 1057 | if (prol) prol->Update(*this); |
| 1058 | |
| 1059 | UpdateCouplingDofArray(); |
| 1060 | } |
| 1061 | |
| 1062 | void L2HighOrderFESpace :: UpdateCouplingDofArray() |
| 1063 | { |
nothing calls this directly
no test coverage detected