From: Wolfgang Bangerth Date: Mon, 9 Apr 2001 09:42:32 +0000 (+0000) Subject: Dont assume that Neumann boundary functions have vector_value overloaded in the scala... X-Git-Tag: v8.0.0~19379 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b802d42b492c1b732291d65b25b6729f19080fa9;p=dealii.git Dont assume that Neumann boundary functions have vector_value overloaded in the scalar case. git-svn-id: https://svn.dealii.org/trunk@4403 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/numerics/error_estimator.cc b/deal.II/deal.II/source/numerics/error_estimator.cc index 13c1f0b3d9..29e9295241 100644 --- a/deal.II/deal.II/source/numerics/error_estimator.cc +++ b/deal.II/deal.II/source/numerics/error_estimator.cc @@ -322,9 +322,17 @@ void KellyErrorEstimator<1>::estimate (const Mapping<1> &mapp // if Neumann b.c., then fill // the gradients field which // will be used later on. - for (unsigned int s=0; ssecond->vector_value(cell->vertex(0), - grad_neighbor[s]); + { +//TODO: [WB] Only ask once, then copy + if (n_components==1) + for (unsigned int s=0; ssecond->value(cell->vertex(0), + grad_neighbor[s](0)); + else + for (unsigned int s=0; ssecond->vector_value(cell->vertex(0), + grad_neighbor[s]); + } else // fill with zeroes. for (unsigned int s=0; s > g(n_q_points, Vector(n_components)); - data.neumann_bc.find(boundary_indicator)->second - ->vector_value_list (fe_face_values_cell.get_quadrature_points(), - g); - - for (unsigned int n=0; n g(n_q_points); + data.neumann_bc.find(boundary_indicator)->second + ->value_list (fe_face_values_cell.get_quadrature_points(), g); + + for (unsigned int n=0; n > g(n_q_points, Vector(n_components)); + data.neumann_bc.find(boundary_indicator)->second + ->vector_value_list (fe_face_values_cell.get_quadrature_points(), + g); + + for (unsigned int n=0; n