<h3>Specific improvements</h3>
<ol>
+ <li> Improved: FE_DGQArbitraryNodes::get_name() now also detects if
+ the quadrature rule was Gauss points.
+ <br>
+ (Guido Kanschat, 2015/06/22)
+ </li>
+
<li> Improved: DoFRenumbering::Cuthill_McKee() can now also
use starting indices for parallel triangulations.
<br>
}
if (equidistant == true)
- namebuf << "FE_DGQ<" << dim << ">(" << this->degree << ")";
- else
{
+ namebuf << "FE_DGQ<" << dim << ">(" << this->degree << ")";
+ return namebuf.str();
+ }
- // Check whether the support points come from QGaussLobatto.
- const QGaussLobatto<1> points_gl(this->degree+1);
- bool gauss_lobatto = true;
- for (unsigned int j=0; j<=this->degree; j++)
- if (points[j] != points_gl.point(j)(0))
- {
- gauss_lobatto = false;
- break;
- }
- if (gauss_lobatto == true)
- namebuf << "FE_DGQArbitraryNodes<" << dim << ">(QGaussLobatto(" << this->degree+1 << "))";
- else
- namebuf << "FE_DGQArbitraryNodes<" << dim << ">(QUnknownNodes(" << this->degree << "))";
+ // Check whether the support points come from QGaussLobatto.
+ const QGaussLobatto<1> points_gl(this->degree+1);
+ bool gauss_lobatto = true;
+ for (unsigned int j=0; j<=this->degree; j++)
+ if (points[j] != points_gl.point(j)(0))
+ {
+ gauss_lobatto = false;
+ break;
+ }
+
+ if (gauss_lobatto == true)
+ {
+ namebuf << "FE_DGQArbitraryNodes<" << dim << ">(QGaussLobatto(" << this->degree+1 << "))";
+ return namebuf.str();
+ }
+
+ // Check whether the support points come from QGauss.
+ const QGauss<1> points_g(this->degree+1);
+ bool gauss = true;
+ for (unsigned int j=0; j<=this->degree; j++)
+ if (points[j] != points_g.point(j)(0))
+ {
+ gauss = false;
+ break;
+ }
+
+ if (gauss == true)
+ {
+ namebuf << "FE_DGQArbitraryNodes<" << dim << ">(QGauss(" << this->degree+1 << "))";
+ return namebuf.str();
}
+ // All guesses exhausted
+ namebuf << "FE_DGQArbitraryNodes<" << dim << ">(QUnknownNodes(" << this->degree+1 << "))";
return namebuf.str();
}
DEAL::FE_DGQ<1>(2)
DEAL::FE_DGQ<1>(4)
DEAL::FE_DGQArbitraryNodes<1>(QGaussLobatto(5))
-DEAL::FE_DGQArbitraryNodes<1>(QUnknownNodes(2))
+DEAL::FE_DGQArbitraryNodes<1>(QGauss(3))
DEAL::FE_DGP<1>(1)
DEAL::FE_DGP<1>(2)
DEAL::FESystem<1>[FE_Q<1>(2)^2]
DEAL::support on face 0: 0
DEAL::support on face 1: 4
DEAL::
-DEAL::fe_data[10]:FE_DGQArbitraryNodes<1>(QUnknownNodes(2))
+DEAL::fe_data[10]:FE_DGQArbitraryNodes<1>(QGauss(3))
DEAL::dofs_per_vertex=0
DEAL::dofs_per_line=3
DEAL::dofs_per_quad=0
DEAL::FE_DGQ<2>(2)
DEAL::FE_DGQ<2>(4)
DEAL::FE_DGQArbitraryNodes<2>(QGaussLobatto(5))
-DEAL::FE_DGQArbitraryNodes<2>(QUnknownNodes(2))
+DEAL::FE_DGQArbitraryNodes<2>(QGauss(3))
DEAL::FE_DGP<2>(1)
DEAL::FE_DGP<2>(2)
DEAL::FESystem<2>[FE_Q<2>(2)^2]
DEAL::support on face 2: 0 1 2 3 4
DEAL::support on face 3: 20 21 22 23 24
DEAL::
-DEAL::fe_data[10]:FE_DGQArbitraryNodes<2>(QUnknownNodes(2))
+DEAL::fe_data[10]:FE_DGQArbitraryNodes<2>(QGauss(3))
DEAL::dofs_per_vertex=0
DEAL::dofs_per_line=0
DEAL::dofs_per_quad=9
DEAL::FE_DGQ<3>(2)
DEAL::FE_DGQ<3>(4)
DEAL::FE_DGQArbitraryNodes<3>(QGaussLobatto(5))
-DEAL::FE_DGQArbitraryNodes<3>(QUnknownNodes(2))
+DEAL::FE_DGQArbitraryNodes<3>(QGauss(3))
DEAL::FE_DGP<3>(1)
DEAL::FE_DGP<3>(2)
DEAL::FESystem<3>[FE_Q<3>(2)^2]
DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
DEAL::support on face 5: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
DEAL::
-DEAL::fe_data[10]:FE_DGQArbitraryNodes<3>(QUnknownNodes(2))
+DEAL::fe_data[10]:FE_DGQArbitraryNodes<3>(QGauss(3))
DEAL::dofs_per_vertex=0
DEAL::dofs_per_line=0
DEAL::dofs_per_quad=0
DEAL::FE_Q<2>(1)
DEAL::FE_Q<2>(QGaussLobatto(4))
-DEAL::FE_DGQArbitraryNodes<2>(QUnknownNodes(4))
+DEAL::FE_DGQArbitraryNodes<2>(QGauss(5))
DEAL::FE_DGQArbitraryNodes<2>(QGaussLobatto(5))
-DEAL::FE_DGQArbitraryNodes<2>(QUnknownNodes(2))
+DEAL::FE_DGQArbitraryNodes<2>(QGauss(3))
DEAL::FE_Q<2,3>(1)
DEAL::FE_Q<2,3>(QGaussLobatto(4))
-DEAL::FE_DGQArbitraryNodes<2>(QUnknownNodes(4))
+DEAL::FE_DGQArbitraryNodes<2>(QGauss(5))
DEAL::FE_DGQArbitraryNodes<2>(QGaussLobatto(5))
-DEAL::FE_DGQArbitraryNodes<2>(QUnknownNodes(2))
+DEAL::FE_DGQArbitraryNodes<2>(QGauss(3))