Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::AssembleFEFactory< SC, LO, GO, NO > Class Template Reference

This class allows for constructing AssembleFE objects. More...

#include <AssembleFEFactory_decl.hpp>

Public Types

typedef AssembleFE< SC, LO, GO, NO > AssembleFE_Type
 
typedef Teuchos::RCP< AssembleFE_TypeAssembleFEPtr_Type
 

Public Member Functions

 AssembleFEFactory ()
 Constructor.
 
AssembleFEPtr_Type build (std::string problemType, int flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type params, tuple_disk_vec_ptr_Type tuple)
 We only need this one function to build assembleFE, where we define the problem type and the AssembleFE object we extend to a specific problem.
 

Detailed Description

template<class SC, class LO, class GO, class NO>
class FEDD::AssembleFEFactory< SC, LO, GO, NO >

This class allows for constructing AssembleFE objects.

Template Parameters
SCThe scalar type. So far, this is always double, but having it as a template parameter would allow flexibily, e.g., for using complex instead
LOThe local ordinal type. The is the index type for local indices
GOThe global ordinal type. The is the index type for global indices (this should actually by removed since the class should operate only on element level)
NOThe Kokkos Node type. This would allow for performance portibility when using Kokkos. Currently, this is not used.

This class provides a function for constructing objects of classes derived from AssembleFE. In particular, an AssembleFE object is constructed as follows:

AssembleFE assmeblyFe = AssembleFEFactory<>::build("problemType",flag,nodesRefConfig,params);
AssembleFEPtr_Type build(std::string problemType, int flag, vec2D_dbl_Type nodesRefConfig, ParameterListPtr_Type params, tuple_disk_vec_ptr_Type tuple)
We only need this one function to build assembleFE, where we define the problem type and the Assemble...
Definition AssembleFEFactory_def.hpp:16
This abstract class defining the interface for any type of element assembly rountines in the FEDDLib.
Definition AssembleFE_decl.hpp:61

If a new element assembly is implemented, it has to be added to the build() function. Only then, this element assembly can be executed within the FEDDLib.

Member Function Documentation

◆ build()

template<class SC, class LO, class GO, class NO>
AssembleFEFactory< SC, LO, GO, NO >::AssembleFEPtr_Type FEDD::AssembleFEFactory< SC, LO, GO, NO >::build ( std::string problemType,
int flag,
vec2D_dbl_Type nodesRefConfig,
ParameterListPtr_Type params,
tuple_disk_vec_ptr_Type tuple )

We only need this one function to build assembleFE, where we define the problem type and the AssembleFE object we extend to a specific problem.

Parameters
[in]problemTypeType of specfic problem we focus on
[in]flagFlag of element
[in]nodesRefConfigNodes of element in reference configuration
[in]paramsParameterlist for current problem

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