OGS
ProcessLib::BoundaryConditionAndSourceTerm::detail Namespace Reference

Functions

template<int GlobalDim, template< typename, 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, ExtraCtorArgs &&... extra_ctor_args)
 
template<int GlobalDim, template< typename, 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, ExtraCtorArgs &&... extra_ctor_args)
 

Function Documentation

◆ createLocalAssemblers()

template<int GlobalDim, template< typename, 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,
ExtraCtorArgs &&...  extra_ctor_args 
)

Definition at line 27 of file CreateLocalAssemblers.h.

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

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

Referenced by ProcessLib::NormalTractionBoundaryCondition::NormalTractionBoundaryCondition< GlobalDim, LocalAssemblerImplementation >::NormalTractionBoundaryCondition().

◆ createLocalAssemblersPython()

template<int GlobalDim, template< typename, 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,
ExtraCtorArgs &&...  extra_ctor_args 
)

Definition at line 29 of file CreateLocalAssemblers.h.

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

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

Referenced by ProcessLib::BoundaryConditionAndSourceTerm::createLocalAssemblersPython().