GEOSX
Public Member Functions | Static Public Member Functions | List of all members
geos::mimeticInnerProduct::MimeticInnerProductBase Class Reference

#include <MimeticInnerProductBase.hpp>

Inheritance diagram for geos::mimeticInnerProduct::MimeticInnerProductBase:
Inheritance graph
[legend]

Public Member Functions

 MimeticInnerProductBase (MimeticInnerProductBase const &source)=default
 Copy Constructor. More...
 
 MimeticInnerProductBase (MimeticInnerProductBase &&)=default
 Default Move constructor.
 
MimeticInnerProductBaseoperator= (MimeticInnerProductBase const &)=delete
 Deleted copy assignment operator. More...
 
MimeticInnerProductBaseoperator= (MimeticInnerProductBase &&)=delete
 Deleted move assignment operator. More...
 
virtual ~MimeticInnerProductBase ()=default
 Destructor.
 

Static Public Member Functions

template<localIndex NF>
static GEOS_HOST_DEVICE void computeParametricInnerProduct (arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &nodePosition, arrayView1d< real64 const > const &transMultiplier, ArrayOfArraysView< localIndex const > const &faceToNodes, arraySlice1d< localIndex const > const &elemToFaces, arraySlice1d< real64 const > const &elemCenter, real64 const &elemVolume, real64 const (&elemPerm)[3], real64 const &tParam, real64 const &lengthTolerance, arraySlice2d< real64 > const &transMatrix)
 In a given element, recompute the transmissibility matrix using a consistent inner product. More...
 

Detailed Description

Provides management of the mimetic inner products for the hybrid FVM solvers

Definition at line 36 of file MimeticInnerProductBase.hpp.

Constructor & Destructor Documentation

◆ MimeticInnerProductBase()

geos::mimeticInnerProduct::MimeticInnerProductBase::MimeticInnerProductBase ( MimeticInnerProductBase const &  source)
default

Copy Constructor.

Parameters
sourceThe object to copy.

Member Function Documentation

◆ computeParametricInnerProduct()

template<localIndex NF>
GEOS_HOST_DEVICE void geos::mimeticInnerProduct::MimeticInnerProductBase::computeParametricInnerProduct ( arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const &  nodePosition,
arrayView1d< real64 const > const &  transMultiplier,
ArrayOfArraysView< localIndex const > const &  faceToNodes,
arraySlice1d< localIndex const > const &  elemToFaces,
arraySlice1d< real64 const > const &  elemCenter,
real64 const &  elemVolume,
real64 const (&)  elemPerm[3],
real64 const &  tParam,
real64 const &  lengthTolerance,
arraySlice2d< real64 > const &  transMatrix 
)
static

In a given element, recompute the transmissibility matrix using a consistent inner product.

Parameters
[in]nodePositionthe position of the nodes
[in]transMultiplierthe transmissibility multipliers at the mesh faces
[in]faceToNodesthe map from the face to their nodes
[in]elemToFacesthe maps from the one-sided face to the corresponding face
[in]elemCenterthe center of the element
[in]elemVolumethe volume of the element
[in]elemPermthe permeability in the element
[in]tParamparameter used in the transmissibility matrix computations
[in]lengthTolerancethe tolerance used in the trans calculations
[in,out]transMatrixthe output

When tParam = 2, we obtain a scheme that reduces to TPFA on orthogonal meshes, but remains consistent on non-orthogonal meshes When tParam = 6, we obtain the quasi-Raviart-Thomas inner product

Definition at line 104 of file MimeticInnerProductBase.hpp.

◆ operator=() [1/2]

MimeticInnerProductBase& geos::mimeticInnerProduct::MimeticInnerProductBase::operator= ( MimeticInnerProductBase &&  )
delete

Deleted move assignment operator.

Returns
deleted

◆ operator=() [2/2]

MimeticInnerProductBase& geos::mimeticInnerProduct::MimeticInnerProductBase::operator= ( MimeticInnerProductBase const &  )
delete

Deleted copy assignment operator.

Returns
deleted

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