OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
ippl::Mesh< T, Dim > Class Template Referenceabstract

#include <Mesh.h>

Inheritance diagram for ippl::Mesh< T, Dim >:
Inheritance graph
Collaboration diagram for ippl::Mesh< T, Dim >:
Collaboration graph

Public Types

enum  { Dimension = Dim }
 
typedef T value_type
 
typedef Vector< T, Dimvector_type
 
typedef Vector< vector_type, Dimmatrix_type
 

Public Member Functions

KOKKOS_INLINE_FUNCTION Mesh ()
 
virtual KOKKOS_INLINE_FUNCTION ~Mesh ()
 
KOKKOS_INLINE_FUNCTION vector_type getOrigin () const
 
KOKKOS_INLINE_FUNCTION void setOrigin (const vector_type &origin)
 
KOKKOS_INLINE_FUNCTION const vector_typegetGridsize () const
 
virtual KOKKOS_INLINE_FUNCTION T getCellVolume () const =0
 
virtual KOKKOS_INLINE_FUNCTION T getMeshVolume () const =0
 
KOKKOS_INLINE_FUNCTION T getGridsize (size_t dim) const
 
virtual KOKKOS_INLINE_FUNCTION vector_type getVertexPosition (const NDIndex< Dim > &ndi) const =0
 
virtual KOKKOS_INLINE_FUNCTION const vector_typegetMeshSpacing () const =0
 
virtual KOKKOS_INLINE_FUNCTION vector_type getDeltaVertex (const NDIndex< Dim > &ndi) const =0
 

Protected Attributes

vector_type origin_m
 
vector_type gridSizes_m
 

Detailed Description

template<typename T, unsigned Dim>
class ippl::Mesh< T, Dim >

Definition at line 15 of file ippl/src/Meshes/Mesh.h.

Member Typedef Documentation

◆ matrix_type

template<typename T , unsigned Dim>
typedef Vector<vector_type, Dim> ippl::Mesh< T, Dim >::matrix_type

Definition at line 23 of file ippl/src/Meshes/Mesh.h.

◆ value_type

template<typename T , unsigned Dim>
typedef T ippl::Mesh< T, Dim >::value_type

Definition at line 17 of file ippl/src/Meshes/Mesh.h.

◆ vector_type

template<typename T , unsigned Dim>
typedef Vector<T, Dim> ippl::Mesh< T, Dim >::vector_type

Definition at line 22 of file ippl/src/Meshes/Mesh.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename T , unsigned Dim>
anonymous enum
Enumerator
Dimension 

Definition at line 18 of file ippl/src/Meshes/Mesh.h.

Constructor & Destructor Documentation

◆ Mesh()

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION ippl::Mesh< T, Dim >::Mesh ( )
inline

Definition at line 25 of file ippl/src/Meshes/Mesh.h.

◆ ~Mesh()

template<typename T , unsigned Dim>
virtual KOKKOS_INLINE_FUNCTION ippl::Mesh< T, Dim >::~Mesh ( )
inlinevirtual

Definition at line 27 of file ippl/src/Meshes/Mesh.h.

Member Function Documentation

◆ getCellVolume()

template<typename T , unsigned Dim>
virtual KOKKOS_INLINE_FUNCTION T ippl::Mesh< T, Dim >::getCellVolume ( ) const
pure virtual

Query the cell volume of the grid

Returns
The volume of a single mesh cell

Implemented in ippl::UniformCartesian< T, Dim >, ippl::UniformCartesian< 3 >, and ippl::UniformCartesian< Tlhs, Dim >.

◆ getDeltaVertex()

template<typename T , unsigned Dim>
virtual KOKKOS_INLINE_FUNCTION vector_type ippl::Mesh< T, Dim >::getDeltaVertex ( const NDIndex< Dim > &  ndi) const
pure virtual

◆ getGridsize() [1/2]

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION const Mesh< T, Dim >::vector_type & ippl::Mesh< T, Dim >::getGridsize

◆ getGridsize() [2/2]

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION T ippl::Mesh< T, Dim >::getGridsize ( size_t  dim) const

Definition at line 26 of file Mesh.hpp.

◆ getMeshSpacing()

template<typename T , unsigned Dim>
virtual KOKKOS_INLINE_FUNCTION const vector_type & ippl::Mesh< T, Dim >::getMeshSpacing ( ) const
pure virtual

◆ getMeshVolume()

template<typename T , unsigned Dim>
virtual KOKKOS_INLINE_FUNCTION T ippl::Mesh< T, Dim >::getMeshVolume ( ) const
pure virtual

Query the volume of the represented domain

Returns
Total volume of the mesh

Implemented in ippl::UniformCartesian< T, Dim >, ippl::UniformCartesian< 3 >, and ippl::UniformCartesian< Tlhs, Dim >.

◆ getOrigin()

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION Mesh< T, Dim >::vector_type ippl::Mesh< T, Dim >::getOrigin

Definition at line 10 of file Mesh.hpp.

◆ getVertexPosition()

template<typename T , unsigned Dim>
virtual KOKKOS_INLINE_FUNCTION vector_type ippl::Mesh< T, Dim >::getVertexPosition ( const NDIndex< Dim > &  ndi) const
pure virtual

◆ setOrigin()

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION void ippl::Mesh< T, Dim >::setOrigin ( const vector_type origin)

Definition at line 15 of file Mesh.hpp.

Member Data Documentation

◆ gridSizes_m

template<typename T , unsigned Dim>
vector_type ippl::Mesh< T, Dim >::gridSizes_m
protected

Definition at line 61 of file ippl/src/Meshes/Mesh.h.

◆ origin_m

template<typename T , unsigned Dim>
vector_type ippl::Mesh< T, Dim >::origin_m
protected

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