@@ -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
163189INSTANTIATE_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