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

Method CalcDualShape2

fem/tangentialfacetfe.cpp:235–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

233
234 template<> template <typename MIP, typename TFA>
235 void TangentialFacetFacetFE<ET_SEGM>::CalcDualShape2 (const MIP & mip,
236 TFA & shape) const
237 {
238 typedef typename std::remove_const<typename std::remove_reference<decltype(mip.IP()(0))>::type>::type T;
239 auto & ip = mip.IP();
240 T x = ip(0);
241 if ( vnums[0] > vnums[1]) x = 1-x;
242 auto xi = 2*x-1;
243
244 Vec<2,T> tau = mip.GetJacobian().Col(0);
245 tau /= mip.GetMeasure();
246
247 LegendrePolynomial(order, xi,
248 SBLambda([&] (size_t i, auto val)
249 {
250 shape[i] = val*tau;
251 }));
252 }
253
254 template<>
255 void TangentialFacetFacetFE<ET_SEGM>::ComputeNDof()

Callers 3

CalcDualShapeMethod · 0.95
EvaluateDualMethod · 0.45
AddDualTransMethod · 0.45

Calls 6

LegendrePolynomialFunction · 0.85
EvalFunction · 0.85
GetJacobianMethod · 0.80
GetMeasureMethod · 0.80
GetVertexOrientedFaceMethod · 0.80
ColMethod · 0.45

Tested by

no test coverage detected