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

#include <UniformCartesian.h>

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

Public Types

typedef Mesh< T, Dim >::vector_type vector_type
typedef Cell DefaultCentering
enum  { Dimension = Dim }
typedef T value_type
typedef Vector< vector_type, Dimmatrix_type

Public Member Functions

KOKKOS_INLINE_FUNCTION UniformCartesian ()
KOKKOS_INLINE_FUNCTION UniformCartesian (const NDIndex< Dim > &ndi, const vector_type &hx, const vector_type &origin)
KOKKOS_INLINE_FUNCTION ~UniformCartesian ()=default
KOKKOS_INLINE_FUNCTION void initialize (const NDIndex< Dim > &ndi, const vector_type &hx, const vector_type &origin)
KOKKOS_INLINE_FUNCTION void setMeshSpacing (const vector_type &meshSpacing)
KOKKOS_INLINE_FUNCTION T getMeshSpacing (unsigned dim) const
KOKKOS_INLINE_FUNCTION const vector_typegetMeshSpacing () const override
KOKKOS_INLINE_FUNCTION T getCellVolume () const override
KOKKOS_INLINE_FUNCTION T getMeshVolume () const override
KOKKOS_INLINE_FUNCTION void updateCellVolume_m ()
KOKKOS_INLINE_FUNCTION vector_type getVertexPosition (const NDIndex< Dim > &ndi) const override
KOKKOS_INLINE_FUNCTION vector_type getDeltaVertex (const NDIndex< Dim > &ndi) const override
KOKKOS_INLINE_FUNCTION vector_type getOrigin () const
KOKKOS_INLINE_FUNCTION void setOrigin (const vector_type &origin)
KOKKOS_INLINE_FUNCTION const vector_typegetGridsize () const
KOKKOS_INLINE_FUNCTION T getGridsize (size_t dim) const

Protected Attributes

vector_type origin_m
vector_type gridSizes_m

Private Attributes

vector_type meshSpacing_m
T volume_m

Detailed Description

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

Definition at line 14 of file UniformCartesian.h.

Member Typedef Documentation

◆ DefaultCentering

template<typename T, unsigned Dim>
typedef Cell ippl::UniformCartesian< T, Dim >::DefaultCentering

Definition at line 17 of file UniformCartesian.h.

◆ matrix_type

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

Definition at line 23 of file Mesh.h.

◆ value_type

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

Definition at line 17 of file Mesh.h.

◆ vector_type

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

Definition at line 16 of file UniformCartesian.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 18 of file Mesh.h.

Constructor & Destructor Documentation

◆ UniformCartesian() [1/2]

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

Definition at line 14 of file UniformCartesian.hpp.

References Dim, ippl::Mesh< T, Dim >::Mesh(), and volume_m.

Here is the call graph for this function:

◆ UniformCartesian() [2/2]

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION ippl::UniformCartesian< T, Dim >::UniformCartesian ( const NDIndex< Dim > & ndi,
const vector_type & hx,
const vector_type & origin )

Definition at line 19 of file UniformCartesian.hpp.

References ippl::initialize().

Here is the call graph for this function:

◆ ~UniformCartesian()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION ippl::UniformCartesian< T, Dim >::~UniformCartesian ( )
default

Member Function Documentation

◆ getCellVolume()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION T ippl::UniformCartesian< T, Dim >::getCellVolume ( ) const
overridevirtual

Query the cell volume of the grid

Returns
The volume of a single mesh cell

Implements ippl::Mesh< T, Dim >.

Definition at line 60 of file UniformCartesian.hpp.

References volume_m.

◆ getDeltaVertex()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION vector_type ippl::UniformCartesian< T, Dim >::getDeltaVertex ( const NDIndex< Dim > & ndi) const
inlineoverridevirtual

Implements ippl::Mesh< T, Dim >.

Definition at line 56 of file UniformCartesian.h.

◆ getGridsize() [1/2]

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

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
inherited

Definition at line 26 of file Mesh.hpp.

References gridSizes_m.

◆ getMeshSpacing() [1/2]

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION const UniformCartesian< T, Dim >::vector_type & ippl::UniformCartesian< T, Dim >::getMeshSpacing ( ) const
overridevirtual

Implements ippl::Mesh< T, Dim >.

Definition at line 55 of file UniformCartesian.hpp.

References meshSpacing_m.

◆ getMeshSpacing() [2/2]

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION T ippl::UniformCartesian< T, Dim >::getMeshSpacing ( unsigned dim) const

Definition at line 48 of file UniformCartesian.hpp.

References Dim, meshSpacing_m, and PAssert_LT.

Referenced by getMeshVolume().

Here is the caller graph for this function:

◆ getMeshVolume()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION T ippl::UniformCartesian< T, Dim >::getMeshVolume ( ) const
overridevirtual

Query the volume of the represented domain

Returns
Total volume of the mesh

Implements ippl::Mesh< T, Dim >.

Definition at line 65 of file UniformCartesian.hpp.

References Dim, ippl::Mesh< T, Dim >::getGridsize(), and getMeshSpacing().

Here is the call graph for this function:

◆ getOrigin()

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

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>
KOKKOS_INLINE_FUNCTION vector_type ippl::UniformCartesian< T, Dim >::getVertexPosition ( const NDIndex< Dim > & ndi) const
inlineoverridevirtual

Implements ippl::Mesh< T, Dim >.

Definition at line 45 of file UniformCartesian.h.

◆ initialize()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION void ippl::UniformCartesian< T, Dim >::initialize ( const NDIndex< Dim > & ndi,
const vector_type & hx,
const vector_type & origin )

Definition at line 26 of file UniformCartesian.hpp.

References meshSpacing_m.

◆ setMeshSpacing()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION void ippl::UniformCartesian< T, Dim >::setMeshSpacing ( const vector_type & meshSpacing)

Definition at line 41 of file UniformCartesian.hpp.

References meshSpacing_m, and updateCellVolume_m().

Here is the call graph for this function:

◆ setOrigin()

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

Definition at line 15 of file Mesh.hpp.

References origin_m.

◆ updateCellVolume_m()

template<typename T, unsigned Dim>
KOKKOS_INLINE_FUNCTION void ippl::UniformCartesian< T, Dim >::updateCellVolume_m ( )

Definition at line 74 of file UniformCartesian.hpp.

References Dim, meshSpacing_m, and volume_m.

Referenced by setMeshSpacing().

Here is the caller graph for this function:

Member Data Documentation

◆ gridSizes_m

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

Definition at line 61 of file Mesh.h.

Referenced by getGridsize(), and getGridsize().

◆ meshSpacing_m

template<typename T, unsigned Dim>
vector_type ippl::UniformCartesian< T, Dim >::meshSpacing_m
private

◆ origin_m

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

◆ volume_m

template<typename T, unsigned Dim>
T ippl::UniformCartesian< T, Dim >::volume_m
private

Definition at line 65 of file UniformCartesian.h.

Referenced by getCellVolume(), UniformCartesian(), and updateCellVolume_m().


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