From e53c37ea4ce13f6409a03eb10b007c12cc739594 Mon Sep 17 00:00:00 2001 From: wolf Date: Tue, 30 Sep 2003 22:31:35 +0000 Subject: [PATCH] Fix some problems with offset indices. git-svn-id: https://svn.dealii.org/trunk@8076 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/fe/fe_dgp.cc | 16 ++++++++++++---- deal.II/deal.II/source/fe/fe_dgq.cc | 16 ++++++++++++---- deal.II/deal.II/source/fe/fe_q.cc | 16 ++++++++++++---- deal.II/deal.II/source/fe/fe_q_hierarchical.cc | 16 ++++++++++++---- deal.II/deal.II/source/fe/fe_raviart_thomas.cc | 16 ++++++++++++---- 5 files changed, 60 insertions(+), 20 deletions(-) diff --git a/deal.II/deal.II/source/fe/fe_dgp.cc b/deal.II/deal.II/source/fe/fe_dgp.cc index f020d38e9d..0c772f1544 100644 --- a/deal.II/deal.II/source/fe/fe_dgp.cc +++ b/deal.II/deal.II/source/fe/fe_dgp.cc @@ -18,6 +18,7 @@ #include #include #include +#include #include #ifdef HAVE_STD_STRINGSTREAM @@ -350,7 +351,9 @@ FE_DGP::fill_fe_values (const Mapping &mapping, } if (flags & update_second_derivatives) - this->compute_2nd (mapping, cell, 0, mapping_data, fe_data, data); + this->compute_2nd (mapping, cell, + internal::DataSetDescriptor::cell().offset(), + mapping_data, fe_data, data); } @@ -374,7 +377,10 @@ FE_DGP::fill_fe_face_values (const Mapping &mapping, // offset determines which data set // to take (all data sets for all // faces are stored contiguously) - const unsigned int offset = face * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + face (cell, face, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); @@ -422,8 +428,10 @@ FE_DGP::fill_fe_subface_values (const Mapping &mappi // offset determines which data set // to take (all data sets for all // sub-faces are stored contiguously) - const unsigned int offset = (face * GeometryInfo::subfaces_per_face + subface) - * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + sub_face (cell, face, subface, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); diff --git a/deal.II/deal.II/source/fe/fe_dgq.cc b/deal.II/deal.II/source/fe/fe_dgq.cc index 3c409c9e51..3accfb98c4 100644 --- a/deal.II/deal.II/source/fe/fe_dgq.cc +++ b/deal.II/deal.II/source/fe/fe_dgq.cc @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -764,7 +765,9 @@ FE_DGQ::fill_fe_values (const Mapping &mapping, } if (flags & update_second_derivatives) - this->compute_2nd (mapping, cell, 0, mapping_data, fe_data, data); + this->compute_2nd (mapping, cell, + internal::DataSetDescriptor::cell().offset(), + mapping_data, fe_data, data); } @@ -788,7 +791,10 @@ FE_DGQ::fill_fe_face_values (const Mapping &mapping, // offset determines which data set // to take (all data sets for all // faces are stored contiguously) - const unsigned int offset = face * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + face (cell, face, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); @@ -836,8 +842,10 @@ FE_DGQ::fill_fe_subface_values (const Mapping &mappi // offset determines which data set // to take (all data sets for all // sub-faces are stored contiguously) - const unsigned int offset = (face * GeometryInfo::subfaces_per_face + subface) - * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + sub_face (cell, face, subface, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); diff --git a/deal.II/deal.II/source/fe/fe_q.cc b/deal.II/deal.II/source/fe/fe_q.cc index 30090b963a..572b02e9a4 100644 --- a/deal.II/deal.II/source/fe/fe_q.cc +++ b/deal.II/deal.II/source/fe/fe_q.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -1687,7 +1688,9 @@ FE_Q::fill_fe_values (const Mapping &mapping, } if (flags & update_second_derivatives) - this->compute_2nd (mapping, cell, 0, mapping_data, fe_data, data); + this->compute_2nd (mapping, cell, + internal::DataSetDescriptor::cell().offset(), + mapping_data, fe_data, data); } @@ -1711,7 +1714,10 @@ FE_Q::fill_fe_face_values (const Mapping &mapping, // offset determines which data set // to take (all data sets for all // faces are stored contiguously) - const unsigned int offset = face * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + face (cell, face, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); @@ -1759,8 +1765,10 @@ FE_Q::fill_fe_subface_values (const Mapping &mapping // offset determines which data set // to take (all data sets for all // sub-faces are stored contiguously) - const unsigned int offset = ((face * GeometryInfo::subfaces_per_face + subface) - * quadrature.n_quadrature_points); + const unsigned int offset + = (internal::DataSetDescriptor:: + sub_face (cell, face, subface, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); diff --git a/deal.II/deal.II/source/fe/fe_q_hierarchical.cc b/deal.II/deal.II/source/fe/fe_q_hierarchical.cc index 26417028a0..39cb5bd1e9 100644 --- a/deal.II/deal.II/source/fe/fe_q_hierarchical.cc +++ b/deal.II/deal.II/source/fe/fe_q_hierarchical.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -1059,7 +1060,9 @@ FE_Q_Hierarchical::fill_fe_values ( } if (flags & update_second_derivatives) - this->compute_2nd (mapping, cell, 0, mapping_data, fe_data, data); + this->compute_2nd (mapping, cell, + internal::DataSetDescriptor::cell().offset(), + mapping_data, fe_data, data); } @@ -1084,7 +1087,10 @@ FE_Q_Hierarchical::fill_fe_face_values ( // offset determines which data set // to take (all data sets for all // faces are stored contiguously) - const unsigned int offset = face * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + face (cell, face, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); @@ -1133,8 +1139,10 @@ FE_Q_Hierarchical::fill_fe_subface_values ( // offset determines which data set // to take (all data sets for all // sub-faces are stored contiguously) - const unsigned int offset = ((face * GeometryInfo::subfaces_per_face + subface) - * quadrature.n_quadrature_points); + const unsigned int offset + = (internal::DataSetDescriptor:: + sub_face (cell, face, subface, + quadrature.n_quadrature_points)).offset(); const UpdateFlags flags(fe_data.update_once | fe_data.update_each); diff --git a/deal.II/deal.II/source/fe/fe_raviart_thomas.cc b/deal.II/deal.II/source/fe/fe_raviart_thomas.cc index b46b93cc40..28d837df14 100644 --- a/deal.II/deal.II/source/fe/fe_raviart_thomas.cc +++ b/deal.II/deal.II/source/fe/fe_raviart_thomas.cc @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -1609,7 +1610,9 @@ FE_RaviartThomas::fill_fe_values (const Mapping &map } if (flags & update_second_derivatives) - this->compute_2nd (mapping, cell, 0, mapping_data, fe_data, data); + this->compute_2nd (mapping, cell, + internal::DataSetDescriptor::cell().offset(), + mapping_data, fe_data, data); } @@ -1633,7 +1636,10 @@ FE_RaviartThomas::fill_fe_face_values (const Mapping // offset determines which data set // to take (all data sets for all // faces are stored contiguously) - const unsigned int offset = face * quadrature.n_quadrature_points; + const unsigned int offset + = (internal::DataSetDescriptor:: + face (cell, face, + quadrature.n_quadrature_points)).offset(); // get the flags indicating the // fields that have to be filled @@ -1772,8 +1778,10 @@ FE_RaviartThomas::fill_fe_subface_values (const Mapping // offset determines which data set // to take (all data sets for all // faces are stored contiguously) - const unsigned int offset = ((face * GeometryInfo::subfaces_per_face + subface) - * quadrature.n_quadrature_points); + const unsigned int offset + = (internal::DataSetDescriptor:: + sub_face (cell, face, subface, + quadrature.n_quadrature_points)).offset(); // get the flags indicating the // fields that have to be filled -- 2.39.5