From 22aee3b3a55243631fefbc8cc01cca5b7521cf17 Mon Sep 17 00:00:00 2001 From: Joachim Schoeberl Date: Fri, 5 Feb 2021 11:42:45 +0100 Subject: [PATCH] simd-mapping of point elements --- libsrc/interface/nginterface_v2.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libsrc/interface/nginterface_v2.cpp b/libsrc/interface/nginterface_v2.cpp index 18563f91..cca8b3a4 100644 --- a/libsrc/interface/nginterface_v2.cpp +++ b/libsrc/interface/nginterface_v2.cpp @@ -861,7 +861,14 @@ namespace netgen SIMD * x, size_t sx, SIMD * dxdxi, size_t sdxdxi) const { - cout << "MultiElementtransformation<0,2> simd not implemented" << endl; + //cout << "MultiElementtransformation<0,2> simd not implemented" << endl; + + PointIndex pi = mesh->pointelements[elnr].pnum; + Point<3> xg = mesh->Point(pi); + if (x) + for (int j = 0; j < npts; j++) + for (int i = 0; i < 2; i++) + x[j*sx+i] = xg(i); } template<> DLL_HEADER void Ngx_Mesh :: @@ -870,7 +877,13 @@ namespace netgen SIMD * x, size_t sx, SIMD * dxdxi, size_t sdxdxi) const { - cout << "multi-eltrafo simd called, 0,1,simd" << endl; + //cout << "multi-eltrafo simd called, 0,1,simd" << endl; + PointIndex pi = mesh->pointelements[elnr].pnum; + Point<3> xg = mesh->Point(pi); + if (x) + for (int j = 0; j < npts; j++) + for (int i = 0; i < 1; i++) + x[j*sx+i] = xg(i); } template<> DLL_HEADER void Ngx_Mesh ::