Float LinearTetrahedronIntegrator::integrate_grad_C(size_t elem_idx, size_t local_func_i, size_t local_func_j, const MatrixF& C) { const Vector4F coord(1.0/4.0, 1.0/4.0, 1.0/4.0, 1.0/4.0); const VectorF grad_i = m_shape_func->evaluate_grad( elem_idx, local_func_i, coord); const VectorF grad_j = m_shape_func->evaluate_grad( elem_idx, local_func_j, coord); const Float vol = m_mesh->getElementVolume(elem_idx); return grad_i.dot(C * grad_j) * vol; }