| 2349 | } |
| 2350 | |
| 2351 | shared_ptr<BilinearFormIntegrator> |
| 2352 | Integrators::CreateBFI(const string & name, int dim, |
| 2353 | const Array<shared_ptr<CoefficientFunction>> & coeffs) const |
| 2354 | { |
| 2355 | if (dim == -1) |
| 2356 | { |
| 2357 | shared_ptr<BilinearFormIntegrator> abfi[4]; |
| 2358 | for (int i = 0; i < bfis.Size(); i++) |
| 2359 | if (name == bfis[i]->name) |
| 2360 | { |
| 2361 | int spacedim = bfis[i]->spacedim; |
| 2362 | abfi[spacedim] = bfis[i] -> creator(coeffs); |
| 2363 | } |
| 2364 | return make_shared<BilinearFormIntegratorAnyDim> (abfi); |
| 2365 | } |
| 2366 | auto bfi = GetBFI(name, dim)->creator(coeffs); |
| 2367 | bfi -> SetName (name); |
| 2368 | return bfi; |
| 2369 | } |
| 2370 | |
| 2371 | shared_ptr<BilinearFormIntegrator> |
| 2372 | Integrators::CreateBFI(const string & name, int dim, |
no test coverage detected