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

Method AddTrans

fem/thdivfe_impl.hpp:377–403  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

375
376 template <class FEL, ELEMENT_TYPE ET>
377 void T_HDivFiniteElement<FEL,ET> ::
378 AddTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> values,
379 BareSliceVector<> coefs) const
380 {
381 Iterate<4-DIM>
382 ([this,&bmir,values,coefs](auto CODIM)
383 {
384 constexpr int DIMSPACE = DIM+CODIM.value;
385 if (bmir.DimSpace() == DIMSPACE)
386 {
387 auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
388 for (size_t i = 0; i < mir.Size(); i++)
389 {
390 Vec<DIMSPACE, SIMD<double>> vali = values.Col(i);
391 // for (int k = 0; k < DIMSPACE; k++)
392 // vali(k) = values(k,i);
393 static_cast<const FEL*> (this) ->
394 T_CalcShape (GetTIPHDiv(mir[i]),
395 SBLambda ([vali,coefs] (size_t j, auto s)
396 {
397 auto vshape = HDiv2ShapeNew(s);
398 coefs(j) += HSum(InnerProduct(vali,vshape));
399 }));
400 }
401 }
402 });
403 }
404
405
406 template <class FEL, ELEMENT_TYPE ET>

Callers

nothing calls this directly

Calls 8

GetTIPHDivFunction · 0.85
HDiv2ShapeNewFunction · 0.85
InnerProductFunction · 0.70
HSumFunction · 0.50
DimSpaceMethod · 0.45
SizeMethod · 0.45
ColMethod · 0.45
T_CalcShapeMethod · 0.45

Tested by

no test coverage detected