From 03cd34107f20f76dda7bcc7eef53db4366866857 Mon Sep 17 00:00:00 2001 From: guido Date: Tue, 11 Sep 2001 14:04:38 +0000 Subject: [PATCH] TODOs fixed git-svn-id: https://svn.dealii.org/trunk@4962 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/fe/fe_dgq.h | 14 +++++++- deal.II/deal.II/include/fe/fe_values.h | 2 -- deal.II/deal.II/include/numerics/matrices.h | 14 -------- deal.II/deal.II/source/fe/fe_dgq.cc | 5 ++- deal.II/deal.II/source/fe/fe_values.cc | 11 ------ .../deal.II/source/fe/mapping_cartesian.cc | 5 --- deal.II/deal.II/source/fe/mapping_q1.cc | 1 - deal.II/deal.II/source/numerics/matrices.cc | 36 ------------------- 8 files changed, 15 insertions(+), 73 deletions(-) diff --git a/deal.II/deal.II/include/fe/fe_dgq.h b/deal.II/deal.II/include/fe/fe_dgq.h index d58e24890d..7f22635c3f 100644 --- a/deal.II/deal.II/include/fe/fe_dgq.h +++ b/deal.II/deal.II/include/fe/fe_dgq.h @@ -238,6 +238,14 @@ class FE_DGQ : public FiniteElement * Compute renumbering for rotation * of degrees of freedom. * + * Rotates a tensor product + * numbering of degrees of + * freedom by 90 degrees. It is + * used to compute the transfer + * matrices of the children by + * using only the matrix for the + * first child. + * * The direction parameter * determines the type of * rotation. It is one character @@ -247,9 +255,13 @@ class FE_DGQ : public FiniteElement * direction. Lower case is * counter-clockwise seen in * direction of the axis. + * + * Since rotation around the + * y-axis is not used, it is not + * implemented either. */ void rotate_indices (std::vector &indices, - const char direction = 'y') const; + const char direction) const; /** * Degree of the polynomials. diff --git a/deal.II/deal.II/include/fe/fe_values.h b/deal.II/deal.II/include/fe/fe_values.h index 56102a5eb0..8f48a330b7 100644 --- a/deal.II/deal.II/include/fe/fe_values.h +++ b/deal.II/deal.II/include/fe/fe_values.h @@ -247,7 +247,6 @@ class FEValuesBase : protected FEValuesData //TODO:[GK] What is the meaning of the n_values_array? It is not used in the implementation FEValuesBase (const unsigned int n_q_points, const unsigned int dofs_per_cell, - const unsigned int n_values_array, const UpdateFlags update_flags, const Mapping &mapping, const FiniteElement &fe); @@ -752,7 +751,6 @@ class FEFaceValuesBase : public FEValuesBase */ FEFaceValuesBase (const unsigned int n_q_points, const unsigned int dofs_per_cell, - const unsigned int n_faces_or_subfaces, const UpdateFlags update_flags, const Mapping &mapping, const FiniteElement &fe, diff --git a/deal.II/deal.II/include/numerics/matrices.h b/deal.II/deal.II/include/numerics/matrices.h index 91435db479..a1c942b18a 100644 --- a/deal.II/deal.II/include/numerics/matrices.h +++ b/deal.II/deal.II/include/numerics/matrices.h @@ -343,20 +343,6 @@ class MatrixCreator SparseMatrix &matrix, const Function * const a = 0); - /** - * Generate Laplace matrix for a - * given level. - * - * See the general doc of this - * class for more information. - */ - template - static void create_level_laplace_matrix (unsigned int level, - const MGDoFHandler& dof, - const Quadrature& q, - SparseMatrix& matrix, - const Function* a = 0); - /** * Assemble the Laplace matrix * and a right hand side diff --git a/deal.II/deal.II/source/fe/fe_dgq.cc b/deal.II/deal.II/source/fe/fe_dgq.cc index 6bcbee6405..6574b23e89 100644 --- a/deal.II/deal.II/source/fe/fe_dgq.cc +++ b/deal.II/deal.II/source/fe/fe_dgq.cc @@ -351,7 +351,7 @@ FE_DGQ::rotate_indices (std::vector &numbers, // Rotate yz-plane // clockwise case 'X': - Assert (dim>2, + Assert (dim>2, typename FiniteElementData::ExcSpaceDimensionMismatch (dim,3)); for (unsigned int iz=0;iz::rotate_indices (std::vector &numbers, } break; default: -//TODO:[GK] direction='y' is default, but is not implemented?! - Assert (false, ExcNotImplemented ()); + Assert (false, ExcNotImplemented ()); } } } diff --git a/deal.II/deal.II/source/fe/fe_values.cc b/deal.II/deal.II/source/fe/fe_values.cc index 2a199b945a..bb9be8f047 100644 --- a/deal.II/deal.II/source/fe/fe_values.cc +++ b/deal.II/deal.II/source/fe/fe_values.cc @@ -77,7 +77,6 @@ FEValuesData::initialize (const unsigned int n_quadrature_points, template FEValuesBase::FEValuesBase (const unsigned int n_q_points, const unsigned int dofs_per_cell, - const unsigned int, const UpdateFlags flags, const Mapping &mapping, const FiniteElement &fe) @@ -490,7 +489,6 @@ FEValues::FEValues (const Mapping &mapping, : FEValuesBase (q.n_quadrature_points, fe.dofs_per_cell, - 1, update_default, mapping, fe), @@ -508,7 +506,6 @@ FEValues::FEValues (const FiniteElement &fe, : FEValuesBase (q.n_quadrature_points, fe.dofs_per_cell, - 1, update_default, get_default_mapping(), fe), @@ -590,7 +587,6 @@ FEValues::memory_consumption () const template FEFaceValuesBase::FEFaceValuesBase (const unsigned int n_q_points, const unsigned int dofs_per_cell, - const unsigned int n_faces_or_subfaces, const UpdateFlags, const Mapping &mapping, const FiniteElement &fe, @@ -598,7 +594,6 @@ FEFaceValuesBase::FEFaceValuesBase (const unsigned int n_q_points, : FEValuesBase (n_q_points, dofs_per_cell, - n_faces_or_subfaces, update_default, mapping, fe), @@ -650,7 +645,6 @@ FEFaceValues::FEFaceValues (const Mapping &mapping, : FEFaceValuesBase (quadrature.n_quadrature_points, fe.dofs_per_cell, - GeometryInfo::faces_per_cell, update_flags, mapping, fe, quadrature) @@ -667,7 +661,6 @@ FEFaceValues::FEFaceValues (const FiniteElement &fe, : FEFaceValuesBase (quadrature.n_quadrature_points, fe.dofs_per_cell, - GeometryInfo::faces_per_cell, update_flags, get_default_mapping(), fe, quadrature) @@ -742,8 +735,6 @@ FESubfaceValues::FESubfaceValues (const Mapping &mapping, : FEFaceValuesBase (quadrature.n_quadrature_points, fe.dofs_per_cell, - GeometryInfo::faces_per_cell * - GeometryInfo::subfaces_per_face, update_flags, mapping, fe, quadrature) @@ -760,8 +751,6 @@ FESubfaceValues::FESubfaceValues (const FiniteElement &fe, : FEFaceValuesBase (quadrature.n_quadrature_points, fe.dofs_per_cell, - GeometryInfo::faces_per_cell * - GeometryInfo::subfaces_per_face, update_flags, get_default_mapping(), fe, quadrature) diff --git a/deal.II/deal.II/source/fe/mapping_cartesian.cc b/deal.II/deal.II/source/fe/mapping_cartesian.cc index 45de9489d5..ba4c63635c 100644 --- a/deal.II/deal.II/source/fe/mapping_cartesian.cc +++ b/deal.II/deal.II/source/fe/mapping_cartesian.cc @@ -299,7 +299,6 @@ MappingCartesian::fill_fe_values (const typename DoFHandler::cell_iter // equal and are the product of the // local lengths in each coordinate // direction -//TODO:[GK] does it make sense to query the update flags in data if we did not set any in the get_*_data functions? if (data.current_update_flags() & update_JxW_values) { double J = data.length[0]; @@ -343,14 +342,12 @@ MappingCartesian::fill_fe_face_values (const typename DoFHandler::cell if (d != (normal_directions[face_no]/2)) J *= data.length[d]; -//TODO:[GK] does it make sense to query the update flags in data if we did not set any in the get_*_data functions? if (data.current_update_flags() & update_JxW_values) { for (unsigned int i=0; i::fill_fe_subface_values (const typename DoFHandler::c if (d != (normal_directions[face_no]/2)) J *= data.length[d]; -//TODO:[GK] does it make sense to query the update flags in data if we did not set any in the get_*_data functions? if (data.current_update_flags() & update_JxW_values) { for (unsigned int i=0; i::subfaces_per_face; } -//TODO:[GK] does it make sense to query the update flags in data if we did not set any in the get_*_data functions? if (data.current_update_flags() & update_boundary_forms) { for (unsigned int i=0; i::fill_fe_values (const typename DoFHandler::cell_iterator &c // Multiply quadrature weights // by Jacobian determinants -//TODO:[?] compute Jacobi determinants directly, if co/contravariant is not needed if (update_flags & update_JxW_values) { Assert (JxW_values.size() == npts, diff --git a/deal.II/deal.II/source/numerics/matrices.cc b/deal.II/deal.II/source/numerics/matrices.cc index 245d16507b..adf4e2b593 100644 --- a/deal.II/deal.II/source/numerics/matrices.cc +++ b/deal.II/deal.II/source/numerics/matrices.cc @@ -974,42 +974,6 @@ void MatrixCreator::create_laplace_matrix (const DoFHandler &dof, } -//TODO:[GK,RH] maybe recreate this function -/* - - template - void MatrixCreator::create_level_laplace_matrix (unsigned int level, - const MGDoFHandler &dof, - const Quadrature &q, - SparseMatrix &matrix, - const Function * const a) - { - Vector dummy; // no entries, should give an error if accessed - UpdateFlags update_flags = UpdateFlags(update_gradients | - update_JxW_values); - if (a != 0) - update_flags = UpdateFlags(update_flags | update_q_points); - const Assembler::AssemblerData data (dof, - true, false, // assemble matrix but not rhs - matrix, dummy, - q, update_flags); - TriaIterator > - assembler (const_cast*>(&dof.get_tria()), - dof.get_tria().begin(level)->level(), - dof.get_tria().begin(level)->index(), - &data); - LaplaceMatrix equation (0, a); - do - { - assembler->assemble (equation); - ++assembler - } - while ( (assembler.state()==valid) && (assembler->level() == level) ); - }; - -*/ - - template void MatrixCreator::create_laplace_matrix (const Mapping &mapping, -- 2.39.5