From 4af1f50c4895b4b16118aed121ded623e4275be7 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Fri, 8 Jul 2016 15:23:49 +0200 Subject: [PATCH] Allow for all FE to be returned by get_fe_by_name --- source/fe/fe_tools.cc | 78 +++- tests/bits/get_fe_from_name.cc | 95 ---- tests/bits/get_fe_from_name.output | 121 ----- tests/fe/get_fe_from_name_01.cc | 174 ++++--- tests/fe/get_fe_from_name_01.output | 691 ++++++++++++++++++++++++++-- 5 files changed, 844 insertions(+), 315 deletions(-) delete mode 100644 tests/bits/get_fe_from_name.cc delete mode 100644 tests/bits/get_fe_from_name.output diff --git a/source/fe/fe_tools.cc b/source/fe/fe_tools.cc index 95cd4080c0..58e0bbc736 100644 --- a/source/fe/fe_tools.cc +++ b/source/fe/fe_tools.cc @@ -26,17 +26,23 @@ #include #include #include +#include +#include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -945,6 +951,46 @@ namespace FETools return new FE_Q<3>(quad); } + // Specializations for FE_Q_DG0. + template <> + FiniteElement<1, 1> * + FEFactory >::get (const Quadrature<1> &quad) const + { + return new FE_Q_DG0<1>(quad); + } + template <> + FiniteElement<2, 2> * + FEFactory >::get (const Quadrature<1> &quad) const + { + return new FE_Q_DG0<2>(quad); + } + template <> + FiniteElement<3, 3> * + FEFactory >::get (const Quadrature<1> &quad) const + { + return new FE_Q_DG0<3>(quad); + } + + // Specializations for FE_Q_Bubbles. + template <> + FiniteElement<1, 1> * + FEFactory >::get (const Quadrature<1> &quad) const + { + return new FE_Q_Bubbles<1>(quad); + } + template <> + FiniteElement<2, 2> * + FEFactory >::get (const Quadrature<1> &quad) const + { + return new FE_Q_Bubbles<2>(quad); + } + template <> + FiniteElement<3, 3> * + FEFactory >::get (const Quadrature<1> &quad) const + { + return new FE_Q_Bubbles<3>(quad); + } + // Specializations for FE_DGQArbitraryNodes. template <> @@ -1004,8 +1050,16 @@ namespace = FEFactoryPointer(new FETools::FEFactory >); result["FE_ABF"] = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Bernstein"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_BDM"] = FEFactoryPointer(new FETools::FEFactory >); + result["FE_DGBDM"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_DGNedelec"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_DGRaviartThomas"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_RaviartThomas"] = FEFactoryPointer(new FETools::FEFactory >); result["FE_RaviartThomasNodal"] @@ -1022,12 +1076,22 @@ namespace = FEFactoryPointer(new FETools::FEFactory >); result["FE_DGQArbitraryNodes"] = FEFactoryPointer(new FETools::FEFactory >); + result["FE_FaceQ"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_FaceP"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_Q"] = FEFactoryPointer(new FETools::FEFactory >); - result["FE_Bernstein"] - = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Q_DG0"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Q_Bubbles"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Q_iso_Q1"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_Nothing"] = FEFactoryPointer(new FETools::FEFactory >); + result["FE_RannacherTurek"] + = FEFactoryPointer(new FETools::FEFactory >); } // This function fills a map from names to finite elements for any @@ -1039,12 +1103,22 @@ namespace { typedef std_cxx11::shared_ptr FEFactoryPointer; + result["FE_Bernstein"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_DGP"] = FEFactoryPointer(new FETools::FEFactory >); result["FE_DGQ"] = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Nothing"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_DGQArbitraryNodes"] = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Q_Bubbles"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Q_DG0"] + = FEFactoryPointer(new FETools::FEFactory >); + result["FE_Q_iso_Q1"] + = FEFactoryPointer(new FETools::FEFactory >); result["FE_Q"] = FEFactoryPointer(new FETools::FEFactory >); result["FE_Bernstein"] diff --git a/tests/bits/get_fe_from_name.cc b/tests/bits/get_fe_from_name.cc deleted file mode 100644 index 4d11c9f5b9..0000000000 --- a/tests/bits/get_fe_from_name.cc +++ /dev/null @@ -1,95 +0,0 @@ -// --------------------------------------------------------------------- -// -// Copyright (C) 2005 - 2015 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 "../tests.h" -#include -#include -#include -#include - -class Test -{ -public: - - void generate(const char *myname) - { - std::string name = myname; - - fe1 = FETools::get_fe_from_name<1>(name); - fe2 = FETools::get_fe_from_name<2>(name); - fe3 = FETools::get_fe_from_name<3>(name); - - deallog << "Read " << name << std::endl; - deallog << "Generated :" << std::endl; - deallog << fe1->get_name() << std::endl; - deallog << fe2->get_name() << std::endl; - deallog << fe3->get_name() << std::endl; - - delete fe1; - delete fe2; - delete fe3; - } - - FiniteElement<1> *fe1; - FiniteElement<2> *fe2; - FiniteElement<3> *fe3; - -}; - -int main () -{ - std::ofstream logfile("output"); - deallog.attach(logfile); - - deallog.threshold_double(1.e-10); - - Test gen; - - gen.generate("FE_Q_Hierarchical(1)"); - gen.generate("FE_DGPNonparametric(1)"); - gen.generate("FE_DGQ(1)"); - gen.generate("FE_Q(1)"); - - gen.generate("FE_Q_Hierarchical(2)"); - gen.generate("FE_DGPNonparametric(2)"); - gen.generate("FE_DGQ(2)"); - gen.generate("FE_Q(2)"); - - gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)]"); - gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)]"); - gen.generate("FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)]"); - - gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)]"); - gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)]"); - gen.generate("FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)]"); - - gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)]"); - gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)]"); - gen.generate("FESystem[FE_DGQ(1)^2-FE_DGQ(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_DGQ(1)]"); - - - gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)]"); - gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)]"); - gen.generate("FESystem[FE_DGQ(1)^2-FE_Q(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_Q(1)]"); - - - return 0; -} - diff --git a/tests/bits/get_fe_from_name.output b/tests/bits/get_fe_from_name.output deleted file mode 100644 index 17ba8962cc..0000000000 --- a/tests/bits/get_fe_from_name.output +++ /dev/null @@ -1,121 +0,0 @@ - -DEAL::Read FE_Q_Hierarchical(1) -DEAL::Generated : -DEAL::FE_Q_Hierarchical<1>(1) -DEAL::FE_Q_Hierarchical<2>(1) -DEAL::FE_Q_Hierarchical<3>(1) -DEAL::Read FE_DGPNonparametric(1) -DEAL::Generated : -DEAL::FE_DGPNonparametric<1>(1) -DEAL::FE_DGPNonparametric<2>(1) -DEAL::FE_DGPNonparametric<3>(1) -DEAL::Read FE_DGQ(1) -DEAL::Generated : -DEAL::FE_DGQ<1>(1) -DEAL::FE_DGQ<2>(1) -DEAL::FE_DGQ<3>(1) -DEAL::Read FE_Q(1) -DEAL::Generated : -DEAL::FE_Q<1>(1) -DEAL::FE_Q<2>(1) -DEAL::FE_Q<3>(1) -DEAL::Read FE_Q_Hierarchical(2) -DEAL::Generated : -DEAL::FE_Q_Hierarchical<1>(2) -DEAL::FE_Q_Hierarchical<2>(2) -DEAL::FE_Q_Hierarchical<3>(2) -DEAL::Read FE_DGPNonparametric(2) -DEAL::Generated : -DEAL::FE_DGPNonparametric<1>(2) -DEAL::FE_DGPNonparametric<2>(2) -DEAL::FE_DGPNonparametric<3>(2) -DEAL::Read FE_DGQ(2) -DEAL::Generated : -DEAL::FE_DGQ<1>(2) -DEAL::FE_DGQ<2>(2) -DEAL::FE_DGQ<3>(2) -DEAL::Read FE_Q(2) -DEAL::Generated : -DEAL::FE_Q<1>(2) -DEAL::FE_Q<2>(2) -DEAL::FE_Q<3>(2) -DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_Q_Hierarchical<1>(1)] -DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_Q_Hierarchical<2>(1)] -DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_Q_Hierarchical<3>(1)] -DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_Q_Hierarchical<1>(1)] -DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_Q_Hierarchical<2>(1)] -DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_Q_Hierarchical<3>(1)] -DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_Q_Hierarchical<1>(1)] -DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_Q_Hierarchical<2>(1)] -DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_Q_Hierarchical<3>(1)] -DEAL::Read FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_Q_Hierarchical<1>(1)] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q_Hierarchical<2>(1)] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q_Hierarchical<3>(1)] -DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_DGPNonparametric<1>(1)] -DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_DGPNonparametric<2>(1)] -DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_DGPNonparametric<3>(1)] -DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_DGPNonparametric<1>(1)] -DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_DGPNonparametric<2>(1)] -DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_DGPNonparametric<3>(1)] -DEAL::Read FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_DGPNonparametric<1>(1)] -DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_DGPNonparametric<2>(1)] -DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_DGPNonparametric<3>(1)] -DEAL::Read FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_DGPNonparametric<1>(1)] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGPNonparametric<2>(1)] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGPNonparametric<3>(1)] -DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_DGQ<1>(1)] -DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_DGQ<2>(1)] -DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_DGQ<3>(1)] -DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_DGQ<1>(1)] -DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_DGQ<2>(1)] -DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_DGQ<3>(1)] -DEAL::Read FESystem[FE_DGQ(1)^2-FE_DGQ(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_DGQ<1>(1)] -DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_DGQ<2>(1)] -DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_DGQ<3>(1)] -DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_DGQ<1>(1)] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGQ<2>(1)] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGQ<3>(1)] -DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_Q<3>(1)] -DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_Q<3>(1)] -DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_Q<3>(1)] -DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] -DEAL::Generated : -DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(1)] diff --git a/tests/fe/get_fe_from_name_01.cc b/tests/fe/get_fe_from_name_01.cc index 27ef32ac62..3dcc341019 100644 --- a/tests/fe/get_fe_from_name_01.cc +++ b/tests/fe/get_fe_from_name_01.cc @@ -24,41 +24,38 @@ class Test { public: + void generate_all_dim(const char *myname) + { + generate<1,1>(myname); + generate<2,2>(myname); + generate<3,3>(myname); + } + + + template void generate(const char *myname) { std::string name = myname; - fe1 = FETools::get_fe_by_name<1,1>(name); - fe2 = FETools::get_fe_by_name<2,2>(name); - fe3 = FETools::get_fe_by_name<3,3>(name); - fe4 = FETools::get_fe_by_name<1,2>(name); - fe5 = FETools::get_fe_by_name<1,3>(name); - fe6 = FETools::get_fe_by_name<2,3>(name); + FiniteElement *fe = FETools::get_fe_by_name(name); deallog << "Read " << name << std::endl; deallog << "Generated :" << std::endl; - deallog << fe1->get_name() << std::endl; - deallog << fe2->get_name() << std::endl; - deallog << fe3->get_name() << std::endl; - deallog << fe4->get_name() << std::endl; - deallog << fe5->get_name() << std::endl; - deallog << fe6->get_name() << std::endl; - - delete fe1; - delete fe2; - delete fe3; - delete fe4; - delete fe5; - delete fe6; + deallog << fe->get_name() << std::endl; + + delete fe; } - FiniteElement<1,1> *fe1; - FiniteElement<2,2> *fe2; - FiniteElement<3,3> *fe3; - FiniteElement<1,2> *fe4; - FiniteElement<1,3> *fe5; - FiniteElement<2,3> *fe6; + void generate_all_codim(const char *myname) + { + generate<1,1> (myname); + generate<1,2> (myname); + generate<2,2> (myname); + generate<1,3> (myname); + generate<2,3> (myname); + generate<3,3> (myname); + } }; int main () @@ -69,44 +66,97 @@ int main () deallog.threshold_double(1.e-10); Test gen; - // Some of the finite element types are commented out, since their + // For some of the finite element types, their // implementation or instantiation for codimension != 0 is still - // missing. This was opened as issue #92. - - // gen.generate("FE_Q_Hierarchical(1)"); - // gen.generate("FE_DGPNonparametric(1)"); - gen.generate("FE_DGQ (1)"); - gen.generate("FE_Q(1)"); - gen.generate("FE_DGQArbitraryNodes(QGauss(2))"); - // gen.generate("FE_Q_Hierarchical(2)"); - // gen.generate("FE_DGPNonparametric(2)"); - gen.generate("FE_DGQ(2)"); - gen.generate("FE_Q(2)"); - gen.generate("FE_DGQArbitraryNodes(QGauss(3))"); - - // gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)]"); - // gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)]"); - // gen.generate("FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)]"); - // gen.generate("FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)]"); - - // gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)]"); - // gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)]"); - // gen.generate("FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)]"); - // gen.generate("FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)]"); - - // gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)]"); - // gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)]"); - gen.generate(" FESystem[FE_DGQ(1)^2 -FE_DGQ(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_DGQ(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))]"); - gen.generate("FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)]"); - - - // gen.generate("FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)]"); - // gen.generate("FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)]"); - gen.generate("FESystem[FE_DGQ(1)^2-FE_Q(1)]"); - gen.generate("FESystem[FE_Q(1)^2-FE_Q(1)]"); - + // missing. In these case we just test for spacedim==dim + + //generate_all_dim + gen.generate_all_dim("FE_Q_Hierarchical(1)"); +// gen.generate<2,2>("FE_ABF(1)"); +// gen.generate<3,3>("FE_ABF(1)"); + gen.generate<2,2>("FE_BDM(1)"); + gen.generate<3,3>("FE_BDM(1)"); + gen.generate<2,2>("FE_DGBDM(1)"); + gen.generate<3,3>("FE_DGBDM(1)"); + gen.generate<2,2>("FE_DGNedelec(1)"); + gen.generate<3,3>("FE_DGNedelec(1)"); + gen.generate<2,2>("FE_DGRaviartThomas(1)"); + gen.generate<3,3>("FE_DGRaviartThomas(1)"); + gen.generate<2,2>("FE_RaviartThomas(1)"); + gen.generate<3,3>("FE_RaviartThomas(1)"); + gen.generate<2,2>("FE_RaviartThomasNodal(1)"); + gen.generate<3,3>("FE_RaviartThomasNodal(1)"); + gen.generate<2,2>("FE_Nedelec(1)"); + gen.generate<3,3>("FE_Nedelec(1)"); + gen.generate_all_dim("FE_DGPNonparametric(1)"); + gen.generate_all_dim("FE_DGPMonomial(1)"); + gen.generate_all_dim("FE_FaceQ(1)"); + gen.generate_all_dim("FE_FaceP(1)"); + gen.generate<2,2>("FE_RannacherTurek(0)"); + gen.generate_all_dim("FE_Q_Hierarchical(2)"); +// gen.generate<2,2>("FE_ABF(2)"); +// gen.generate<3,3>("FE_ABF(2)"); + gen.generate<2,2>("FE_BDM(2)"); + gen.generate<3,3>("FE_BDM(2)"); + gen.generate<2,2>("FE_DGBDM(2)"); + gen.generate<3,3>("FE_DGBDM(2)"); + gen.generate<2,2>("FE_DGNedelec(2)"); + gen.generate<3,3>("FE_DGNedelec(2)"); + gen.generate<2,2>("FE_DGRaviartThomas(2)"); + gen.generate<3,3>("FE_DGRaviartThomas(2)"); + gen.generate<2,2>("FE_RaviartThomas(2)"); + gen.generate<3,3>("FE_RaviartThomas(2)"); + gen.generate<2,2>("FE_RaviartThomasNodal(2)"); + gen.generate<3,3>("FE_RaviartThomasNodal(2)"); + gen.generate<2,2>("FE_Nedelec(2)"); + gen.generate<3,3>("FE_Nedelec(2)"); + gen.generate_all_dim("FE_DGPNonparametric(2)"); + gen.generate_all_dim("FE_DGPMonomial(2)"); + gen.generate_all_dim("FE_FaceQ(2)"); + gen.generate_all_dim("FE_FaceP(2)"); + + //generate_all_codim + gen.generate_all_codim("FE_Bernstein(1)"); + gen.generate_all_codim("FE_DGP(1)"); + gen.generate_all_codim("FE_DGQ(1)"); + gen.generate_all_codim("FE_Nothing()"); + gen.generate_all_codim("FE_DGQArbitraryNodes(QGauss(2))"); + gen.generate_all_codim("FE_Q_Bubbles(1)"); + gen.generate_all_codim("FE_Q_DG0(1)"); + gen.generate_all_codim("FE_Q_iso_Q1(1)"); + gen.generate_all_codim("FE_Q(1)"); + gen.generate_all_codim("FE_Bernstein(2)"); + gen.generate_all_codim("FE_DGP(2)"); + gen.generate_all_codim("FE_DGQ(2)"); + gen.generate_all_codim("FE_DGQArbitraryNodes(QGauss(3))"); + gen.generate_all_codim("FE_Q_Bubbles(2)"); + gen.generate_all_codim("FE_Q_DG0(2)"); + gen.generate_all_codim("FE_Q_iso_Q1(2)"); + gen.generate_all_codim("FE_Q(2)"); + gen.generate_all_codim("FE_Bernstein(2)"); + + //systems + gen.generate_all_dim("FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)]"); + gen.generate_all_dim("FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)]"); + gen.generate_all_dim("FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)]"); + gen.generate_all_dim("FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)]"); + + gen.generate_all_dim("FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)]"); + gen.generate_all_dim("FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)]"); + gen.generate_all_dim("FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)]"); + gen.generate_all_dim("FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)]"); + + gen.generate_all_dim("FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)]"); + gen.generate_all_dim("FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)]"); + gen.generate_all_codim(" FESystem[FE_DGQ(1)^2 -FE_DGQ(1)]"); + gen.generate_all_codim("FESystem[FE_Q(1)^2-FE_DGQ(1)]"); + gen.generate_all_codim("FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))]"); + gen.generate_all_codim("FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)]"); + + gen.generate_all_dim("FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)]"); + gen.generate_all_dim("FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)]"); + gen.generate_all_codim("FESystem[FE_DGQ(1)^2-FE_Q(1)]"); + gen.generate_all_codim("FESystem[FE_Q(1)^2-FE_Q(1)]"); return 0; } diff --git a/tests/fe/get_fe_from_name_01.output b/tests/fe/get_fe_from_name_01.output index 8369f3bd00..ac275c0e2a 100644 --- a/tests/fe/get_fe_from_name_01.output +++ b/tests/fe/get_fe_from_name_01.output @@ -1,97 +1,718 @@ -DEAL::Read FE_DGQ (1) +DEAL::Read FE_Q_Hierarchical(1) +DEAL::Generated : +DEAL::FE_Q_Hierarchical<1>(1) +DEAL::Read FE_Q_Hierarchical(1) +DEAL::Generated : +DEAL::FE_Q_Hierarchical<2>(1) +DEAL::Read FE_Q_Hierarchical(1) +DEAL::Generated : +DEAL::FE_Q_Hierarchical<3>(1) +DEAL::Read FE_BDM(1) +DEAL::Generated : +DEAL::FE_BDM<2>(1) +DEAL::Read FE_BDM(1) +DEAL::Generated : +DEAL::FE_BDM<3>(1) +DEAL::Read FE_DGBDM(1) +DEAL::Generated : +DEAL::FE_DGBDM<2>(1) +DEAL::Read FE_DGBDM(1) +DEAL::Generated : +DEAL::FE_DGBDM<3>(1) +DEAL::Read FE_DGNedelec(1) +DEAL::Generated : +DEAL::FE_DGNedelec<2>(1) +DEAL::Read FE_DGNedelec(1) +DEAL::Generated : +DEAL::FE_DGNedelec<3>(1) +DEAL::Read FE_DGRaviartThomas(1) +DEAL::Generated : +DEAL::FE_DGRaviartThomas<2>(1) +DEAL::Read FE_DGRaviartThomas(1) +DEAL::Generated : +DEAL::FE_DGRaviartThomas<3>(1) +DEAL::Read FE_RaviartThomas(1) +DEAL::Generated : +DEAL::FE_RaviartThomas<2>(1) +DEAL::Read FE_RaviartThomas(1) +DEAL::Generated : +DEAL::FE_RaviartThomas<3>(1) +DEAL::Read FE_RaviartThomasNodal(1) +DEAL::Generated : +DEAL::FE_RaviartThomasNodal<2>(1) +DEAL::Read FE_RaviartThomasNodal(1) +DEAL::Generated : +DEAL::FE_RaviartThomasNodal<3>(1) +DEAL::Read FE_Nedelec(1) +DEAL::Generated : +DEAL::FE_Nedelec<2>(1) +DEAL::Read FE_Nedelec(1) +DEAL::Generated : +DEAL::FE_Nedelec<3>(1) +DEAL::Read FE_DGPNonparametric(1) +DEAL::Generated : +DEAL::FE_DGPNonparametric<1>(1) +DEAL::Read FE_DGPNonparametric(1) +DEAL::Generated : +DEAL::FE_DGPNonparametric<2>(1) +DEAL::Read FE_DGPNonparametric(1) +DEAL::Generated : +DEAL::FE_DGPNonparametric<3>(1) +DEAL::Read FE_DGPMonomial(1) +DEAL::Generated : +DEAL::FE_DGPMonomial<1>(1) +DEAL::Read FE_DGPMonomial(1) +DEAL::Generated : +DEAL::FE_DGPMonomial<2>(1) +DEAL::Read FE_DGPMonomial(1) +DEAL::Generated : +DEAL::FE_DGPMonomial<3>(1) +DEAL::Read FE_FaceQ(1) +DEAL::Generated : +DEAL::FE_FaceQ<1>(1) +DEAL::Read FE_FaceQ(1) +DEAL::Generated : +DEAL::FE_FaceQ<2>(1) +DEAL::Read FE_FaceQ(1) +DEAL::Generated : +DEAL::FE_FaceQ<3>(1) +DEAL::Read FE_FaceP(1) +DEAL::Generated : +DEAL::FE_FaceP<1>(1) +DEAL::Read FE_FaceP(1) +DEAL::Generated : +DEAL::FE_FaceP<2>(1) +DEAL::Read FE_FaceP(1) +DEAL::Generated : +DEAL::FE_FaceP<3>(1) +DEAL::Read FE_RannacherTurek(0) +DEAL::Generated : +DEAL::FE_RannacherTurek<2>(0, 2) +DEAL::Read FE_Q_Hierarchical(2) +DEAL::Generated : +DEAL::FE_Q_Hierarchical<1>(2) +DEAL::Read FE_Q_Hierarchical(2) +DEAL::Generated : +DEAL::FE_Q_Hierarchical<2>(2) +DEAL::Read FE_Q_Hierarchical(2) +DEAL::Generated : +DEAL::FE_Q_Hierarchical<3>(2) +DEAL::Read FE_BDM(2) +DEAL::Generated : +DEAL::FE_BDM<2>(2) +DEAL::Read FE_BDM(2) +DEAL::Generated : +DEAL::FE_BDM<3>(2) +DEAL::Read FE_DGBDM(2) +DEAL::Generated : +DEAL::FE_DGBDM<2>(2) +DEAL::Read FE_DGBDM(2) +DEAL::Generated : +DEAL::FE_DGBDM<3>(2) +DEAL::Read FE_DGNedelec(2) +DEAL::Generated : +DEAL::FE_DGNedelec<2>(2) +DEAL::Read FE_DGNedelec(2) +DEAL::Generated : +DEAL::FE_DGNedelec<3>(2) +DEAL::Read FE_DGRaviartThomas(2) +DEAL::Generated : +DEAL::FE_DGRaviartThomas<2>(2) +DEAL::Read FE_DGRaviartThomas(2) +DEAL::Generated : +DEAL::FE_DGRaviartThomas<3>(2) +DEAL::Read FE_RaviartThomas(2) +DEAL::Generated : +DEAL::FE_RaviartThomas<2>(2) +DEAL::Read FE_RaviartThomas(2) +DEAL::Generated : +DEAL::FE_RaviartThomas<3>(2) +DEAL::Read FE_RaviartThomasNodal(2) +DEAL::Generated : +DEAL::FE_RaviartThomasNodal<2>(2) +DEAL::Read FE_RaviartThomasNodal(2) +DEAL::Generated : +DEAL::FE_RaviartThomasNodal<3>(2) +DEAL::Read FE_Nedelec(2) +DEAL::Generated : +DEAL::FE_Nedelec<2>(2) +DEAL::Read FE_Nedelec(2) +DEAL::Generated : +DEAL::FE_Nedelec<3>(2) +DEAL::Read FE_DGPNonparametric(2) +DEAL::Generated : +DEAL::FE_DGPNonparametric<1>(2) +DEAL::Read FE_DGPNonparametric(2) +DEAL::Generated : +DEAL::FE_DGPNonparametric<2>(2) +DEAL::Read FE_DGPNonparametric(2) +DEAL::Generated : +DEAL::FE_DGPNonparametric<3>(2) +DEAL::Read FE_DGPMonomial(2) +DEAL::Generated : +DEAL::FE_DGPMonomial<1>(2) +DEAL::Read FE_DGPMonomial(2) +DEAL::Generated : +DEAL::FE_DGPMonomial<2>(2) +DEAL::Read FE_DGPMonomial(2) +DEAL::Generated : +DEAL::FE_DGPMonomial<3>(2) +DEAL::Read FE_FaceQ(2) +DEAL::Generated : +DEAL::FE_FaceQ<1>(2) +DEAL::Read FE_FaceQ(2) +DEAL::Generated : +DEAL::FE_FaceQ<2>(2) +DEAL::Read FE_FaceQ(2) +DEAL::Generated : +DEAL::FE_FaceQ<3>(2) +DEAL::Read FE_FaceP(2) +DEAL::Generated : +DEAL::FE_FaceP<1>(2) +DEAL::Read FE_FaceP(2) +DEAL::Generated : +DEAL::FE_FaceP<2>(2) +DEAL::Read FE_FaceP(2) +DEAL::Generated : +DEAL::FE_FaceP<3>(2) +DEAL::Read FE_Bernstein(1) +DEAL::Generated : +DEAL::FE_Bernstein<1>(1) +DEAL::Read FE_Bernstein(1) +DEAL::Generated : +DEAL::FE_Bernstein<1>(1) +DEAL::Read FE_Bernstein(1) +DEAL::Generated : +DEAL::FE_Bernstein<2>(1) +DEAL::Read FE_Bernstein(1) +DEAL::Generated : +DEAL::FE_Bernstein<1>(1) +DEAL::Read FE_Bernstein(1) +DEAL::Generated : +DEAL::FE_Bernstein<2>(1) +DEAL::Read FE_Bernstein(1) +DEAL::Generated : +DEAL::FE_Bernstein<3>(1) +DEAL::Read FE_DGP(1) +DEAL::Generated : +DEAL::FE_DGP<1>(1) +DEAL::Read FE_DGP(1) +DEAL::Generated : +DEAL::FE_DGP<1,2>(1) +DEAL::Read FE_DGP(1) +DEAL::Generated : +DEAL::FE_DGP<2>(1) +DEAL::Read FE_DGP(1) +DEAL::Generated : +DEAL::FE_DGP<1,3>(1) +DEAL::Read FE_DGP(1) +DEAL::Generated : +DEAL::FE_DGP<2,3>(1) +DEAL::Read FE_DGP(1) +DEAL::Generated : +DEAL::FE_DGP<3>(1) +DEAL::Read FE_DGQ(1) DEAL::Generated : DEAL::FE_DGQ<1>(1) -DEAL::FE_DGQ<2>(1) -DEAL::FE_DGQ<3>(1) +DEAL::Read FE_DGQ(1) +DEAL::Generated : DEAL::FE_DGQ<1,2>(1) +DEAL::Read FE_DGQ(1) +DEAL::Generated : +DEAL::FE_DGQ<2>(1) +DEAL::Read FE_DGQ(1) +DEAL::Generated : DEAL::FE_DGQ<1,3>(1) +DEAL::Read FE_DGQ(1) +DEAL::Generated : DEAL::FE_DGQ<2,3>(1) -DEAL::Read FE_Q(1) +DEAL::Read FE_DGQ(1) DEAL::Generated : -DEAL::FE_Q<1>(1) -DEAL::FE_Q<2>(1) -DEAL::FE_Q<3>(1) -DEAL::FE_Q<1,2>(1) -DEAL::FE_Q<1,3>(1) -DEAL::FE_Q<2,3>(1) +DEAL::FE_DGQ<3>(1) +DEAL::Read FE_Nothing() +DEAL::Generated : +DEAL::FE_Nothing<1>() +DEAL::Read FE_Nothing() +DEAL::Generated : +DEAL::FE_Nothing<1>() +DEAL::Read FE_Nothing() +DEAL::Generated : +DEAL::FE_Nothing<2>() +DEAL::Read FE_Nothing() +DEAL::Generated : +DEAL::FE_Nothing<1>() +DEAL::Read FE_Nothing() +DEAL::Generated : +DEAL::FE_Nothing<2>() +DEAL::Read FE_Nothing() +DEAL::Generated : +DEAL::FE_Nothing<3>() DEAL::Read FE_DGQArbitraryNodes(QGauss(2)) DEAL::Generated : DEAL::FE_DGQArbitraryNodes<1>(QGauss(2)) -DEAL::FE_DGQArbitraryNodes<2>(QGauss(2)) -DEAL::FE_DGQArbitraryNodes<3>(QGauss(2)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(2)) +DEAL::Generated : DEAL::FE_DGQArbitraryNodes<1,2>(QGauss(2)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(2)) +DEAL::Generated : +DEAL::FE_DGQArbitraryNodes<2>(QGauss(2)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(2)) +DEAL::Generated : DEAL::FE_DGQArbitraryNodes<1,3>(QGauss(2)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(2)) +DEAL::Generated : DEAL::FE_DGQArbitraryNodes<2,3>(QGauss(2)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(2)) +DEAL::Generated : +DEAL::FE_DGQArbitraryNodes<3>(QGauss(2)) +DEAL::Read FE_Q_Bubbles(1) +DEAL::Generated : +DEAL::FE_Q_Bubbles<1>(QUnknownNodes(2)) +DEAL::Read FE_Q_Bubbles(1) +DEAL::Generated : +DEAL::FE_Q_Bubbles<1>(QUnknownNodes(2)) +DEAL::Read FE_Q_Bubbles(1) +DEAL::Generated : +DEAL::FE_Q_Bubbles<2>(1) +DEAL::Read FE_Q_Bubbles(1) +DEAL::Generated : +DEAL::FE_Q_Bubbles<1>(QUnknownNodes(2)) +DEAL::Read FE_Q_Bubbles(1) +DEAL::Generated : +DEAL::FE_Q_Bubbles<2,3>(1) +DEAL::Read FE_Q_Bubbles(1) +DEAL::Generated : +DEAL::FE_Q_Bubbles<3>(1) +DEAL::Read FE_Q_DG0(1) +DEAL::Generated : +DEAL::FE_Q_DG0<1>(QUnknownNodes(1)) +DEAL::Read FE_Q_DG0(1) +DEAL::Generated : +DEAL::FE_Q_DG0<1,2>(QUnknownNodes(1)) +DEAL::Read FE_Q_DG0(1) +DEAL::Generated : +DEAL::FE_Q_DG0<2>(1) +DEAL::Read FE_Q_DG0(1) +DEAL::Generated : +DEAL::FE_Q_DG0<1,3>(QUnknownNodes(1)) +DEAL::Read FE_Q_DG0(1) +DEAL::Generated : +DEAL::FE_Q_DG0<2,3>(1) +DEAL::Read FE_Q_DG0(1) +DEAL::Generated : +DEAL::FE_Q_DG0<3>(1) +DEAL::Read FE_Q_iso_Q1(1) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<1>(1) +DEAL::Read FE_Q_iso_Q1(1) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<1,2>(1) +DEAL::Read FE_Q_iso_Q1(1) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<2>(1) +DEAL::Read FE_Q_iso_Q1(1) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<1,3>(1) +DEAL::Read FE_Q_iso_Q1(1) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<2,3>(1) +DEAL::Read FE_Q_iso_Q1(1) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<3>(1) +DEAL::Read FE_Q(1) +DEAL::Generated : +DEAL::FE_Q<1>(1) +DEAL::Read FE_Q(1) +DEAL::Generated : +DEAL::FE_Q<1,2>(1) +DEAL::Read FE_Q(1) +DEAL::Generated : +DEAL::FE_Q<2>(1) +DEAL::Read FE_Q(1) +DEAL::Generated : +DEAL::FE_Q<1,3>(1) +DEAL::Read FE_Q(1) +DEAL::Generated : +DEAL::FE_Q<2,3>(1) +DEAL::Read FE_Q(1) +DEAL::Generated : +DEAL::FE_Q<3>(1) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<1>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<1>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<2>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<1>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<2>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<3>(2) +DEAL::Read FE_DGP(2) +DEAL::Generated : +DEAL::FE_DGP<1>(2) +DEAL::Read FE_DGP(2) +DEAL::Generated : +DEAL::FE_DGP<1,2>(2) +DEAL::Read FE_DGP(2) +DEAL::Generated : +DEAL::FE_DGP<2>(2) +DEAL::Read FE_DGP(2) +DEAL::Generated : +DEAL::FE_DGP<1,3>(2) +DEAL::Read FE_DGP(2) +DEAL::Generated : +DEAL::FE_DGP<2,3>(2) +DEAL::Read FE_DGP(2) +DEAL::Generated : +DEAL::FE_DGP<3>(2) DEAL::Read FE_DGQ(2) DEAL::Generated : DEAL::FE_DGQ<1>(2) -DEAL::FE_DGQ<2>(2) -DEAL::FE_DGQ<3>(2) +DEAL::Read FE_DGQ(2) +DEAL::Generated : DEAL::FE_DGQ<1,2>(2) +DEAL::Read FE_DGQ(2) +DEAL::Generated : +DEAL::FE_DGQ<2>(2) +DEAL::Read FE_DGQ(2) +DEAL::Generated : DEAL::FE_DGQ<1,3>(2) +DEAL::Read FE_DGQ(2) +DEAL::Generated : DEAL::FE_DGQ<2,3>(2) -DEAL::Read FE_Q(2) +DEAL::Read FE_DGQ(2) DEAL::Generated : -DEAL::FE_Q<1>(2) -DEAL::FE_Q<2>(2) -DEAL::FE_Q<3>(2) -DEAL::FE_Q<1,2>(2) -DEAL::FE_Q<1,3>(2) -DEAL::FE_Q<2,3>(2) +DEAL::FE_DGQ<3>(2) DEAL::Read FE_DGQArbitraryNodes(QGauss(3)) DEAL::Generated : DEAL::FE_DGQArbitraryNodes<1>(QGauss(3)) -DEAL::FE_DGQArbitraryNodes<2>(QGauss(3)) -DEAL::FE_DGQArbitraryNodes<3>(QGauss(3)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(3)) +DEAL::Generated : DEAL::FE_DGQArbitraryNodes<1,2>(QGauss(3)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(3)) +DEAL::Generated : +DEAL::FE_DGQArbitraryNodes<2>(QGauss(3)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(3)) +DEAL::Generated : DEAL::FE_DGQArbitraryNodes<1,3>(QGauss(3)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(3)) +DEAL::Generated : DEAL::FE_DGQArbitraryNodes<2,3>(QGauss(3)) +DEAL::Read FE_DGQArbitraryNodes(QGauss(3)) +DEAL::Generated : +DEAL::FE_DGQArbitraryNodes<3>(QGauss(3)) +DEAL::Read FE_Q_Bubbles(2) +DEAL::Generated : +DEAL::FE_Q_Bubbles<1>(QUnknownNodes(3)) +DEAL::Read FE_Q_Bubbles(2) +DEAL::Generated : +DEAL::FE_Q_Bubbles<1>(QUnknownNodes(3)) +DEAL::Read FE_Q_Bubbles(2) +DEAL::Generated : +DEAL::FE_Q_Bubbles<2>(2) +DEAL::Read FE_Q_Bubbles(2) +DEAL::Generated : +DEAL::FE_Q_Bubbles<1>(QUnknownNodes(3)) +DEAL::Read FE_Q_Bubbles(2) +DEAL::Generated : +DEAL::FE_Q_Bubbles<2,3>(2) +DEAL::Read FE_Q_Bubbles(2) +DEAL::Generated : +DEAL::FE_Q_Bubbles<3>(2) +DEAL::Read FE_Q_DG0(2) +DEAL::Generated : +DEAL::FE_Q_DG0<1>(QUnknownNodes(2)) +DEAL::Read FE_Q_DG0(2) +DEAL::Generated : +DEAL::FE_Q_DG0<1,2>(QUnknownNodes(2)) +DEAL::Read FE_Q_DG0(2) +DEAL::Generated : +DEAL::FE_Q_DG0<2>(2) +DEAL::Read FE_Q_DG0(2) +DEAL::Generated : +DEAL::FE_Q_DG0<1,3>(QUnknownNodes(2)) +DEAL::Read FE_Q_DG0(2) +DEAL::Generated : +DEAL::FE_Q_DG0<2,3>(2) +DEAL::Read FE_Q_DG0(2) +DEAL::Generated : +DEAL::FE_Q_DG0<3>(2) +DEAL::Read FE_Q_iso_Q1(2) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<1>(2) +DEAL::Read FE_Q_iso_Q1(2) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<1,2>(2) +DEAL::Read FE_Q_iso_Q1(2) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<2>(2) +DEAL::Read FE_Q_iso_Q1(2) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<1,3>(2) +DEAL::Read FE_Q_iso_Q1(2) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<2,3>(2) +DEAL::Read FE_Q_iso_Q1(2) +DEAL::Generated : +DEAL::FE_Q_iso_Q1<3>(2) +DEAL::Read FE_Q(2) +DEAL::Generated : +DEAL::FE_Q<1>(2) +DEAL::Read FE_Q(2) +DEAL::Generated : +DEAL::FE_Q<1,2>(2) +DEAL::Read FE_Q(2) +DEAL::Generated : +DEAL::FE_Q<2>(2) +DEAL::Read FE_Q(2) +DEAL::Generated : +DEAL::FE_Q<1,3>(2) +DEAL::Read FE_Q(2) +DEAL::Generated : +DEAL::FE_Q<2,3>(2) +DEAL::Read FE_Q(2) +DEAL::Generated : +DEAL::FE_Q<3>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<1>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<1>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<2>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<1>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<2>(2) +DEAL::Read FE_Bernstein(2) +DEAL::Generated : +DEAL::FE_Bernstein<3>(2) +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_Q_Hierarchical<1>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_Q_Hierarchical<2>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_Q_Hierarchical<3>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_Q_Hierarchical<1>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_Q_Hierarchical<2>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_Q_Hierarchical<3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_Q_Hierarchical<1>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_Q_Hierarchical<2>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_Q_Hierarchical<3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_Q_Hierarchical<1>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q_Hierarchical<2>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q_Hierarchical(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q_Hierarchical<3>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_DGPNonparametric<1>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_DGPNonparametric<2>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_DGPNonparametric<3>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_DGPNonparametric<1>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_DGPNonparametric<2>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_DGPNonparametric<3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_DGPNonparametric<1>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_DGPNonparametric<2>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_DGPNonparametric<3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_DGPNonparametric<1>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGPNonparametric<2>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGPNonparametric(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGPNonparametric<3>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_DGQ<1>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_DGQ<2>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_DGQ<3>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_DGQ<1>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_DGQ<2>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_DGQ<3>(1)] DEAL::Read FESystem[FE_DGQ(1)^2 -FE_DGQ(1)] DEAL::Generated : DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_DGQ<1>(1)] -DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_DGQ<2>(1)] -DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_DGQ<3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2 -FE_DGQ(1)] +DEAL::Generated : DEAL::FESystem<1,2>[FE_DGQ<1,2>(1)^2-FE_DGQ<1,2>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2 -FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_DGQ<2>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2 -FE_DGQ(1)] +DEAL::Generated : DEAL::FESystem<1,3>[FE_DGQ<1,3>(1)^2-FE_DGQ<1,3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2 -FE_DGQ(1)] +DEAL::Generated : DEAL::FESystem<2,3>[FE_DGQ<2,3>(1)^2-FE_DGQ<2,3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2 -FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_DGQ<3>(1)] DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] DEAL::Generated : DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_DGQ<1>(1)] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGQ<2>(1)] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGQ<3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] +DEAL::Generated : DEAL::FESystem<1,2>[FE_Q<1,2>(1)^2-FE_DGQ<1,2>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGQ<2>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] +DEAL::Generated : DEAL::FESystem<1,3>[FE_Q<1,3>(1)^2-FE_DGQ<1,3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] +DEAL::Generated : DEAL::FESystem<2,3>[FE_Q<2,3>(1)^2-FE_DGQ<2,3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQ(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGQ<3>(1)] DEAL::Read FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))] DEAL::Generated : DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_DGQArbitraryNodes<1>(QGauss(2))] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGQArbitraryNodes<2>(QGauss(2))] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGQArbitraryNodes<3>(QGauss(2))] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))] +DEAL::Generated : DEAL::FESystem<1,2>[FE_Q<1,2>(1)^2-FE_DGQArbitraryNodes<1,2>(QGauss(2))] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_DGQArbitraryNodes<2>(QGauss(2))] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))] +DEAL::Generated : DEAL::FESystem<1,3>[FE_Q<1,3>(1)^2-FE_DGQArbitraryNodes<1,3>(QGauss(2))] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))] +DEAL::Generated : DEAL::FESystem<2,3>[FE_Q<2,3>(1)^2-FE_DGQArbitraryNodes<2,3>(QGauss(2))] +DEAL::Read FESystem[FE_Q(1)^2-FE_DGQArbitraryNodes(QGauss(2))] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_DGQArbitraryNodes<3>(QGauss(2))] DEAL::Read FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)] DEAL::Generated : DEAL::FESystem<1>[FE_DGQArbitraryNodes<1>(QGauss(2))^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_DGQArbitraryNodes<2>(QGauss(2))^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_DGQArbitraryNodes<3>(QGauss(2))^2-FE_Q<3>(1)] +DEAL::Read FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<1,2>[FE_DGQArbitraryNodes<1,2>(QGauss(2))^2-FE_Q<1,2>(1)] +DEAL::Read FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGQArbitraryNodes<2>(QGauss(2))^2-FE_Q<2>(1)] +DEAL::Read FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<1,3>[FE_DGQArbitraryNodes<1,3>(QGauss(2))^2-FE_Q<1,3>(1)] +DEAL::Read FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<2,3>[FE_DGQArbitraryNodes<2,3>(QGauss(2))^2-FE_Q<2,3>(1)] +DEAL::Read FESystem[FE_DGQArbitraryNodes(QGauss(2))^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGQArbitraryNodes<3>(QGauss(2))^2-FE_Q<3>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_Q_Hierarchical<1>(1)^2-FE_Q<1>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q_Hierarchical<2>(1)^2-FE_Q<2>(1)] +DEAL::Read FESystem[FE_Q_Hierarchical(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q_Hierarchical<3>(1)^2-FE_Q<3>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<1>[FE_DGPNonparametric<1>(1)^2-FE_Q<1>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGPNonparametric<2>(1)^2-FE_Q<2>(1)] +DEAL::Read FESystem[FE_DGPNonparametric(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGPNonparametric<3>(1)^2-FE_Q<3>(1)] DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] DEAL::Generated : DEAL::FESystem<1>[FE_DGQ<1>(1)^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_Q<3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<1,2>[FE_DGQ<1,2>(1)^2-FE_Q<1,2>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_DGQ<2>(1)^2-FE_Q<2>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<1,3>[FE_DGQ<1,3>(1)^2-FE_Q<1,3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<2,3>[FE_DGQ<2,3>(1)^2-FE_Q<2,3>(1)] +DEAL::Read FESystem[FE_DGQ(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_DGQ<3>(1)^2-FE_Q<3>(1)] DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] DEAL::Generated : DEAL::FESystem<1>[FE_Q<1>(1)^2-FE_Q<1>(1)] -DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(1)] -DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<1,2>[FE_Q<1,2>(1)^2-FE_Q<1,2>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<1,3>[FE_Q<1,3>(1)^2-FE_Q<1,3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] +DEAL::Generated : DEAL::FESystem<2,3>[FE_Q<2,3>(1)^2-FE_Q<2,3>(1)] +DEAL::Read FESystem[FE_Q(1)^2-FE_Q(1)] +DEAL::Generated : +DEAL::FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(1)] -- 2.39.5