794 auto nb_rows = row_data.getIndices().size();
795 auto nb_cols = col_data.getIndices().size();
798 locMat.resize(nb_rows, nb_cols,
false);
801 if (nb_cols && nb_rows) {
803 const size_t nb_gauss_pts = getGaussPts().size2();
805 auto t_w = getFTensor0IntegrationWeight();
806 auto t_disp = getFTensor1FromMat<3>(
commonDataPtr->contactDisp);
807 auto t_traction = getFTensor1FromMat<3>(
commonDataPtr->contactTraction);
808 auto t_coords = getFTensor1CoordsAtGaussPts();
809 auto t_material_normal = getFTensor1NormalsAtGaussPts();
821 auto face_data_vec_ptr =
823 auto face_gauss_pts_it = face_data_vec_ptr->begin();
825 auto t_row_base = row_data.getFTensor1N<3>();
826 auto nb_face_functions = row_data.getN().size2() / 3;
827 for (
size_t gg = 0; gg != nb_gauss_pts; ++gg) {
829 const auto alpha = t_w / 2.;
832 for (; rr != nb_rows / 3; ++rr) {
834 auto row_base = alpha * (t_row_base(
i) * t_material_normal(
i));
836 auto t_mat = getFTensor2FromArray<3, 3, 3>(locMat, 3 * rr);
837 auto t_col_base = col_data.getFTensor0N(gg, 0);
839 for (
size_t cc = 0; cc != nb_cols / 3; ++cc) {
840 const auto beta = row_base * t_col_base;
848 for (; rr < nb_face_functions; ++rr)