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

Method Update

comp/hdivhosurfacefespace.cpp:296–382  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

294 }
295 }
296 void HDivHighOrderSurfaceFESpace :: Update()
297 {
298 FESpace::Update();
299
300 size_t nel = ma->GetNSE();
301 size_t nfa = ma->GetNEdges();
302 // size_t dim = ma->GetDimension();
303
304 first_facet_dof.SetSize(nfa+1);
305 first_inner_dof.SetSize(nel+1);
306
307 order_facet.SetSize(nfa);
308 order_inner.SetSize(nel);
309
310 if(uniform_order_inner > -1)
311 order_inner = uniform_order_inner;
312 else
313 order_inner = order;
314 if(uniform_order_facet > -1)
315 order_facet = uniform_order_facet;
316 else
317 order_facet = order;
318
319 fine_facet.SetSize(nfa);
320 fine_facet = 0; //!!!!
321
322
323 for (auto el : ma->Elements(BND))
324 {
325 if (!DefinedOn (el))
326 {
327 order_inner[el.Nr()] = 0;
328 // order_inner_curl[el.Nr()] = 0;
329 continue;
330 }
331
332 // ELEMENT_TYPE eltype = el.GetType();
333 // const POINT3D * points = ElementTopology :: GetVertices (eltype);
334 auto elfacets = el.Edges();
335
336 fine_facet[elfacets] = true;
337
338 // if(!var_order) continue;
339
340 // IVec<3> el_orders = ma->GetElOrders(el.Nr());
341
342 // int i = el.Nr();
343 // for(int k=0;k<dim;k++)
344 // {
345 // // order_inner_curl[i][k]= max2(el_orders[k] + rel_curl_order,0);
346 // order_inner[i][k] = max2(el_orders[k]+rel_order,0);
347 // }
348
349 // if(dim==2)
350 // {
351 // const EDGE * edges = ElementTopology::GetEdges (eltype);
352 // for(int j=0; j<elfacets.Size(); j++)
353 // for(int k=0;k<2;k++)

Callers

nothing calls this directly

Calls 8

UpdateDofTablesFunction · 0.85
UpdateCouplingDofArrayFunction · 0.85
ElementsMethod · 0.80
EdgesMethod · 0.80
UpdateFunction · 0.70
DefinedOnFunction · 0.70
SetSizeMethod · 0.45
NrMethod · 0.45

Tested by

no test coverage detected