Intrepid2
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | List of all members
Intrepid2::RefCellCenter< DeviceType > Class Template Reference

This class defines the coordinates of the barycenter of the supported reference cells. The barycenter coordinates are stored in static views. The class is templated on the Kokkos::Device Type which is used to determine layout and memory space of the views. More...

#include <Intrepid2_CellData.hpp>

Classes

struct  ReferenceCenterDataStatic
 

Public Types

using ConstViewType = Kokkos::DynRankView<const double,DeviceType>
 

Public Member Functions

 RefCellCenter ()=default
 Default constructor.
 
 ~RefCellCenter ()=default
 Destructor.
 

Static Public Member Functions

static ConstViewType get (const unsigned cellTopoKey)
 Retrieves the Cartesian coordinates of a reference cell barycenter.
 

Private Types

using ViewType = Kokkos::DynRankView<double,DeviceType>
 static views containing the center coordinates allocated on DeviceType::memory_space
 

Static Private Member Functions

static void set ()
 Set center coordinates of reference cell for supported topologies.
 

Static Private Attributes

static ViewType lineCenter
 
static ViewType triangleCenter
 
static ViewType quadrilateralCenter
 
static ViewType tetrahedronCenter
 
static ViewType hexahedronCenter
 
static ViewType pyramidCenter
 
static ViewType wedgeCenter
 
static const ReferenceCenterDataStatic refCenterDataStatic_
 static struct containing the nodes coordinates on host
 
static bool isReferenceCellCenterDataSet_ = false
 whether the center coordinates have been already set using the method set()
 

Detailed Description

template<typename DeviceType>
class Intrepid2::RefCellCenter< DeviceType >

This class defines the coordinates of the barycenter of the supported reference cells. The barycenter coordinates are stored in static views. The class is templated on the Kokkos::Device Type which is used to determine layout and memory space of the views.

Definition at line 288 of file Intrepid2_CellData.hpp.

Member Typedef Documentation

◆ ConstViewType

template<typename DeviceType >
using Intrepid2::RefCellCenter< DeviceType >::ConstViewType = Kokkos::DynRankView<const double,DeviceType>

Definition at line 290 of file Intrepid2_CellData.hpp.

◆ ViewType

template<typename DeviceType >
using Intrepid2::RefCellCenter< DeviceType >::ViewType = Kokkos::DynRankView<double,DeviceType>
private

static views containing the center coordinates allocated on DeviceType::memory_space

Definition at line 324 of file Intrepid2_CellData.hpp.

Member Function Documentation

◆ get()

template<typename DeviceType >
RefCellCenter< DeviceType >::ConstViewType Intrepid2::RefCellCenter< DeviceType >::get ( const unsigned cellTopoKey)
inlinestatic

Retrieves the Cartesian coordinates of a reference cell barycenter.

Returns Cartesian coordinates of a reference cell barycenter. Requires cell topology with a reference cell. Barycenter coordinates are always returned as an (x,y,z)-triple regardless of the actual topological cell dimension. The unused coordinates are set to zero, e.g., center of Line<2> is returned as {0,0,0}.

Parameters
cell[in] - key of the cell topology
Returns
a rank-1 Kokkos::View containing the coordinates of the cell nodes The returned view has dimension 3.

Definition at line 768 of file Intrepid2_CellDataDef.hpp.

References INTREPID2_TEST_FOR_EXCEPTION_DEVICE_SAFE.

Referenced by Intrepid2::CellTools< DeviceType >::getReferenceCellCenter().

◆ set()

template<typename DeviceType >
void Intrepid2::RefCellCenter< DeviceType >::set ( )
staticprivate

Set center coordinates of reference cell for supported topologies.

Definition at line 715 of file Intrepid2_CellDataDef.hpp.

Member Data Documentation

◆ hexahedronCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::hexahedronCenter
staticprivate

Definition at line 329 of file Intrepid2_CellData.hpp.

◆ isReferenceCellCenterDataSet_

template<typename DeviceType >
bool Intrepid2::RefCellCenter< DeviceType >::isReferenceCellCenterDataSet_ = false
staticprivate

whether the center coordinates have been already set using the method set()

Definition at line 350 of file Intrepid2_CellData.hpp.

◆ lineCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::lineCenter
staticprivate

Definition at line 325 of file Intrepid2_CellData.hpp.

◆ pyramidCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::pyramidCenter
staticprivate

Definition at line 330 of file Intrepid2_CellData.hpp.

◆ quadrilateralCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::quadrilateralCenter
staticprivate

Definition at line 327 of file Intrepid2_CellData.hpp.

◆ refCenterDataStatic_

template<typename DeviceType >
const ReferenceCenterDataStatic Intrepid2::RefCellCenter< DeviceType >::refCenterDataStatic_
staticprivate

static struct containing the nodes coordinates on host

Definition at line 347 of file Intrepid2_CellData.hpp.

◆ tetrahedronCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::tetrahedronCenter
staticprivate

Definition at line 328 of file Intrepid2_CellData.hpp.

◆ triangleCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::triangleCenter
staticprivate

Definition at line 326 of file Intrepid2_CellData.hpp.

◆ wedgeCenter

template<typename DeviceType >
ViewType Intrepid2::RefCellCenter< DeviceType >::wedgeCenter
staticprivate

Definition at line 331 of file Intrepid2_CellData.hpp.


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