From 37d33f06486631119e782dd6c49543dcf7a16fa7 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Mon, 25 Apr 2022 09:51:05 +0200 Subject: [PATCH] fixed: set parameters when projecting function necessary when using a fieldfunction --- src/ASM/GlbL2projector.C | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/ASM/GlbL2projector.C b/src/ASM/GlbL2projector.C index 19a7a269..7dff256d 100644 --- a/src/ASM/GlbL2projector.C +++ b/src/ASM/GlbL2projector.C @@ -128,13 +128,10 @@ bool L2FuncIntegrand::evaluate (Matrix& sField, const RealArray* gpar) const Real2DMat u; m_patch.getParameterDomain(u); for (size_t i = 0; i < gpar[0].size(); ++i) { - Vec3 X; std::vector xi(3), param(3); - xi[0] = u[0][0] + gpar[0][i] / (u[0][1] - u[0][0]); - if (m_patch.getNoSpaceDim() > 1) - xi[1] = u[1][0] + gpar[1][i] / (u[1][1] - u[1][0]); - if (m_patch.getNoSpaceDim() > 2) - xi[2] = u[2][0] + gpar[2][i] / (u[2][1] - u[2][0]); + Vec4 X(xi.data()); + for (size_t j = 0; j < 3 && j < m_patch.getNoSpaceDim(); ++j) + xi[j] = u[j][0] + gpar[j][i] / (u[j][1] - u[j][0]); m_patch.evalPoint(xi.data(), param.data(), X); std::vector vals = m_func.getValue(X); for (size_t j = 1; j <= m_func.dim(); ++j)