IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::PeriodicFace< Field > Class Template Reference

#include <BcTypes.h>

Inheritance diagram for ippl::PeriodicFace< Field >:
Collaboration diagram for ippl::PeriodicFace< Field >:

Public Types

using face_neighbor_type = std::array<std::vector<int>, 2 * Dim>
using Layout_t = typename detail::BCondBase<Field>::Layout_t

Public Member Functions

 PeriodicFace (unsigned face)
virtual FieldBC getBCType () const
virtual void findBCNeighbors (Field &field)
virtual void apply (Field &field)
virtual void assignGhostToPhysical (Field &field)
virtual void write (std::ostream &out) const
unsigned int getFace () const
bool changesPhysicalCells () const

Protected Attributes

unsigned int face_m
bool changePhysical_m

Private Types

using T = typename Field::value_type

Private Attributes

face_neighbor_type faceNeighbors_m
Field::halo_type::databuffer_type haloData_m

Static Private Attributes

static constexpr unsigned Dim = Field::dim

Detailed Description

template<typename Field>
class ippl::PeriodicFace< Field >

Definition at line 157 of file BcTypes.h.

Member Typedef Documentation

◆ face_neighbor_type

template<typename Field>
using ippl::PeriodicFace< Field >::face_neighbor_type = std::array<std::vector<int>, 2 * Dim>

Definition at line 162 of file BcTypes.h.

◆ Layout_t

template<typename Field>
using ippl::PeriodicFace< Field >::Layout_t = typename detail::BCondBase<Field>::Layout_t

Definition at line 163 of file BcTypes.h.

◆ T

template<typename Field>
using ippl::PeriodicFace< Field >::T = typename Field::value_type
private

Definition at line 159 of file BcTypes.h.

Constructor & Destructor Documentation

◆ PeriodicFace()

template<typename Field>
ippl::PeriodicFace< Field >::PeriodicFace ( unsigned face)
inline

Definition at line 165 of file BcTypes.h.

References ippl::detail::BCondBase< Field >::BCondBase().

Here is the call graph for this function:

Member Function Documentation

◆ apply()

◆ assignGhostToPhysical()

template<typename Field>
void ippl::PeriodicFace< Field >::assignGhostToPhysical ( Field & field)
virtual

Implements ippl::detail::BCondBase< Field >.

Definition at line 347 of file BcTypes.hpp.

References ippl::apply(), ippl::createRangePolicy(), Dim, ippl::detail::BCondBase< Field >::face_m, ippl::BareField< T, Dim, ViewArgs >::getLayout(), ippl::BareField< T, Dim, ViewArgs >::getNghost(), ippl::BareField< T, Dim, ViewArgs >::getView(), ippl::max, ippl::min(), and ippl::parallel_for().

Here is the call graph for this function:

◆ changesPhysicalCells()

template<typename Field>
bool ippl::detail::BCondBase< Field >::changesPhysicalCells ( ) const
inlineinherited

Definition at line 68 of file BcTypes.h.

References changePhysical_m.

◆ findBCNeighbors()

template<typename Field>
void ippl::PeriodicFace< Field >::findBCNeighbors ( Field & field)
virtual

Implements ippl::detail::BCondBase< Field >.

Definition at line 138 of file BcTypes.hpp.

References ippl::detail::BCondBase< Field >::face_m, faceNeighbors_m, ippl::BareField< T, Dim, ViewArgs >::getCommunicator(), ippl::FieldLayout< Dim >::getHostLocalDomains(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), ippl::BareField< T, Dim, ViewArgs >::getNghost(), ippl::max, and ippl::min().

Here is the call graph for this function:

◆ getBCType()

template<typename Field>
virtual FieldBC ippl::PeriodicFace< Field >::getBCType ( ) const
inlinevirtual

Reimplemented from ippl::detail::BCondBase< Field >.

Definition at line 168 of file BcTypes.h.

References ippl::PERIODIC_FACE.

◆ getFace()

template<typename Field>
unsigned int ippl::detail::BCondBase< Field >::getFace ( ) const
inlineinherited

Definition at line 65 of file BcTypes.h.

References face_m.

◆ write()

template<typename Field>
void ippl::PeriodicFace< Field >::write ( std::ostream & out) const
virtual

Member Data Documentation

◆ changePhysical_m

template<typename Field>
bool ippl::detail::BCondBase< Field >::changePhysical_m
protectedinherited

Definition at line 75 of file BcTypes.h.

Referenced by BCondBase(), and changesPhysicalCells().

◆ Dim

template<typename Field>
unsigned ippl::PeriodicFace< Field >::Dim = Field::dim
staticconstexprprivate

Definition at line 158 of file BcTypes.h.

Referenced by apply(), and assignGhostToPhysical().

◆ face_m

◆ faceNeighbors_m

template<typename Field>
face_neighbor_type ippl::PeriodicFace< Field >::faceNeighbors_m
private

Definition at line 177 of file BcTypes.h.

Referenced by apply(), and findBCNeighbors().

◆ haloData_m

template<typename Field>
Field::halo_type::databuffer_type ippl::PeriodicFace< Field >::haloData_m
private

Definition at line 178 of file BcTypes.h.

Referenced by apply().


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