Reverting VectorFiniteElement constructor and overriding defaults in new classes only

This commit is contained in:
Stowell, Mark L
2022-03-03 19:06:06 -08:00
parent 90a8e7bbf5
commit 8c775bcb25
5 changed files with 82 additions and 57 deletions
+15 -15
View File
@@ -1717,7 +1717,7 @@ void CrouzeixRaviartQuadFiniteElement::CalcDShape(const IntegrationPoint &ip,
RT0TriangleFiniteElement::RT0TriangleFiniteElement()
: VectorFiniteElement(2, 2, 0, Geometry::TRIANGLE, 3, 1, H_DIV)
: VectorFiniteElement(2, Geometry::TRIANGLE, 3, 1, H_DIV)
{
Nodes.IntPoint(0).x = 0.5;
Nodes.IntPoint(0).y = 0.0;
@@ -1824,7 +1824,7 @@ void RT0TriangleFiniteElement::Project (
}
RT0QuadFiniteElement::RT0QuadFiniteElement()
: VectorFiniteElement(2, 2, 0, Geometry::SQUARE, 4, 1, H_DIV,
: VectorFiniteElement(2, Geometry::SQUARE, 4, 1, H_DIV,
FunctionSpace::Qk)
{
Nodes.IntPoint(0).x = 0.5;
@@ -1937,7 +1937,7 @@ void RT0QuadFiniteElement::Project (
}
RT1TriangleFiniteElement::RT1TriangleFiniteElement()
: VectorFiniteElement(2, 2, 0, Geometry::TRIANGLE, 8, 2, H_DIV)
: VectorFiniteElement(2, Geometry::TRIANGLE, 8, 2, H_DIV)
{
Nodes.IntPoint(0).x = 0.33333333333333333333;
Nodes.IntPoint(0).y = 0.0;
@@ -2076,7 +2076,7 @@ void RT1TriangleFiniteElement::Project (
}
RT1QuadFiniteElement::RT1QuadFiniteElement()
: VectorFiniteElement(2, 2, 0, Geometry::SQUARE, 12, 2, H_DIV,
: VectorFiniteElement(2, Geometry::SQUARE, 12, 2, H_DIV,
FunctionSpace::Qk)
{
// y = 0
@@ -2314,7 +2314,7 @@ const double RT2TriangleFiniteElement::M[15][15] =
};
RT2TriangleFiniteElement::RT2TriangleFiniteElement()
: VectorFiniteElement(2, 2, 0, Geometry::TRIANGLE, 15, 3, H_DIV)
: VectorFiniteElement(2, Geometry::TRIANGLE, 15, 3, H_DIV)
{
const double p = 0.11270166537925831148;
@@ -2400,7 +2400,7 @@ const double RT2QuadFiniteElement::pt[4] = {0.,1./3.,2./3.,1.};
const double RT2QuadFiniteElement::dpt[3] = {0.25,0.5,0.75};
RT2QuadFiniteElement::RT2QuadFiniteElement()
: VectorFiniteElement(2, 2, 0, Geometry::SQUARE, 24, 3, H_DIV,
: VectorFiniteElement(2, Geometry::SQUARE, 24, 3, H_DIV,
FunctionSpace::Qk)
{
// y = 0 (pt[0])
@@ -4140,7 +4140,7 @@ void RefinedTriLinear3DFiniteElement::CalcDShape(const IntegrationPoint &ip,
Nedelec1HexFiniteElement::Nedelec1HexFiniteElement()
: VectorFiniteElement(3, 3, 3, Geometry::CUBE, 12, 1, H_CURL,
: VectorFiniteElement(3, Geometry::CUBE, 12, 1, H_CURL,
FunctionSpace::Qk)
{
// not real nodes ...
@@ -4405,7 +4405,7 @@ void Nedelec1HexFiniteElement::ProjectGrad(const FiniteElement &fe,
Nedelec1TetFiniteElement::Nedelec1TetFiniteElement()
: VectorFiniteElement(3, 3, 3, Geometry::TETRAHEDRON, 6, 1, H_CURL)
: VectorFiniteElement(3, Geometry::TETRAHEDRON, 6, 1, H_CURL)
{
// not real nodes ...
Nodes.IntPoint(0).x = 0.5;
@@ -4590,7 +4590,7 @@ void Nedelec1TetFiniteElement::ProjectGrad(const FiniteElement &fe,
Nedelec1WdgFiniteElement::Nedelec1WdgFiniteElement()
: VectorFiniteElement(3, 3, 3, Geometry::PRISM, 9, 1, H_CURL)
: VectorFiniteElement(3, Geometry::PRISM, 9, 1, H_CURL)
{
// not real nodes ...
Nodes.IntPoint(0).x = 0.5;
@@ -4816,7 +4816,7 @@ void Nedelec1WdgFiniteElement::ProjectGrad(const FiniteElement &fe,
Nedelec1PyrFiniteElement::Nedelec1PyrFiniteElement()
: VectorFiniteElement(3, 3, 3, Geometry::PYRAMID, 8, 1, H_CURL)
: VectorFiniteElement(3, Geometry::PYRAMID, 8, 1, H_CURL)
{
// not real nodes ...
Nodes.IntPoint(0).x = 0.5;
@@ -5118,7 +5118,7 @@ void Nedelec1PyrFiniteElement::ProjectGrad(const FiniteElement &fe,
RT0HexFiniteElement::RT0HexFiniteElement()
: VectorFiniteElement(3, 3, 0, Geometry::CUBE, 6, 1, H_DIV, FunctionSpace::Qk)
: VectorFiniteElement(3, Geometry::CUBE, 6, 1, H_DIV, FunctionSpace::Qk)
{
// not real nodes ...
// z = 0, y = 0, x = 1, y = 1, x = 0, z = 1
@@ -5269,7 +5269,7 @@ void RT0HexFiniteElement::Project (
}
RT1HexFiniteElement::RT1HexFiniteElement()
: VectorFiniteElement(3, 3, 0, Geometry::CUBE, 36, 2, H_DIV,
: VectorFiniteElement(3, Geometry::CUBE, 36, 2, H_DIV,
FunctionSpace::Qk)
{
// z = 0
@@ -5656,7 +5656,7 @@ void RT1HexFiniteElement::Project (
}
RT0TetFiniteElement::RT0TetFiniteElement()
: VectorFiniteElement(3, 3, 0, Geometry::TETRAHEDRON, 4, 1, H_DIV)
: VectorFiniteElement(3, Geometry::TETRAHEDRON, 4, 1, H_DIV)
{
// not real nodes ...
Nodes.IntPoint(0).x = 0.33333333333333333333;
@@ -5788,7 +5788,7 @@ void RT0TetFiniteElement::Project (
}
RT0WdgFiniteElement::RT0WdgFiniteElement()
: VectorFiniteElement(3, 3, 0, Geometry::PRISM, 5, 1, H_DIV)
: VectorFiniteElement(3, Geometry::PRISM, 5, 1, H_DIV)
{
// not real nodes ...
Nodes.IntPoint(0).x = 0.33333333333333333333;
@@ -5948,7 +5948,7 @@ void RT0WdgFiniteElement::ProjectCurl(const FiniteElement &fe,
}
RT0PyrFiniteElement::RT0PyrFiniteElement(bool rt0tets)
: VectorFiniteElement(3, 3, 0, Geometry::PYRAMID, 5, 1, H_DIV), rt0(rt0tets)
: VectorFiniteElement(3, Geometry::PYRAMID, 5, 1, H_DIV), rt0(rt0tets)
{
// not real nodes ...
Nodes.IntPoint(0).x = 0.5;