GEOS
Classes | Public Types | Public Member Functions | List of all members
geos::finiteElement::InterfaceKernelBase< CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP > Class Template Reference

Define the base class for interface finite element kernels. (2D finite elements belong to FaceElementSubRegion). More...

#include <InterfaceKernelBase.hpp>

Inheritance diagram for geos::finiteElement::InterfaceKernelBase< CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >:
Inheritance graph
[legend]

Classes

struct  StackVariables
 Kernel variables allocated on the stack. More...
 

Public Types

using Base = ImplicitKernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
 Alias for the base class, i.e., geos::finiteElement::ImplicitKernelBase)
 
- Public Types inherited from geos::finiteElement::ImplicitKernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
using Base = KernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
 Alias for the base class. (i.e. geos::finiteElement::KernelBase)
 

Public Member Functions

 InterfaceKernelBase (NodeManager const &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, localIndex const targetRegionIndex, FaceElementSubRegion &elementSubRegion, FE_TYPE const &finiteElementSpace, CONSTITUTIVE_TYPE &inputConstitutiveType, arrayView1d< globalIndex const > const inputDofNumber, globalIndex const rankOffset, CRSMatrixView< real64, globalIndex const > const inputMatrix, arrayView1d< real64 > const inputRhs, real64 const inputDt)
 Constructor. More...
 
- Public Member Functions inherited from geos::finiteElement::ImplicitKernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
 ImplicitKernelBase (NodeManager const &nodeManager, EdgeManager const &edgeManager, FaceManager const &faceManager, localIndex const targetRegionIndex, FaceElementSubRegion const &elementSubRegion, FE_TYPE const &finiteElementSpace, CONSTITUTIVE_TYPE &inputConstitutiveType, arrayView1d< globalIndex const > const &inputDofNumber, globalIndex const rankOffset, CRSMatrixView< real64, globalIndex const > const &inputMatrix, arrayView1d< real64 > const &inputRhs, real64 const inputDt)
 Constructor. More...
 
GEOS_HOST_DEVICE void setup (localIndex const k, StackVariables &stack) const
 Performs the setup phase for the kernel. More...
 
- Public Member Functions inherited from geos::finiteElement::KernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
 KernelBase (FaceElementSubRegion const &elementSubRegion, FE_TYPE const &finiteElementSpace, CONSTITUTIVE_TYPE &inputConstitutiveType)
 Constructor. More...
 
GEOS_HOST_DEVICE void setup (localIndex const k, StackVariables &stack) const
 Performs the setup phase for the kernel. More...
 
GEOS_HOST_DEVICE GEOS_FORCE_INLINE void quadraturePointKernel (localIndex const k, localIndex const q, StackVariables &stack) const
 Performs a state update at a quadrature point. More...
 
GEOS_HOST_DEVICE real64 complete (localIndex const k, StackVariables &stack) const
 Performs the complete phase for the kernel. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from geos::finiteElement::KernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
static real64 kernelLaunch (localIndex const numElems, KERNEL_TYPE const &kernelComponent)
 Kernel Launcher. More...
 
- Public Attributes inherited from geos::finiteElement::ImplicitKernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
traits::ViewTypeConst< typename SUBREGION_TYPE::NodeMapType::base_type > const m_elemsToNodes
 The element to nodes map.
 
FE_TYPE const m_finiteElementSpace
 
- Static Public Attributes inherited from geos::finiteElement::ImplicitKernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
static constexpr int maxNumTestSupportPointsPerElem
 
static constexpr int maxNumTrialSupportPointsPerElem
 
static constexpr int numDofPerTestSupportPoint
 
static constexpr int numDofPerTrialSupportPoint
 
- Static Public Attributes inherited from geos::finiteElement::KernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
static constexpr int maxNumTestSupportPointsPerElem
 
static constexpr int maxNumTrialSupportPointsPerElem
 
static constexpr int numDofPerTestSupportPoint
 
static constexpr int numDofPerTrialSupportPoint
 
static constexpr int numQuadraturePointsPerElem
 Compile time value for the number of quadrature points per element.
 
- Protected Attributes inherited from geos::finiteElement::ImplicitKernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
arrayView1d< globalIndex const > const m_dofNumber
 The global degree of freedom number.
 
globalIndex const m_dofRankOffset
 The global rank offset.
 
CRSMatrixView< real64, globalIndex const > const m_matrix
 The global Jacobian matrix.
 
arrayView1d< real64 > const m_rhs
 The global residaul vector.
 
FE_TYPE::template MeshData< FaceElementSubRegionm_meshData
 Data structure containing mesh data used to setup the finite element.
 
real64 const m_dt
 time increment
 
- Protected Attributes inherited from geos::finiteElement::KernelBase< FaceElementSubRegion, CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >
traits::ViewTypeConst< typename SUBREGION_TYPE::NodeMapType::base_type > const m_elemsToNodes
 The element to nodes map.
 
arrayView1d< integer const > const m_elemGhostRank
 The element ghost rank array.
 
CONSTITUTIVE_TYPE::KernelWrapper const m_constitutiveUpdate
 
FE_TYPE const m_finiteElementSpace
 

Detailed Description

template<typename CONSTITUTIVE_TYPE, typename FE_TYPE, int NUM_DOF_PER_TEST_SP, int NUM_DOF_PER_TRIAL_SP>
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).

Template Parameters
CONSTITUTIVE_TYPEThe type of constitutive model present in the FaceElementSubRegion.
FE_TYPEThe type of finite element.
NUM_DOF_PER_TEST_SPThe number of DOF per test support point.
NUM_DOF_PER_TRIAL_SPThe number of DOF per trial support point.

Definition at line 58 of file InterfaceKernelBase.hpp.

Constructor & Destructor Documentation

◆ InterfaceKernelBase()

template<typename CONSTITUTIVE_TYPE , typename FE_TYPE , int NUM_DOF_PER_TEST_SP, int NUM_DOF_PER_TRIAL_SP>
geos::finiteElement::InterfaceKernelBase< CONSTITUTIVE_TYPE, FE_TYPE, NUM_DOF_PER_TEST_SP, NUM_DOF_PER_TRIAL_SP >::InterfaceKernelBase ( NodeManager const &  nodeManager,
EdgeManager const &  edgeManager,
FaceManager const &  faceManager,
localIndex const  targetRegionIndex,
FaceElementSubRegion elementSubRegion,
FE_TYPE const &  finiteElementSpace,
CONSTITUTIVE_TYPE &  inputConstitutiveType,
arrayView1d< globalIndex const > const  inputDofNumber,
globalIndex const  rankOffset,
CRSMatrixView< real64, globalIndex const > const  inputMatrix,
arrayView1d< real64 > const  inputRhs,
real64 const  inputDt 
)
inline

Constructor.

Constructor.

Parameters
nodeManagerReference to the NodeManager object.
edgeManagerReference to the EdgeManager object.
faceManagerReference to the FaceManager object.
targetRegionIndexIndex of the region the subregion belongs to.
inputDofNumberThe dof number for the primary field.
rankOffsetdof index offset of current rank
inputMatrixReference to the Jacobian matrix.
inputRhsReference to the RHS vector.
inputDtThe timestep for the physics update.

Constructor.

Parameters
elementSubRegionReference to the SUBREGION_TYPE(class template parameter) object.
inputConstitutiveTypeThe constitutive object.
finiteElementSpacePlaceholder for the finite element space object, which currently doesn't do much.

Definition at line 81 of file InterfaceKernelBase.hpp.


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