Hi,
I got also an issue, after my Linux doing an autoupdate. I tried to re-make XFEM, but I got the following error:
/usr/include/netgen/matrix.hpp: In instantiation of ‘ngbla::Vec<H, decltype (ngstd::RemoveConst((mat(0, 0) * vec(0))))> ngbla::operator*(const ngbla::Mat<H, W, T1>&, const ngbla::Vec<W2, T2>&) [with int H = 1; int W = 1; int W2 = 3; T1 = double; T2 = double; decltype (ngstd::RemoveConst((mat(0, 0) * vec(0)))) = double]’:
/home/nepomuk/ngsxfem/cutint/straightcutrule.cpp:571:39: required from ‘void xintegration::TransformQuadUntrafoToIRInterface(const ngfem::IntegrationRule&, const ngfem::ElementTransformation&, const xintegration::LevelsetWrapper&, ngfem::IntegrationRule*, bool, double) [with unsigned int D = 1]’
/home/nepomuk/ngsxfem/cutint/straightcutrule.cpp:641:121: required from here
/usr/include/netgen/matrix.hpp:2247:21: error: static assertion failed: Mat * Vec dimension mismatch!
2247 | static_assert(W == W2, "Mat * Vec dimension mismatch!");
| ~~^~~~~
/usr/include/netgen/matrix.hpp: In instantiation of ‘ngbla::Vec<H, decltype (ngstd::RemoveConst((mat(0, 0) * vec(0))))> ngbla::operator*(const ngbla::Mat<H, W, T1>&, const ngbla::Vec<W2, T2>&) [with int H = 2; int W = 2; int W2 = 3; T1 = double; T2 = double; decltype (ngstd::RemoveConst((mat(0, 0) * vec(0)))) = double]’:
/home/nepomuk/ngsxfem/cutint/straightcutrule.cpp:571:39: required from ‘void xintegration::TransformQuadUntrafoToIRInterface(const ngfem::IntegrationRule&, const ngfem::ElementTransformation&, const xintegration::LevelsetWrapper&, ngfem::IntegrationRule*, bool, double) [with unsigned int D = 2]’
/home/nepomuk/ngsxfem/cutint/straightcutrule.cpp:642:126: required from here
/usr/include/netgen/matrix.hpp:2247:21: error: static assertion failed: Mat * Vec dimension mismatch!
Is this also because of incompatible NGSolve and XFEM versions?
Thanks!
Nepomuk