| 3273 | |
| 3274 | template <typename FEL, typename MIP, typename MAT> |
| 3275 | static void GenerateMatrix (const FEL & fel, const MIP & mip, |
| 3276 | MAT && mat, LocalHeap & lh) |
| 3277 | { |
| 3278 | auto & bfel = static_cast<const VectorFiniteElement&> (fel); |
| 3279 | auto & feli = static_cast<const BaseScalarFiniteElement&> (bfel[0]); |
| 3280 | |
| 3281 | int ndofi = feli.GetNDof(); |
| 3282 | FlatMatrix<> grad (ndofi, DIM_SPC, lh); |
| 3283 | feli.CalcDShape(mip.IP(), grad); |
| 3284 | double idet = 1.0/mip.GetJacobiDet(); |
| 3285 | |
| 3286 | for (int k = 0; k < DIM_SPC; k++) |
| 3287 | mat.Row(0).Range(k*ndofi, (k+1)*ndofi) = idet * grad.Col(k); |
| 3288 | } |
| 3289 | |
| 3290 | |
| 3291 | static void GenerateMatrixSIMDIR (const FiniteElement & bfel, |
nothing calls this directly
no test coverage detected