31 NumLib::LocalToGlobalIndexMap const& dof_table,
32 std::vector<MeshLib::Element*> const& mesh_elements,
33 std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers,
34 ProviderOrOrder const& provider_or_order,
35 ExtraCtorArgs&&... extra_ctor_args)
37 DBUG(
"Create local assemblers.");
39 auto const& integration_method_provider =
40 getIntegrationMethodProvider(provider_or_order);
43 std::remove_cvref_t<
decltype(integration_method_provider)>;
46 GlobalDim, ExtraCtorArgs...>;
48 LocAsmFactory factory(dof_table, integration_method_provider);
49 local_assemblers.resize(mesh_elements.size());
51 DBUG(
"Calling local assembler builder for all mesh elements.");
53 factory, mesh_elements, local_assemblers,
54 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
77 std::vector<MeshLib::Element*> const& mesh_elements,
79 std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers,
80 ProviderOrOrder const& provider_or_order,
81 ExtraCtorArgs&&... extra_ctor_args)
83 DBUG(
"Create local assemblers.");
85 detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>(
86 dof_table, mesh_elements, local_assemblers, provider_or_order,
87 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
void createLocalAssemblers(std::vector< MeshLib::Element * > const &mesh_elements, NumLib::LocalToGlobalIndexMap const &dof_table, std::vector< std::unique_ptr< LocalAssemblerInterface > > &local_assemblers, ProviderOrOrder const &provider_or_order, ExtraCtorArgs &&... extra_ctor_args)