@@ -26,6 +26,10 @@ namespace libmpdataxx
2626 {
2727 using parent_t = solver_common<ct_params_t , n_tlev, minhalo>;
2828
29+ public:
30+
31+ using real_t = typename ct_params_t ::real_t ;
32+
2933 protected:
3034
3135 const rng_t i, j, k; // TODO: we have ijk in solver_common - could it be removed?
@@ -232,24 +236,24 @@ namespace libmpdataxx
232236 // TODO: same in 1D
233237 if (!opts::isset (ct_params_t ::opts, opts::dfl))
234238 {
235- typename ct_params_t :: real_t max_abs_div = max_abs_vctr_div (this ->mem ->GC );
239+ real_t max_abs_div = max_abs_vctr_div (this ->mem ->GC );
236240
237241 if (max_abs_div > this ->max_abs_div_eps )
238242 throw std::runtime_error (" initial advector field is divergent" );
239243 }
240244 }
241245
242- typename parent_t :: real_t courant_number (const arrvec_t <typename parent_t ::arr_t > &arrvec) final
246+ real_t courant_number (const arrvec_t <typename parent_t ::arr_t > &arrvec) final
243247 {
244- stat_field (this ->ijk ) = typename parent_t:: real_t (0.5 ) * (
248+ stat_field (this ->ijk ) = real_t (0.5 ) * (
245249 abs (arrvec[0 ](i+h, j, k) + arrvec[0 ](i-h, j, k))
246250 + abs (arrvec[1 ](i, j+h, k) + arrvec[1 ](i, j-h, k))
247251 + abs (arrvec[2 ](i, j, k+h) + arrvec[2 ](i, j, k-h))
248252 ) / formulae::G<ct_params_t ::opts, 0 >(*this ->mem ->G , i, j, k);
249253 return this ->mem ->max (this ->rank , stat_field (this ->ijk ));
250254 }
251255
252- typename parent_t :: real_t max_abs_vctr_div (const arrvec_t <typename parent_t ::arr_t > &arrvec) final
256+ real_t max_abs_vctr_div (const arrvec_t <typename parent_t ::arr_t > &arrvec) final
253257 {
254258 stat_field (this ->ijk ) = abs (
255259 (arrvec[0 ](i+h, j, k) - arrvec[0 ](i-h, j, k))
@@ -260,9 +264,9 @@ namespace libmpdataxx
260264 return this ->mem ->max (this ->rank , stat_field (this ->ijk ));
261265 }
262266
263- void scale_gc (const typename parent_t :: real_t time,
264- const typename parent_t :: real_t cur_dt,
265- const typename parent_t :: real_t old_dt) final
267+ void scale_gc (const real_t time,
268+ const real_t cur_dt,
269+ const real_t old_dt) final
266270 {
267271 this ->mem ->GC [0 ](rng_t (i.first (), i.last ()-1 )^h, j, k) *= cur_dt / old_dt;
268272 this ->mem ->GC [1 ](i, rng_t (j.first (), j.last ()-1 )^h, k) *= cur_dt / old_dt;
@@ -289,7 +293,7 @@ namespace libmpdataxx
289293
290294 struct rt_params_t : parent_t ::rt_params_t
291295 {
292- typename parent_t :: real_t di = 0 , dj = 0 , dk = 0 ;
296+ real_t di = 0 , dj = 0 , dk = 0 ;
293297 };
294298
295299 protected:
0 commit comments