MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / Update

Method Update

comp/l2hofespace.cpp:1018–1060  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 {

Callers

nothing calls this directly

Calls 10

GetNextTimeStampFunction · 0.85
UpdateDofTablesFunction · 0.85
UpdateCouplingDofArrayFunction · 0.85
ElementIdClass · 0.85
UpdateFunction · 0.70
GetTimeStampFunction · 0.70
DefinedOnFunction · 0.70
RangeFunction · 0.50
UpdateMethod · 0.45
SetSizeMethod · 0.45

Tested by

no test coverage detected