no need to copy C matrix
make evaluateBasis take const references to make this possible
This commit is contained in:
parent
3e84d8a661
commit
e1f6f6d1af
@ -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");
|
PROFILE2("BeSpline evaluation");
|
||||||
Matrix N = C*B;
|
Matrix N = C*B;
|
||||||
@ -985,7 +986,7 @@ bool ASMu3D::integrate (Integrand& integrand,
|
|||||||
FiniteElement fe(nBasis);
|
FiniteElement fe(nBasis);
|
||||||
fe.iel = iEl+1;
|
fe.iel = iEl+1;
|
||||||
|
|
||||||
Matrix C = bezierExtract[iEl];
|
const Matrix& C = bezierExtract[iEl];
|
||||||
Matrix dNdu, Xnod, Jac;
|
Matrix dNdu, Xnod, Jac;
|
||||||
Matrix3D d2Ndu2, Hess;
|
Matrix3D d2Ndu2, Hess;
|
||||||
double dXidu[3];
|
double dXidu[3];
|
||||||
|
@ -424,7 +424,8 @@ protected:
|
|||||||
virtual void evaluateBasis(FiniteElement &el, int derivs) const;
|
virtual void evaluateBasis(FiniteElement &el, int derivs) const;
|
||||||
|
|
||||||
//! \brief Evaluate all basis functions and first derivatives on one element
|
//! \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
|
//! \brief Evaluate all basis functions and first derivatives on one element
|
||||||
virtual void evaluateBasis(FiniteElement &el, Matrix &dNdu) const;
|
virtual void evaluateBasis(FiniteElement &el, Matrix &dNdu) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user