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

Method CalcMappedNormalShape

fem/thdivfe_impl.hpp:203–229  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

201
202 template <class FEL, ELEMENT_TYPE ET>
203 void T_HDivFiniteElement<FEL,ET>::
204 CalcMappedNormalShape (const SIMD_BaseMappedIntegrationRule & bmir,
205 BareSliceMatrix<SIMD<double>> shapes) const
206 {
207 Iterate<4-DIM>
208 ([this,&bmir,shapes](auto CODIM)
209 {
210 constexpr int DIMSPACE = DIM+CODIM.value;
211 if (bmir.DimSpace() == DIMSPACE)
212 {
213 auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
214 for (size_t i = 0; i < mir.Size(); i++)
215 {
216 auto nv = mir[i].GetNV();
217 auto shapesi = shapes.Col(i);
218 static_cast<const FEL*> (this) ->
219 T_CalcShape (GetTIPHDiv(mir[i]),
220 SBLambda ([shapesi, nv] (size_t j, auto s)
221 {
222 auto vshape = HDiv2ShapeNew (s);
223 // shapesi.Range(j*vshape.Size(), (j+1)*vshape.Size()) = vshape;
224 shapesi(j) = InnerProduct(nv, vshape);
225 }));
226 }
227 }
228 });
229 }
230
231
232

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected