Skip to content

Commit 849446a

Browse files
author
Daniel Ruprecht
committed
added tests for clenshaw curtis and equidistant nodes but they are NOT working; not sure why
1 parent 1e69251 commit 849446a

File tree

1 file changed

+41
-15
lines changed

1 file changed

+41
-15
lines changed

tests/examples/scalar/test_scalar.cpp

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,28 @@ class ConvergenceTest
6262
this->nsteps = { 4, 6, 8, 10, 12 };
6363
this->nnodes_in_call = this->nnodes + 1;
6464
break;
65-
/*
65+
66+
// NOTE: At the moment, both Clenshaw Curtis and equidistant nodes do not
67+
// reproduce the expected convergence rate... something is wrong, either with
68+
// the test or with the nodes
69+
70+
// Also: What is the ACTUAL number of quadrature nodes in both cases?
6671
case pfasst::QuadratureType::ClenshawCurtis:
67-
break;
68-
72+
this->niters = this->nnodes;
73+
this->Tend = 1.0;
74+
this->lambda = complex<double>(-1.0, 1.0);
75+
this->nsteps = {3, 5, 7, 9, 11};
76+
this->nnodes_in_call = this->nnodes + 1;
77+
break;
78+
6979
case pfasst::QuadratureType::Uniform:
80+
this->niters = this->nnodes;
81+
this->Tend = 5.0;
82+
this->lambda = complex<double>(-1.0, 1.0);
83+
this->nsteps = {3, 5, 7, 9, 11};
84+
this->nnodes_in_call = this->nnodes;
7085
break;
71-
*/
86+
7287

7388
default:
7489
break;
@@ -138,19 +153,30 @@ TEST_P(ConvergenceTest, GaussNodes)
138153
// convergence rate for Radau nodes should be 2*nodes-1
139154
// For some case, the convergence rate is ALMOST that value, hence put in the 0.99
140155
EXPECT_THAT(convrate[i], Ge<double>(0.99* 2 * this->nnodes - 1)) << "Convergence rate for "
141-
<< this->nnodes
142-
<< " Gauss-Radu nodes "
143-
<< " at node " << i
144-
<< " not within expected range.";
156+
<< this->nnodes
157+
<< " Gauss-Radu nodes "
158+
<< " at node " << i
159+
<< " not within expected range.";
145160
break;
146161

147-
/*
148162
case pfasst::QuadratureType::ClenshawCurtis:
163+
// Clenshaw Curtis should be of order nnodes
164+
EXPECT_THAT(convrate[i], Ge<double>(this->nnodes)) << "Convergence rate for "
165+
<< this->nnodes
166+
<< " Clenshaw-Curtis nodes "
167+
<< " at node " << i
168+
<< " not within expected range.";
149169
break;
150-
170+
151171
case pfasst::QuadratureType::Uniform:
172+
// Equidistant nodes should be of order nnodes
173+
EXPECT_THAT(convrate[i], Ge<double>(this->nnodes)) << "Convergence rate for "
174+
<< this->nnodes
175+
<< " equidistant nodes "
176+
<< " at node " << i
177+
<< " not within expected range.";
152178
break;
153-
*/
179+
154180

155181
default:
156182
EXPECT_TRUE(false);
@@ -162,11 +188,11 @@ TEST_P(ConvergenceTest, GaussNodes)
162188

163189
INSTANTIATE_TEST_CASE_P(ScalarSDC, ConvergenceTest,
164190
Combine(Range<size_t>(2, 7),
165-
Values(pfasst::QuadratureType::GaussLobatto,
191+
Values(/*pfasst::QuadratureType::GaussLobatto,
166192
pfasst::QuadratureType::GaussLegendre,
167-
pfasst::QuadratureType::GaussRadau/*,
168-
pfasst::QuadratureType::ClenshawCurtis,
169-
pfasst::QuadratureType::Uniform*/))
193+
pfasst::QuadratureType::GaussRadau,
194+
pfasst::QuadratureType::ClenshawCurtis,*/
195+
pfasst::QuadratureType::Uniform))
170196
);
171197

172198

0 commit comments

Comments
 (0)