20 namespace HydroMechanics
24 template <
int GlobalDim,
25 template <
typename,
typename,
typename,
int>
26 class LocalAssemblerImplementation,
30 const unsigned shapefunction_order,
31 std::vector<MeshLib::Element*>
const& mesh_elements,
32 std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers,
33 ExtraCtorArgs&&... extra_ctor_args)
38 LocalAssemblerImplementation, GlobalDim,
41 DBUG(
"Create local assemblers.");
43 local_assemblers.resize(mesh_elements.size());
47 DBUG(
"Calling local assembler builder for all mesh elements.");
49 initializer, mesh_elements, local_assemblers,
50 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
66 template <
int GlobalDim,
67 template <
typename,
typename,
typename,
int>
68 class LocalAssemblerImplementation,
72 std::vector<MeshLib::Element*>
const& mesh_elements,
74 const unsigned shapefunction_order,
75 std::vector<std::unique_ptr<LocalAssemblerInterface>>& local_assemblers,
76 ExtraCtorArgs&&... extra_ctor_args)
78 DBUG(
"Create local assemblers.");
80 detail::createLocalAssemblers<GlobalDim, LocalAssemblerImplementation>(
81 dof_table, shapefunction_order, mesh_elements, local_assemblers,
82 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
void DBUG(char const *fmt, Args const &... args)
void createLocalAssemblers(NumLib::LocalToGlobalIndexMap const &dof_table, const unsigned shapefunction_order, std::vector< MeshLib::Element * > const &mesh_elements, std::vector< std::unique_ptr< LocalAssemblerInterface >> &local_assemblers, ExtraCtorArgs &&... extra_ctor_args)
void createLocalAssemblers(const unsigned, std::vector< MeshLib::Element * > const &mesh_elements, NumLib::LocalToGlobalIndexMap const &dof_table, const unsigned shapefunction_order, std::vector< std::unique_ptr< LocalAssemblerInterface >> &local_assemblers, ExtraCtorArgs &&... extra_ctor_args)
static void transformDereferenced(F const &f, C const &c, Data &data, Args_ &&... args)