diff --git a/src/ASM/LR/ASMu3D.C b/src/ASM/LR/ASMu3D.C index 69e44948..6624e765 100644 --- a/src/ASM/LR/ASMu3D.C +++ b/src/ASM/LR/ASMu3D.C @@ -835,7 +835,8 @@ void ASMu3D::evaluateBasis (FiniteElement &el, Matrix &dNdu) const } } -void ASMu3D::evaluateBasis (FiniteElement &el, Matrix &dNdu, Matrix &C, Matrix &B) const +void ASMu3D::evaluateBasis (FiniteElement &el, Matrix &dNdu, + const Matrix &C, const Matrix &B) const { PROFILE2("BeSpline evaluation"); Matrix N = C*B; @@ -985,7 +986,7 @@ bool ASMu3D::integrate (Integrand& integrand, FiniteElement fe(nBasis); fe.iel = iEl+1; - Matrix C = bezierExtract[iEl]; + const Matrix& C = bezierExtract[iEl]; Matrix dNdu, Xnod, Jac; Matrix3D d2Ndu2, Hess; double dXidu[3]; diff --git a/src/ASM/LR/ASMu3D.h b/src/ASM/LR/ASMu3D.h index 07bb7f14..530e04cb 100644 --- a/src/ASM/LR/ASMu3D.h +++ b/src/ASM/LR/ASMu3D.h @@ -424,7 +424,8 @@ protected: virtual void evaluateBasis(FiniteElement &el, int derivs) const; //! \brief Evaluate all basis functions and first derivatives on one element - virtual void evaluateBasis(FiniteElement &el, Matrix &dNdu, Matrix &C, Matrix &B) const ; + virtual void evaluateBasis(FiniteElement &el, Matrix &dNdu, + const Matrix &C, const Matrix &B) const; //! \brief Evaluate all basis functions and first derivatives on one element virtual void evaluateBasis(FiniteElement &el, Matrix &dNdu) const;