OGS
ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs > Class Template Reference

Detailed Description

template<typename ShapeFunction, typename LowerOrderShapeFunction, typename LocalAssemblerInterface, template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
class ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >

Definition at line 28 of file LocalAssemblerFactoryTaylorHood.h.

#include <LocalAssemblerFactoryTaylorHood.h>

Static Public Member Functions

template<typename MeshElement >
static LocAsmBuilder create ()
 

Private Types

using GLAF
 
using LocAsmIntfPtr = typename GLAF::LocAsmIntfPtr
 
using LocAsmBuilder = typename GLAF::LocAsmBuilder
 
using LocAsmImpl
 

Private Member Functions

 LocalAssemblerBuilderFactoryTaylorHood ()=delete
 

Member Typedef Documentation

◆ GLAF

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename LocalAssemblerInterface , template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
using ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >::GLAF
private
Initial value:
GenericLocalAssemblerFactory<LocalAssemblerInterface,
IntegrationMethodProvider,
ConstructorArgs...>

Definition at line 30 of file LocalAssemblerFactoryTaylorHood.h.

◆ LocAsmBuilder

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename LocalAssemblerInterface , template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
using ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >::LocAsmBuilder = typename GLAF::LocAsmBuilder
private

Definition at line 34 of file LocalAssemblerFactoryTaylorHood.h.

◆ LocAsmImpl

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename LocalAssemblerInterface , template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
using ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >::LocAsmImpl
private
Initial value:
LocalAssemblerImplementation<ShapeFunction,
LowerOrderShapeFunction,
GlobalDim>

Definition at line 36 of file LocalAssemblerFactoryTaylorHood.h.

◆ LocAsmIntfPtr

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename LocalAssemblerInterface , template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
using ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >::LocAsmIntfPtr = typename GLAF::LocAsmIntfPtr
private

Definition at line 33 of file LocalAssemblerFactoryTaylorHood.h.

Constructor & Destructor Documentation

◆ LocalAssemblerBuilderFactoryTaylorHood()

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename LocalAssemblerInterface , template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >::LocalAssemblerBuilderFactoryTaylorHood ( )
privatedelete

Member Function Documentation

◆ create()

template<typename ShapeFunction , typename LowerOrderShapeFunction , typename LocalAssemblerInterface , template< typename, typename, int > class LocalAssemblerImplementation, NumLib::IntegrationMethodProvider IntegrationMethodProvider, int GlobalDim, typename... ConstructorArgs>
template<typename MeshElement >
static LocAsmBuilder ProcessLib::LocalAssemblerBuilderFactoryTaylorHood< ShapeFunction, LowerOrderShapeFunction, LocalAssemblerInterface, LocalAssemblerImplementation, IntegrationMethodProvider, GlobalDim, ConstructorArgs >::create ( )
inlinestatic

Generates a function that creates a new local assembler of type LocAsmImpl.

Definition at line 46 of file LocalAssemblerFactoryTaylorHood.h.

47 {
48 return [](MeshLib::Element const& e,
49 std::size_t const local_matrix_size,
50 IntegrationMethodProvider const& integration_method_provider,
51 ConstructorArgs&&... args)
52 {
53 auto const& integration_method =
54 integration_method_provider
55 .template getIntegrationMethod<MeshElement>(e);
56
57 static_assert(!std::is_abstract_v<LocAsmImpl>,
58 "The given local assembler implementation is an "
59 "abstract class, which cannot be instantiated. Make "
60 "sure to implement all virtual methods!");
61
62 static_assert(std::is_constructible_v<LocAsmImpl,
63 MeshLib::Element const&,
64 std::size_t,
65 decltype(integration_method),
66 ConstructorArgs&&...>,
67 "The given local assembler implementation is not "
68 "constructible from the provided arguments.");
69
70 return std::make_unique<LocAsmImpl>(
71 e,
72 local_matrix_size,
73 integration_method,
74 std::forward<ConstructorArgs>(args)...);
75 };
76 }
LocalAssemblerImplementation< ShapeFunction, LowerOrderShapeFunction, GlobalDim > LocAsmImpl

The documentation for this class was generated from the following file: