| 131 | |
| 132 | using DiffOp<DiffOpIdFacetSurface<D>>::AddTransSIMDIR; |
| 133 | static void AddTransSIMDIR (const FiniteElement & bfel, const SIMD_BaseMappedIntegrationRule & mir, |
| 134 | BareSliceMatrix<SIMD<double>> y, BareSliceVector<double> x) |
| 135 | { |
| 136 | const FacetVolumeFiniteElement<D-1> & fel_facet = static_cast<const FacetVolumeFiniteElement<D-1>&> (bfel); |
| 137 | |
| 138 | int facetnr = mir.IR()[0].FacetNr(); |
| 139 | if (facetnr < 0) |
| 140 | throw Exception("cannot evaluate facet-fe inside element, add trans simd"); |
| 141 | else |
| 142 | fel_facet.Facet(facetnr).AddTrans(mir.IR(), |
| 143 | y.Row(0), |
| 144 | x.Range(fel_facet.GetFacetDofs(facetnr))); |
| 145 | } |
| 146 | |
| 147 | static shared_ptr<CoefficientFunction> |
| 148 | DiffShape (shared_ptr<CoefficientFunction> proxy, |