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
 
struct  ReferenceNodeDataStatic
 Reference node containers for each supported topology. More...
 

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. More...
 

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 More...
 
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 254 of file Intrepid2_CellData.hpp.

Member Function Documentation

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 734 of file Intrepid2_CellDataDef.hpp.

References INTREPID2_TEST_FOR_EXCEPTION_DEVICE_SAFE.

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

Member Data Documentation

template<typename DeviceType>
const RefCellCenter< DeviceType >::ReferenceCenterDataStatic Intrepid2::RefCellCenter< DeviceType >::refCenterDataStatic_
staticprivate
Initial value:
= {
{0.0, 0.0, 0.0},
{ 1.0/3.0, 1.0/3.0, 0.0},
{0.0, 0.0, 0.0},
{ 0.25, 0.25, 0.25},
{ 0.0, 0.0, 0.0},
{ 0.0, 0.0, 0.25},
{ 1.0/3.0, 1.0/3.0, 0.0},
}

static struct containing the nodes coordinates on host

Definition at line 313 of file Intrepid2_CellData.hpp.


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