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

#include <BConds.h>

Inheritance diagram for ippl::BConds< Field, Dim >:
Collaboration diagram for ippl::BConds< Field, Dim >:

Public Types

using bc_type = detail::BCondBase<Field>
using container = std::array<std::shared_ptr<bc_type>, 2 * Dim>
using iterator = typename container::iterator
using const_iterator = typename container::const_iterator

Public Member Functions

 BConds ()=default
 ~BConds ()=default
void findBCNeighbors (Field &field)
void apply (Field &field)
void assignGhostToPhysical (Field &field)
bool changesPhysicalCells () const
virtual void write (std::ostream &) const
const std::shared_ptr< bc_type > & operator[] (const int &i) const noexcept
std::shared_ptr< bc_type > & operator[] (const int &i) noexcept

Private Attributes

container bc_m

Detailed Description

template<typename Field, unsigned Dim>
class ippl::BConds< Field, Dim >

A container for boundary conditions

Template Parameters
Fieldthe type of the field to which the boundary conditions will be applied
Dimthe rank of the field (redundant parameter required to avoid a circular dependency loop between Field and BConds)

Definition at line 23 of file BConds.h.

Member Typedef Documentation

◆ bc_type

template<typename Field, unsigned Dim>
using ippl::BConds< Field, Dim >::bc_type = detail::BCondBase<Field>

Definition at line 25 of file BConds.h.

◆ const_iterator

template<typename Field, unsigned Dim>
using ippl::BConds< Field, Dim >::const_iterator = typename container::const_iterator

Definition at line 28 of file BConds.h.

◆ container

template<typename Field, unsigned Dim>
using ippl::BConds< Field, Dim >::container = std::array<std::shared_ptr<bc_type>, 2 * Dim>

Definition at line 26 of file BConds.h.

◆ iterator

template<typename Field, unsigned Dim>
using ippl::BConds< Field, Dim >::iterator = typename container::iterator

Definition at line 27 of file BConds.h.

Constructor & Destructor Documentation

◆ BConds()

template<typename Field, unsigned Dim>
ippl::BConds< Field, Dim >::BConds ( )
default

◆ ~BConds()

template<typename Field, unsigned Dim>
ippl::BConds< Field, Dim >::~BConds ( )
default

Member Function Documentation

◆ apply()

◆ assignGhostToPhysical()

◆ changesPhysicalCells()

template<typename Field, unsigned Dim>
bool ippl::BConds< Field, Dim >::changesPhysicalCells ( ) const

Definition at line 47 of file BConds.hpp.

References bc_m.

◆ findBCNeighbors()

template<typename Field, unsigned Dim>
void ippl::BConds< Field, Dim >::findBCNeighbors ( Field & field)

Definition at line 20 of file BConds.hpp.

References bc_m, and ippl::BareField< T, Dim, ViewArgs >::getCommunicator().

Here is the call graph for this function:

◆ operator[]() [1/2]

template<typename Field, unsigned Dim>
const std::shared_ptr< bc_type > & ippl::BConds< Field, Dim >::operator[] ( const int & i) const
inlinenoexcept

Definition at line 40 of file BConds.h.

◆ operator[]() [2/2]

template<typename Field, unsigned Dim>
std::shared_ptr< bc_type > & ippl::BConds< Field, Dim >::operator[] ( const int & i)
inlinenoexcept

Definition at line 42 of file BConds.h.

◆ write()

template<typename Field, unsigned Dim>
void ippl::BConds< Field, Dim >::write ( std::ostream & os) const
virtual

Definition at line 8 of file BConds.hpp.

References bc_m.

Referenced by ippl::operator<<().

Here is the caller graph for this function:

Member Data Documentation

◆ bc_m

template<typename Field, unsigned Dim>
container ippl::BConds< Field, Dim >::bc_m
private

Definition at line 45 of file BConds.h.

Referenced by apply(), assignGhostToPhysical(), changesPhysicalCells(), findBCNeighbors(), and write().


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