OGS
ProcessLib::SmallDeformation::detail Namespace Reference

Functions

template<int GlobalDim, template< typename, int > class LocalAssemblerImplementation, typename LocalAssemblerInterface, IntegrationMethodProviderOrIntegrationOrder ProviderOrOrder, typename... ExtraCtorArgs>
void createLocalAssemblers (NumLib::LocalToGlobalIndexMap const &dof_table, std::vector< MeshLib::Element * > const &mesh_elements, std::vector< std::unique_ptr< LocalAssemblerInterface > > &local_assemblers, ProviderOrOrder const &provider_or_order, ExtraCtorArgs &&... extra_ctor_args)

Function Documentation

◆ createLocalAssemblers()

template<int GlobalDim, template< typename, int > class LocalAssemblerImplementation, typename LocalAssemblerInterface, IntegrationMethodProviderOrIntegrationOrder ProviderOrOrder, typename... ExtraCtorArgs>
void ProcessLib::SmallDeformation::detail::createLocalAssemblers ( NumLib::LocalToGlobalIndexMap const & dof_table,
std::vector< MeshLib::Element * > const & mesh_elements,
std::vector< std::unique_ptr< LocalAssemblerInterface > > & local_assemblers,
ProviderOrOrder const & provider_or_order,
ExtraCtorArgs &&... extra_ctor_args )

Definition at line 24 of file SmallDeformation/CreateLocalAssemblers.h.

30{
31 DBUG("Create local assemblers.");
32
33 auto const& integration_method_provider =
34 getIntegrationMethodProvider(provider_or_order);
35
36 using IntMethProv =
37 std::remove_cvref_t<decltype(integration_method_provider)>;
38 using LocAsmFactory = ProcessLib::LocalAssemblerFactorySD<
39 LocalAssemblerInterface, LocalAssemblerImplementation, IntMethProv,
40 GlobalDim, ExtraCtorArgs...>;
41
42 LocAsmFactory factory(dof_table, integration_method_provider);
43 local_assemblers.resize(mesh_elements.size());
44
45 DBUG("Calling local assembler builder for all mesh elements.");
47 factory, mesh_elements, local_assemblers,
48 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
49}
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:22
LocalAssemblerFactoryForDimGreaterEqualN< 2, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs... > LocalAssemblerFactorySD
Mechanics processes in OGS are defined in 2D and 3D only.
static void transformDereferenced(F const &f, C const &c, Data &data, Args_ &&... args)

References createLocalAssemblers(), DBUG(), and NumLib::SerialExecutor::transformDereferenced().

Referenced by ProcessLib::SmallDeformation::createLocalAssemblers(), and createLocalAssemblers().