From: Guido Kanschat Date: Sat, 17 Sep 2005 09:19:19 +0000 (+0000) Subject: interpolation tested for FE_Q, FE_DGQ, FESystem X-Git-Tag: v8.0.0~13130 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7d92ecf163fae22676a91d9ca60fe85f827bb72;p=dealii.git interpolation tested for FE_Q, FE_DGQ, FESystem git-svn-id: https://svn.dealii.org/trunk@11473 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/fe/fe.h b/deal.II/deal.II/include/fe/fe.h index 7501ada21a..817f1f9178 100644 --- a/deal.II/deal.II/include/fe/fe.h +++ b/deal.II/deal.II/include/fe/fe.h @@ -1128,12 +1128,6 @@ class FiniteElement : public Subscriptor, * just the values in the suport * points. All other elements * must reimplement it. - * - * @warning This function will - * only be available in future - * versions. Right now, is - * implemented for a few elements - * and not tested. */ virtual void interpolate(std::vector& local_dofs, const std::vector& values) const; @@ -1151,12 +1145,6 @@ class FiniteElement : public Subscriptor, * interpolated. Maybe consider * changing your data structures * to use the next function. - * - * @warning This function will - * only be available in future - * versions. Right now, is - * implemented for a few elements - * and not tested. */ virtual void interpolate(std::vector& local_dofs, const std::vector >& values, @@ -1166,12 +1154,6 @@ class FiniteElement : public Subscriptor, * Interpolate a set of vector * values, computed in the * generalized support points. - * - * @warning This function will - * only be available in future - * versions. Right now, is - * implemented for a few elements - * and not tested. */ virtual void interpolate( std::vector& local_dofs, diff --git a/deal.II/deal.II/source/fe/fe.cc b/deal.II/deal.II/source/fe/fe.cc index 81eaf2ff58..e67accdf77 100644 --- a/deal.II/deal.II/source/fe/fe.cc +++ b/deal.II/deal.II/source/fe/fe.cc @@ -574,10 +574,8 @@ FiniteElement::interpolate( ExcDimensionMismatch(local_dofs.size(),this->dofs_per_cell)); Assert (this->n_components() == 1, ExcDimensionMismatch(this->n_components(), 1)); - - Assert(false, ExcNotImplemented()); -// std::fill(values.begin(), values.end(), local_dofs.begin()); + std::copy(values.begin(), values.end(), local_dofs.begin()); } @@ -602,7 +600,7 @@ FiniteElement::interpolate( { const std::pair index = this->system_to_component_index(i); - local_dofs[i] = values[index.second](offset+index.first); + local_dofs[i] = values[i](offset+index.first); } } @@ -627,7 +625,7 @@ FiniteElement::interpolate( { const std::pair index = this->system_to_component_index(i); - local_dofs[i] = values[index.first][index.second]; + local_dofs[i] = values[index.first][i]; } }