From e177b1ead4bf346d12dc5224031bdf2db1703784 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Tue, 8 Nov 2016 07:11:14 +0100 Subject: [PATCH] split instantiation of VectorTools::project() for quadrature points data --- source/numerics/CMakeLists.txt | 4 ++ source/numerics/vector_tools_project.inst.in | 33 ---------------- source/numerics/vector_tools_project_qp.cc | 24 ++++++++++++ .../numerics/vector_tools_project_qp.inst.in | 31 +++++++++++++++ source/numerics/vector_tools_project_qpmf.cc | 24 ++++++++++++ .../vector_tools_project_qpmf.inst.in | 39 +++++++++++++++++++ 6 files changed, 122 insertions(+), 33 deletions(-) create mode 100644 source/numerics/vector_tools_project_qp.cc create mode 100644 source/numerics/vector_tools_project_qp.inst.in create mode 100644 source/numerics/vector_tools_project_qpmf.cc create mode 100644 source/numerics/vector_tools_project_qpmf.inst.in diff --git a/source/numerics/CMakeLists.txt b/source/numerics/CMakeLists.txt index c8adfa339b..1f2e4bd12e 100644 --- a/source/numerics/CMakeLists.txt +++ b/source/numerics/CMakeLists.txt @@ -48,6 +48,8 @@ SET(_src vector_tools_point_value.cc vector_tools_point_gradient.cc vector_tools_project.cc + vector_tools_project_qp.cc + vector_tools_project_qpmf.cc vector_tools_rhs.cc ) @@ -76,6 +78,8 @@ SET(_inst vector_tools_point_value.inst.in vector_tools_point_gradient.inst.in vector_tools_project.inst.in + vector_tools_project_qp.inst.in + vector_tools_project_qpmf.inst.in vector_tools_rhs.inst.in ) diff --git a/source/numerics/vector_tools_project.inst.in b/source/numerics/vector_tools_project.inst.in index 1c2d2f4141..27e1397b54 100644 --- a/source/numerics/vector_tools_project.inst.in +++ b/source/numerics/vector_tools_project.inst.in @@ -67,36 +67,3 @@ for (VEC : SERIAL_VECTORS ; deal_II_dimension : DIMENSIONS; deal_II_space_dimens \} #endif } - -for (VEC: REAL_NONBLOCK_VECTORS; deal_II_dimension : DIMENSIONS) -{ - namespace VectorTools \{ - - template - void project( - const Mapping &, - const DoFHandler &, - const ConstraintMatrix &, - const Quadrature &, - const std_cxx11::function::active_cell_iterator &, const unsigned int)>, - VEC &); - - template - void project( - const MatrixFree &matrix_free, - const ConstraintMatrix &constraints, - const std_cxx11::function< VectorizedArray (const unsigned int, const unsigned int)>, - VEC &); - - template - void project( - const MatrixFree &matrix_free, - const ConstraintMatrix &constraints, - const unsigned int, - const std_cxx11::function< VectorizedArray (const unsigned int, const unsigned int)>, - VEC &); - - \} - -} - diff --git a/source/numerics/vector_tools_project_qp.cc b/source/numerics/vector_tools_project_qp.cc new file mode 100644 index 0000000000..eca8d80a59 --- /dev/null +++ b/source/numerics/vector_tools_project_qp.cc @@ -0,0 +1,24 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2016 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +#include + +DEAL_II_NAMESPACE_OPEN + +// ---------------------------- explicit instantiations -------------------- +#include "vector_tools_project_qp.inst" + +DEAL_II_NAMESPACE_CLOSE diff --git a/source/numerics/vector_tools_project_qp.inst.in b/source/numerics/vector_tools_project_qp.inst.in new file mode 100644 index 0000000000..4d76bdd37b --- /dev/null +++ b/source/numerics/vector_tools_project_qp.inst.in @@ -0,0 +1,31 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2016 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +for (VEC: REAL_NONBLOCK_VECTORS; deal_II_dimension : DIMENSIONS) +{ + namespace VectorTools \{ + + template + void project( + const Mapping &, + const DoFHandler &, + const ConstraintMatrix &, + const Quadrature &, + const std_cxx11::function::active_cell_iterator &, const unsigned int)>, + VEC &); + + \} + +} diff --git a/source/numerics/vector_tools_project_qpmf.cc b/source/numerics/vector_tools_project_qpmf.cc new file mode 100644 index 0000000000..5976c420ca --- /dev/null +++ b/source/numerics/vector_tools_project_qpmf.cc @@ -0,0 +1,24 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2016 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +#include + +DEAL_II_NAMESPACE_OPEN + +// ---------------------------- explicit instantiations -------------------- +#include "vector_tools_project_qpmf.inst" + +DEAL_II_NAMESPACE_CLOSE diff --git a/source/numerics/vector_tools_project_qpmf.inst.in b/source/numerics/vector_tools_project_qpmf.inst.in new file mode 100644 index 0000000000..2434af942c --- /dev/null +++ b/source/numerics/vector_tools_project_qpmf.inst.in @@ -0,0 +1,39 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2016 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + + +for (VEC: REAL_NONBLOCK_VECTORS; deal_II_dimension : DIMENSIONS) +{ + namespace VectorTools \{ + + template + void project( + const MatrixFree &matrix_free, + const ConstraintMatrix &constraints, + const std_cxx11::function< VectorizedArray (const unsigned int, const unsigned int)>, + VEC &); + + template + void project( + const MatrixFree &matrix_free, + const ConstraintMatrix &constraints, + const unsigned int, + const std_cxx11::function< VectorizedArray (const unsigned int, const unsigned int)>, + VEC &); + + \} + +} -- 2.39.5