OGS
ProcessLib::BoundaryConditionAndSourceTerm::detail Namespace Reference

Functions

template<int GlobalDim, template< typename, typename, int > class LocalAssemblerImplementation, typename LocalAssemblerInterface , typename... ExtraCtorArgs>
void createLocalAssemblersPython (NumLib::LocalToGlobalIndexMap const &dof_table, std::vector< MeshLib::Element * > const &mesh_elements, std::vector< std::unique_ptr< LocalAssemblerInterface > > &local_assemblers, NumLib::IntegrationOrder const integration_order, ExtraCtorArgs &&... extra_ctor_args)
 
template<int GlobalDim, template< typename, int > class LocalAssemblerImplementation, typename LocalAssemblerInterface , typename... ExtraCtorArgs>
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, NumLib::IntegrationOrder const integration_order, ExtraCtorArgs &&... extra_ctor_args)
 

Function Documentation

◆ createLocalAssemblers()

template<int GlobalDim, template< typename, int > class LocalAssemblerImplementation, typename LocalAssemblerInterface , typename... ExtraCtorArgs>
void ProcessLib::BoundaryConditionAndSourceTerm::detail::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,
NumLib::IntegrationOrder const integration_order,
ExtraCtorArgs &&... extra_ctor_args )

Definition at line 28 of file CreateLocalAssemblers.h.

35{
36 static_assert(
37 GlobalDim == 1 || GlobalDim == 2 || GlobalDim == 3,
38 "Meshes with dimension greater than three are not supported.");
39
42 LocalAssemblerImplementation, GlobalDim,
43 ExtraCtorArgs...>;
44
45 DBUG("Create local assemblers.");
46
47 NumLib::DefaultIntegrationMethodProvider integration_method_provider{
48 integration_order};
49 LocalAssemblerFactory factory(dof_table, integration_method_provider,
50 shapefunction_order);
51 local_assemblers.resize(mesh_elements.size());
52
53 DBUG("Calling local assembler builder for all mesh elements.");
55 factory, mesh_elements, local_assemblers,
56 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
57}
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:30
static void transformDereferenced(F const &f, C const &c, Data &data, Args_ &&... args)

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

◆ createLocalAssemblersPython()

template<int GlobalDim, template< typename, typename, int > class LocalAssemblerImplementation, typename LocalAssemblerInterface , typename... ExtraCtorArgs>
void ProcessLib::BoundaryConditionAndSourceTerm::detail::createLocalAssemblersPython ( NumLib::LocalToGlobalIndexMap const & dof_table,
std::vector< MeshLib::Element * > const & mesh_elements,
std::vector< std::unique_ptr< LocalAssemblerInterface > > & local_assemblers,
NumLib::IntegrationOrder const integration_order,
ExtraCtorArgs &&... extra_ctor_args )

Definition at line 29 of file CreateLocalAssemblers.h.

35{
36 static_assert(
37 GlobalDim == 1 || GlobalDim == 2 || GlobalDim == 3,
38 "Meshes with dimension greater than three are not supported.");
39
40 using LocAsmFactory =
42 LocalAssemblerImplementation, GlobalDim,
43 ExtraCtorArgs...>;
44
45 DBUG("Create local assemblers.");
46
47 NumLib::DefaultIntegrationMethodProvider integration_method_provider{
48 integration_order};
49 LocAsmFactory factory(dof_table, integration_method_provider);
50 local_assemblers.resize(mesh_elements.size());
51
52 DBUG("Calling local assembler builder for all mesh elements.");
54 factory, mesh_elements, local_assemblers,
55 std::forward<ExtraCtorArgs>(extra_ctor_args)...);
56}

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