IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::Mesh< T, Dim > Class Template Referenceabstract

#include <Mesh.h>

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

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 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 Mesh.h.

◆ value_type

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

Definition at line 17 of file 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 Mesh.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 18 of file 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 Mesh.h.

Referenced by ippl::UniformCartesian< T, Dim >::UniformCartesian().

Here is the caller graph for this function:

◆ ~Mesh()

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

Definition at line 27 of file 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< double, Dim >, 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 ( ) const

Definition at line 20 of file Mesh.hpp.

References gridSizes_m.

Referenced by ippl::UniformCartesian< T, Dim >::getMeshVolume(), and ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().

Here is the caller graph for this function:

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

References gridSizes_m.

◆ getMeshSpacing()

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

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

Referenced by ippl::assemble_rhs_from_particles(), ippl::div(), ippl::grad(), ippl::hess(), ippl::interpolate_to_diracs(), ippl::OrthogonalRecursiveBisection< Field, Tp >::scatterR(), and ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().

Here is the caller graph for this function:

◆ 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< double, Dim >, and ippl::UniformCartesian< Tlhs, Dim >.

◆ getOrigin()

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

Definition at line 10 of file Mesh.hpp.

References origin_m.

Referenced by ippl::assemble_rhs_from_particles(), ippl::interpolate_to_diracs(), and ippl::OrthogonalRecursiveBisection< Field, Tp >::scatterR().

Here is the caller graph for this function:

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

References origin_m.

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 Mesh.h.

Referenced by getGridsize(), and getGridsize().

◆ 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: