From: angela.klewinghaus Date: Wed, 6 Mar 2013 10:30:42 +0000 (+0000) Subject: Corrected fill_fe_face_values so that it works for 3D and for 2D X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6ce8bd429a019cccc3c8a2bdc898c3ea00af677;p=dealii-svn.git Corrected fill_fe_face_values so that it works for 3D and for 2D -de, and those below, will be ignored-- M deal.II/include/deal.II/fe/fe_poly_face.templates.h git-svn-id: https://svn.dealii.org/branches/branch_face_elements@28747 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/include/deal.II/fe/fe_poly_face.templates.h b/deal.II/include/deal.II/fe/fe_poly_face.templates.h index 8b5a28a792..39720be20b 100644 --- a/deal.II/include/deal.II/fe/fe_poly_face.templates.h +++ b/deal.II/include/deal.II/fe/fe_poly_face.templates.h @@ -221,9 +221,6 @@ FE_PolyFace::fill_fe_face_values ( for (unsigned int k=0; kdofs_per_quad; ++k) data.shape_values(foffset+k,i) = fe_data.shape_values[k+this->first_face_quad_index][i]; } - } - case 2: - { // Fill data for line shape functions if (this->dofs_per_line != 0) { @@ -234,16 +231,28 @@ FE_PolyFace::fill_fe_face_values ( data.shape_values(foffset+GeometryInfo::face_to_cell_lines(face, line)+k,i) = fe_data.shape_values[k+(line*this->dofs_per_line)+this->first_face_line_index][i]; } } + break; + } + case 2: + { + // Fill data for line shape functions + if (this->dofs_per_line != 0) + { + const unsigned int foffset = this->first_line_index + this->dofs_per_line * face; + for (unsigned int k=0; kdofs_per_line; ++k) + data.shape_values(foffset+k,i) = fe_data.shape_values[k+this->first_face_line_index][i]; + } + break; } case 1: { - // Fill data for vertex shape functions - if (this->dofs_per_vertex != 0) - for (unsigned int lvertex=0; lvertex::vertices_per_face; ++lvertex) - data.shape_values(GeometryInfo::face_to_cell_vertices(face, lvertex),i) = fe_data.shape_values[lvertex][i]; break; } - } + } + // Fill data for vertex shape functions + if (this->dofs_per_vertex != 0) + for (unsigned int lvertex=0; lvertex::vertices_per_face; ++lvertex) + data.shape_values(GeometryInfo::face_to_cell_vertices(face, lvertex),i) = fe_data.shape_values[lvertex][i]; } }