GEOS
Classes | Namespaces | Macros | Functions
InterfaceKernelBase.hpp File Reference
#include "ImplicitKernelBase.hpp"

Go to the source code of this file.

Classes

class  geos::finiteElement::InterfaceKernelBase< CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
 Define the base class for interface finite element kernels. (2D finite elements belong to FaceElementSubRegion). More...
 
struct  geos::finiteElement::InterfaceKernelBase< CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >::StackVariables
 Kernel variables allocated on the stack. More...
 
class  geos::finiteElement::InterfaceKernelFactory< KERNEL_TYPE, ARGS >
 Used to forward arguments to a class that implements the InterfaceKernelBase interface. More...
 

Namespaces

 geos
 
 finiteElement
 

Macros

#define SELECTED_FE_TYPES_2D   BASE_FE_TYPES_2D
 This macro allows solvers to select a subset of FE_TYPES_2D on which the dispatch is done. If none are selected, by default all the BASE_FE_TYPES_2D apply.
 

Functions

template<typename POLICY , typename CONSTITUTIVE_BASE , typename KERNEL_FACTORY >
static real64 geos::finiteElement::interfaceBasedKernelApplication (MeshLevel &mesh, string const &targetRegionName, arrayView1d< localIndex const > const &faceElementList, FiniteElementBase const &subRegionFE, string const &constitutiveStringName, KERNEL_FACTORY &interfaceKernelFactory)
 Performs a loop over FaceElementSubRegion and calls a kernel launch with compile time knowledge of sub-loop bounds such as number of nodes and quadrature points per element. More...
 

Function Documentation

◆ interfaceBasedKernelApplication()

template<typename POLICY , typename CONSTITUTIVE_BASE , typename KERNEL_FACTORY >
static real64 geos::finiteElement::interfaceBasedKernelApplication ( MeshLevel mesh,
string const &  targetRegionName,
arrayView1d< localIndex const > const &  faceElementList,
FiniteElementBase const &  subRegionFE,
string const &  constitutiveStringName,
KERNEL_FACTORY &  interfaceKernelFactory 
)
static

Performs a loop over FaceElementSubRegion and calls a kernel launch with compile time knowledge of sub-loop bounds such as number of nodes and quadrature points per element.

Template Parameters
POLICYThe RAJA launch policy to pass to the kernel launch.
CONSTITUTIVE_BASEThe common base class for constitutive pass-thru/dispatch which gives the kernel launch compile time knowledge of the constitutive model.
KERNEL_FACTORYThe type of interfaceKernelFactory, typically an instantiation of InterfaceKernelFactory, and must adhere to that interface.
Parameters
meshThe MeshLevel object.
targetRegionNameThe names of the target regions to apply the KERNEL_TEMPLATE.
faceElementListList of element of the same type belongs to FaceElementSubRegion.
subRegionFEFinite element object.
constitutiveStringNameKey string used to retrieve the constitutive model.
interfaceKernelFactoryThe object used to construct the kernel.
Returns
The maximum contribution to the residual, which may be used to scale the residual.

Loops over all regions Applies/Launches a kernel specified by the KERNEL_TEMPLATE through #geos::finiteElement::KernelBase::kernelLaunch().

Definition at line 211 of file InterfaceKernelBase.hpp.