@@ -198,181 +198,6 @@ std::array<unscaled_bc_parts<P>, 2> make_unscaled_bc_parts(
198
198
return {left_bc_parts, right_bc_parts};
199
199
}
200
200
201
- // template<typename P>
202
- // bc_manager<P>::bc_manager(PDE<P> const &pde, elements::table const &table,
203
- // hierarchy_manipulator<P> const &hier, coefficient_matrices<P> &cmats,
204
- // connection_patterns const &conns,
205
- // int const start_element, int const stop_element, P const t_init)
206
- // : num_dims(pde.num_dims()), degree(hier.degree())
207
- // {
208
- // tools::time_event timing("make unscaled bc");
209
- // expect(start_element >= 0);
210
- // expect(stop_element < table.size());
211
- // expect(stop_element >= start_element);
212
- //
213
- // // count the number of boundary condition vectors that we will need
214
- // // the first vector (if present) is left unscaled, i.e., assumed 1
215
- // // the others will use corresponding functions from the p-terms
216
- // // so, we first count the number of basis that we will need
217
- // int num_pt = 0;
218
- //
219
- // for (auto const &term : pde.get_terms()) {
220
- // for (int d : indexof<int>(pde.num_dims())) {
221
- // for (auto const &pt : term[d].get_partial_terms()) {
222
- // if (not pt.left_bc_zero())
223
- // {
224
- // if (pt.left_bc_time_func())
225
- // num_pt++;
226
- // else
227
- // num_const = 1;
228
- // }
229
- // if (not pt.right_bc_zero())
230
- // {
231
- // if (pt.right_bc_time_func())
232
- // num_pt++;
233
- // else
234
- // num_const = 1;
235
- // }
236
- // }
237
- // }
238
- // }
239
- //
240
- // std::vector<dimension<P>> const &dimensions = pde.get_dimensions();
241
- // int const degree = hier.degree();
242
- //
243
- // time_funcs.reserve(num_pt);
244
- //
245
- // int64_t const vec_size = (stop_element - start_element + 1) * hier.block_size();
246
- // unscaled_bc.resize(vec_size * (num_pt + num_const));
247
- //
248
- // std::vector<P> temp;
249
- //
250
- // P *unc = unscaled_bc.data();
251
- // if (num_const > 0) {
252
- // unc += vec_size;
253
- // temp.resize(vec_size);
254
- // }
255
- //
256
- // for (int t : indexof<int>(pde.num_terms()))
257
- // {
258
- // std::vector<term<P>> const &term_md = pde.get_terms()[t];
259
- //
260
- // for (int d : indexof<int>(pde.num_dims()))
261
- // {
262
- // dimension<P> const &dim = dimensions[d];
263
- // term<P> const &term = term_md[d];
264
- //
265
- // std::vector<partial_term<P>> const &pterms = term.get_partial_terms();
266
- // for (int pt : indexof<int>(pterms.size()))
267
- // {
268
- // auto const &ptt = pterms[pt];
269
- //
270
- // if (not ptt.left_bc_zero())
271
- // {
272
- // std::vector<P> trace_bc = compute_left_boundary_condition(
273
- // ptt.g_func(), ptt.dv_func(), t_init, dim,
274
- // ptt.left_bc_funcs()[d]);
275
- //
276
- // std::vector<std::vector<P>> p_term_left_bcs = generate_partial_bcs(
277
- // dimensions, d, ptt.left_bc_funcs(), hier, cmats,
278
- // conns, t_init, term_md, term.get_partial_terms(), t, pt, std::move(trace_bc));
279
- //
280
- // if (ptt.left_bc_time_func())
281
- // num_pt++;
282
- // else
283
- // num_const = 1;
284
- // }
285
- // if (not ptt.right_bc_zero())
286
- // {
287
- // if (ptt.right_bc_time_func())
288
- // num_pt++;
289
- // else
290
- // num_const = 1;
291
- // }
292
- // }
293
- // }
294
- // }
295
- //
296
- //
297
- //
298
- // unscaled_bc_parts<P> left_bc_parts;
299
- // unscaled_bc_parts<P> right_bc_parts;
300
- //
301
- // term_set<P> const &terms_vec_vec = pde.get_terms();
302
- //
303
- // int const num_terms = static_cast<int>(terms_vec_vec.size());
304
- // int const num_dims = pde.num_dims();
305
- //
306
- //
307
- // //int const degree = dimensions.front().get_degree();
308
- //
309
- // for (int t : indexof<int>(num_terms))
310
- // {
311
- // std::vector<term<P>> const &term_md = terms_vec_vec[t];
312
- //
313
- // std::vector<std::vector<std::vector<P>>> left_dim_pvecs;
314
- // std::vector<std::vector<std::vector<P>>> right_dim_pvecs;
315
- //
316
- // for (int d : indexof<int>(num_dims))
317
- // {
318
- // dimension<P> const &dim = dimensions[d];
319
- //
320
- // term<P> const &term = term_md[d];
321
- //
322
- // std::vector<std::vector<P>> left_pvecs;
323
- // std::vector<std::vector<P>> right_pvecs;
324
- //
325
- // std::vector<partial_term<P>> const &pterms = term.get_partial_terms();
326
- // for (int pt : indexof<int>(pterms.size()))
327
- // {
328
- // partial_term<P> const &pterm = pterms[pt];
329
- //
330
- // if (not pterm.left_bc_zero())
331
- // {
332
- // std::vector<P> trace_bc = compute_left_boundary_condition(
333
- // pterm.g_func(), pterm.dv_func(), t_init, dim,
334
- // pterm.left_bc_funcs()[d]);
335
- //
336
- // std::vector<std::vector<P>> p_term_left_bcs = generate_partial_bcs(
337
- // dimensions, d, pterm.left_bc_funcs(), hier, cmats,
338
- // conns, t_init, term_md, pterms, t, pt, std::move(trace_bc));
339
- //
340
- // // std::vector<P> combined =
341
- // // combine_dimensions(degree, table, start_element,
342
- // // stop_element, p_term_left_bcs);
343
- // //
344
- // // left_pvecs.emplace_back(std::move(combined));
345
- // }
346
- //
347
- // if (not pterm.right_bc_zero())
348
- // {
349
- // std::vector<P> trace_bc = compute_right_boundary_condition(
350
- // pterm.g_func(), pterm.dv_func(), t_init, dim,
351
- // pterm.right_bc_funcs()[d]);
352
- //
353
- // std::vector<std::vector<P>> p_term_right_bcs = generate_partial_bcs(
354
- // dimensions, d, pterm.right_bc_funcs(), hier, cmats,
355
- // conns, t_init, term_md, pterms, t, pt, std::move(trace_bc));
356
- //
357
- // // std::vector<P> combined =
358
- // // combine_dimensions(degree, table, start_element,
359
- // // stop_element, p_term_right_bcs);
360
- // //
361
- // // right_pvecs.emplace_back(std::move(combined));
362
- // }
363
- // }
364
- //
365
- // left_dim_pvecs.emplace_back(std::move(left_pvecs));
366
- // right_dim_pvecs.emplace_back(std::move(right_pvecs));
367
- // }
368
- //
369
- // left_bc_parts.emplace_back(std::move(left_dim_pvecs));
370
- // right_bc_parts.emplace_back(std::move(right_dim_pvecs));
371
- // }
372
- //
373
- // //return {left_bc_parts, right_bc_parts};
374
- // }
375
-
376
201
template <typename P>
377
202
std::vector<P> generate_scaled_bc (unscaled_bc_parts<P> const &left_bc_parts,
378
203
unscaled_bc_parts<P> const &right_bc_parts,
@@ -528,8 +353,6 @@ compute_right_boundary_condition(g_func_type<P> g_func, g_func_type<P> dv_func,
528
353
529
354
/* explicit instantiations */
530
355
#ifdef ASGARD_ENABLE_DOUBLE
531
- template class bc_manager <double >;
532
-
533
356
template std::array<unscaled_bc_parts<double >, 2 > make_unscaled_bc_parts (
534
357
PDE<double > const &pde, elements::table const &table,
535
358
hierarchy_manipulator<double > const &hier, coefficient_matrices<double > &cmats,
@@ -550,8 +373,6 @@ boundary_conditions::compute_right_boundary_condition(
550
373
#endif
551
374
552
375
#ifdef ASGARD_ENABLE_FLOAT
553
- template class bc_manager <float >;
554
-
555
376
template std::array<unscaled_bc_parts<float >, 2 >
556
377
boundary_conditions::make_unscaled_bc_parts (
557
378
PDE<float > const &pde, elements::table const &table,
0 commit comments