From: Denis Davydov <davydden@gmail.com> Date: Tue, 8 Nov 2016 06:11:14 +0000 (+0100) Subject: split instantiation of VectorTools::project() for quadrature points data X-Git-Tag: v8.5.0-rc1~425^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3505%2Fhead;p=dealii.git split instantiation of VectorTools::project() for quadrature points data --- 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<deal_II_dimension,VEC,deal_II_dimension>( - const Mapping<deal_II_dimension, deal_II_dimension> &, - const DoFHandler<deal_II_dimension,deal_II_dimension> &, - const ConstraintMatrix &, - const Quadrature<deal_II_dimension> &, - const std_cxx11::function<VEC::value_type (const DoFHandler<deal_II_dimension, deal_II_dimension>::active_cell_iterator &, const unsigned int)>, - VEC &); - - template - void project<deal_II_dimension, VEC>( - const MatrixFree<deal_II_dimension,VEC::value_type> &matrix_free, - const ConstraintMatrix &constraints, - const std_cxx11::function< VectorizedArray<VEC::value_type> (const unsigned int, const unsigned int)>, - VEC &); - - template - void project<deal_II_dimension, VEC>( - const MatrixFree<deal_II_dimension,VEC::value_type> &matrix_free, - const ConstraintMatrix &constraints, - const unsigned int, - const std_cxx11::function< VectorizedArray<VEC::value_type> (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/numerics/vector_tools.templates.h> + +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<deal_II_dimension,VEC,deal_II_dimension>( + const Mapping<deal_II_dimension, deal_II_dimension> &, + const DoFHandler<deal_II_dimension,deal_II_dimension> &, + const ConstraintMatrix &, + const Quadrature<deal_II_dimension> &, + const std_cxx11::function<VEC::value_type (const DoFHandler<deal_II_dimension, deal_II_dimension>::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/numerics/vector_tools.templates.h> + +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<deal_II_dimension, VEC>( + const MatrixFree<deal_II_dimension,VEC::value_type> &matrix_free, + const ConstraintMatrix &constraints, + const std_cxx11::function< VectorizedArray<VEC::value_type> (const unsigned int, const unsigned int)>, + VEC &); + + template + void project<deal_II_dimension, VEC>( + const MatrixFree<deal_II_dimension,VEC::value_type> &matrix_free, + const ConstraintMatrix &constraints, + const unsigned int, + const std_cxx11::function< VectorizedArray<VEC::value_type> (const unsigned int, const unsigned int)>, + VEC &); + + \} + +}