OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
BareField< T, Dim > Class Template Reference

#include <BareField.h>

Inheritance diagram for BareField< T, Dim >:
Inheritance graph
[legend]
Collaboration diagram for BareField< T, Dim >:
Collaboration graph
[legend]

Public Types

enum  { Dim_u = Dim }
 
enum  { IsExpr = 0 }
 
typedef T T_t
 
typedef FieldLayout< DimLayout_t
 
typedef LField< T, DimLField_t
 
typedef vmap< typename Unique::type, my_auto_ptr< LField< T, Dim > > > ac_id_larray
 
typedef ac_id_larray::iterator iterator_if
 
typedef ac_id_larray::const_iterator const_iterator_if
 
typedef LField< T, Dim >::iterator LFI
 
typedef BareFieldIterator< T, Dimiterator
 
typedef iterator PETE_Expr_t
 
- Public Types inherited from User
typedef Unique::type ID_t
 
- Public Types inherited from PETE_Expr< BareField< T, Dim > >
typedef BareField< T, DimWrapped
 

Public Member Functions

 BareField ()
 
 BareField (const BareField< T, Dim > &)
 
 BareField (Layout_t &)
 
 BareField (Layout_t &, const GuardCellSizes< Dim > &)
 
 ~BareField ()
 
void initialize (Layout_t &)
 
void initialize (Layout_t &, const bool)
 
void initialize (Layout_t &, const GuardCellSizes< Dim > &)
 
iterator_if begin_if ()
 
iterator_if end_if ()
 
const_iterator_if begin_if () const
 
const_iterator_if end_if () const
 
ac_id_larray::size_type size_if () const
 
virtual void fillGuardCells (bool reallyFill=true) const
 
void setGuardCells (const T &) const
 
void accumGuardCells ()
 
bool isDirty () const
 
void setDirtyFlag ()
 
void clearDirtyFlag ()
 
void fillGuardCellsIfNotDirty () const
 
Layout_tgetLayout () const
 
IndexedBareField< T, Dim, 1 > operator[] (const Index &idx)
 
IndexedBareField< T, Dim, 1 > operator[] (int i)
 
IndexedBareField< T, Dim, Dimoperator[] (const NDIndex< Dim > &nidx)
 
SubBareField< T, Dim, SIndex< Dim > > operator[] (const SIndex< Dim > &)
 
const GuardCellSizes< Dim > & getGC () const
 
const GuardCellSizes< Dim > & getGuardCellSizes () const
 
unsigned leftGuard (unsigned d) const
 
unsigned rightGuard (unsigned d) const
 
const IndexgetIndex (unsigned d) const
 
const NDIndex< Dim > & getDomain () const
 
const BareField< T, Dim > & operator= (T x)
 
const BareField< T, Dim > & operator= (const BareField< T, Dim > &x)
 
template<class X >
const BareField< T, Dim > & operator= (const BareField< X, Dim > &x)
 
template<class B >
const BareField< T, Dim > & operator= (const PETE_Expr< B > &x)
 
bool compressible () const
 
double CompressedFraction () const
 
void Compress () const
 
void Uncompress () const
 
void setCompression (bool compress)
 
virtual void Repartition (UserList *)
 
virtual void notifyUserOfDelete (UserList *)
 
iterator begin () const
 
iterator end () const
 
iterator beginLoc (const FieldLoc< Dim > &loc) const
 
void prepareForScalarCode (bool tryfill=true)
 
void finishScalarCode (bool modified=true)
 
T & localElement (const NDIndex< Dim > &) const
 
void getsingle (const NDIndex< Dim > &, T &) const
 
void write (std::ostream &)
 
iterator MakeExpression () const
 
- Public Member Functions inherited from FieldLayoutUser
 FieldLayoutUser ()
 
virtual ~FieldLayoutUser ()
 
- Public Member Functions inherited from User
 User ()
 
virtual ~User ()
 
ID_t get_Id () const
 
- Public Member Functions inherited from PETE_Expr< BareField< T, Dim > >
BareField< T, Dim > & PETE_unwrap ()
 
const BareField< T, Dim > & PETE_unwrap () const
 

Protected Attributes

ac_id_larray Locals_ac
 
- Protected Attributes inherited from User
ID_t Id
 

Private Member Functions

void setup ()
 
void getsingle_bc (const NDIndex< Dim > &, T &) const
 

Private Attributes

Layout_tLayout
 
GuardCellSizes< DimGc
 
bool dirty_m
 
bool compressible_m
 
bool pinned
 

Friends

class BareFieldIterator< T, Dim >
 

Detailed Description

template<class T, unsigned Dim>
class BareField< T, Dim >

The FFT class performs complex-to-complex, real-to-complex, or sine transforms on IPPL Fields. FFT is templated on the type of transform to be performed, the dimensionality of the Field to transform, and the floating-point precision type of the Field (float or double).

Definition at line 54 of file BareField.h.

Member Typedef Documentation

◆ ac_id_larray

template<class T , unsigned Dim>
typedef vmap< typename Unique::type, my_auto_ptr< LField<T,Dim> > > BareField< T, Dim >::ac_id_larray

Definition at line 91 of file BareField.h.

◆ const_iterator_if

template<class T , unsigned Dim>
typedef ac_id_larray::const_iterator BareField< T, Dim >::const_iterator_if

Definition at line 93 of file BareField.h.

◆ iterator

template<class T , unsigned Dim>
typedef BareFieldIterator<T,Dim> BareField< T, Dim >::iterator

Definition at line 97 of file BareField.h.

◆ iterator_if

template<class T , unsigned Dim>
typedef ac_id_larray::iterator BareField< T, Dim >::iterator_if

Definition at line 92 of file BareField.h.

◆ Layout_t

template<class T , unsigned Dim>
typedef FieldLayout<Dim> BareField< T, Dim >::Layout_t

Definition at line 61 of file BareField.h.

◆ LFI

template<class T , unsigned Dim>
typedef LField<T,Dim>::iterator BareField< T, Dim >::LFI

Definition at line 94 of file BareField.h.

◆ LField_t

template<class T , unsigned Dim>
typedef LField<T,Dim> BareField< T, Dim >::LField_t

Definition at line 62 of file BareField.h.

◆ PETE_Expr_t

template<class T , unsigned Dim>
typedef iterator BareField< T, Dim >::PETE_Expr_t

Definition at line 326 of file BareField.h.

◆ T_t

template<class T , unsigned Dim>
typedef T BareField< T, Dim >::T_t

Definition at line 60 of file BareField.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T , unsigned Dim>
anonymous enum
Enumerator
Dim_u 

Definition at line 63 of file BareField.h.

◆ anonymous enum

template<class T , unsigned Dim>
anonymous enum
Enumerator
IsExpr 

Definition at line 325 of file BareField.h.

Constructor & Destructor Documentation

◆ BareField() [1/4]

template<class T , unsigned Dim>
BareField< T, Dim >::BareField
inline

Definition at line 368 of file BareField.h.

◆ BareField() [2/4]

template<class T , unsigned Dim>
BareField< T, Dim >::BareField ( const BareField< T, Dim > &  a)

◆ BareField() [3/4]

template<class T , unsigned Dim>
BareField< T, Dim >::BareField ( Layout_t l)
inline

Definition at line 384 of file BareField.h.

References BareField< T, Dim >::setup().

Here is the call graph for this function:

◆ BareField() [4/4]

template<class T , unsigned Dim>
BareField< T, Dim >::BareField ( Layout_t l,
const GuardCellSizes< Dim > &  g 
)
inline

Definition at line 401 of file BareField.h.

◆ ~BareField()

template<class T , unsigned Dim>
BareField< T, Dim >::~BareField

Definition at line 83 of file BareField.hpp.

Member Function Documentation

◆ accumGuardCells()

template<class T , unsigned Dim>
void BareField< T, Dim >::accumGuardCells

◆ begin()

template<class T , unsigned Dim>
iterator BareField< T, Dim >::begin ( ) const
inline

◆ begin_if() [1/2]

template<class T , unsigned Dim>
iterator_if BareField< T, Dim >::begin_if ( )
inline

◆ begin_if() [2/2]

template<class T , unsigned Dim>
const_iterator_if BareField< T, Dim >::begin_if ( ) const
inline

Definition at line 102 of file BareField.h.

References vmap< Key, T, Compare >::begin(), and BareField< T, Dim >::Locals_ac.

Here is the call graph for this function:

◆ beginLoc()

template<class T , unsigned Dim>
iterator BareField< T, Dim >::beginLoc ( const FieldLoc< Dim > &  loc) const
inline

Definition at line 249 of file BareField.h.

◆ clearDirtyFlag()

template<class T , unsigned Dim>
void BareField< T, Dim >::clearDirtyFlag ( )
inline

Definition at line 118 of file BareField.h.

References BareField< T, Dim >::dirty_m.

Referenced by BareField< T, Dim >::BareField().

◆ Compress()

template<class T , unsigned Dim>
void BareField< T, Dim >::Compress

Definition at line 991 of file BareField.hpp.

References BareField< T, Dim >::begin_if(), and BareField< T, Dim >::end_if().

Referenced by assign(), ParticleAttrib< T >::gather(), DiscField< Dim >::read(), and BareField< T, Dim >::setCompression().

Here is the call graph for this function:

◆ CompressedFraction()

template<class T , unsigned Dim>
double BareField< T, Dim >::CompressedFraction

Definition at line 1021 of file BareField.hpp.

References LField< T, Dim >::getOwned(), LField< T, Dim >::IsCompressed(), and reduce().

Here is the call graph for this function:

◆ compressible()

template<class T , unsigned Dim>
bool BareField< T, Dim >::compressible ( ) const
inline

◆ end()

template<class T , unsigned Dim>
iterator BareField< T, Dim >::end ( ) const
inline

Definition at line 241 of file BareField.h.

Referenced by Cartesian< Dim, MFLOAT >::storeSpacingFields().

◆ end_if() [1/2]

template<class T , unsigned Dim>
iterator_if BareField< T, Dim >::end_if ( )
inline

◆ end_if() [2/2]

template<class T , unsigned Dim>
const_iterator_if BareField< T, Dim >::end_if ( ) const
inline

Definition at line 103 of file BareField.h.

References vmap< Key, T, Compare >::end(), and BareField< T, Dim >::Locals_ac.

Here is the call graph for this function:

◆ fillGuardCells()

template<class T , unsigned Dim>
void BareField< T, Dim >::fillGuardCells ( bool  reallyFill = true) const
virtual

◆ fillGuardCellsIfNotDirty()

template<class T , unsigned Dim>
void BareField< T, Dim >::fillGuardCellsIfNotDirty ( ) const
inline

Definition at line 122 of file BareField.h.

References BareField< T, Dim >::fillGuardCells(), and BareField< T, Dim >::isDirty().

Referenced by assign(), BareField< T, Dim >::finishScalarCode(), and DiscField< Dim >::read().

Here is the call graph for this function:

◆ finishScalarCode()

template<class T , unsigned Dim>
void BareField< T, Dim >::finishScalarCode ( bool  modified = true)
inline

Definition at line 280 of file BareField.h.

References BareField< T, Dim >::fillGuardCellsIfNotDirty(), INCIPPLSTAT, BareField< T, Dim >::setCompression(), and BareField< T, Dim >::setDirtyFlag().

Here is the call graph for this function:

◆ getDomain()

template<class T , unsigned Dim>
const NDIndex<Dim>& BareField< T, Dim >::getDomain ( void  ) const
inline

◆ getGC()

template<class T , unsigned Dim>
const GuardCellSizes<Dim>& BareField< T, Dim >::getGC ( ) const
inline

◆ getGuardCellSizes()

template<class T , unsigned Dim>
const GuardCellSizes<Dim>& BareField< T, Dim >::getGuardCellSizes ( ) const
inline

◆ getIndex()

template<class T , unsigned Dim>
const Index& BareField< T, Dim >::getIndex ( unsigned  d) const
inline

Definition at line 151 of file BareField.h.

References FieldLayout< Dim >::getDomain(), and BareField< T, Dim >::getLayout().

Here is the call graph for this function:

◆ getLayout()

template<class T , unsigned Dim>
Layout_t& BareField< T, Dim >::getLayout ( ) const
inline

◆ getsingle()

template<class T , unsigned int Dim>
void BareField< T, Dim >::getsingle ( const NDIndex< Dim > &  Indexes,
T &  r 
) const

◆ getsingle_bc()

template<class T , unsigned Dim>
void BareField< T, D >::getsingle_bc ( const NDIndex< Dim > &  ,
T &   
) const
private

◆ initialize() [1/3]

template<class T , unsigned Dim>
void BareField< T, Dim >::initialize ( Layout_t l)

Definition at line 100 of file BareField.hpp.

◆ initialize() [2/3]

template<class T , unsigned Dim>
void BareField< T, Dim >::initialize ( Layout_t l,
const bool  p 
)

Definition at line 114 of file BareField.hpp.

◆ initialize() [3/3]

template<class T , unsigned Dim>
void BareField< T, Dim >::initialize ( Layout_t l,
const GuardCellSizes< Dim > &  gc 
)

Definition at line 128 of file BareField.hpp.

◆ isDirty()

template<class T , unsigned Dim>
bool BareField< T, Dim >::isDirty ( ) const
inline

◆ leftGuard()

template<class T , unsigned Dim>
unsigned BareField< T, Dim >::leftGuard ( unsigned  d) const
inline

◆ localElement()

template<class T , unsigned Dim>
T & BareField< T, Dim >::localElement ( const NDIndex< Dim > &  Indexes) const

◆ MakeExpression()

template<class T , unsigned Dim>
iterator BareField< T, Dim >::MakeExpression ( ) const
inline

Definition at line 327 of file BareField.h.

References BareField< T, Dim >::begin().

Here is the call graph for this function:

◆ notifyUserOfDelete()

template<class T , unsigned Dim>
void BareField< T, Dim >::notifyUserOfDelete ( UserList userlist)
virtual

Implements User.

Reimplemented in Field< T, Dim, M, C >, Field< double, 3, Mesh_t, Center_t >, Field< Vector_t, 3, Mesh_t, Center_t >, and Field< T, Dim, M, C >.

Definition at line 1079 of file BareField.hpp.

References endl(), UserList::getUserListID(), and WARNMSG.

Here is the call graph for this function:

◆ operator=() [1/4]

template<class T , unsigned Dim>
const BareField<T,Dim>& BareField< T, Dim >::operator= ( const BareField< T, Dim > &  x)
inline

Definition at line 163 of file BareField.h.

References assign().

Here is the call graph for this function:

◆ operator=() [2/4]

template<class T , unsigned Dim>
template<class X >
const BareField<T,Dim>& BareField< T, Dim >::operator= ( const BareField< X, Dim > &  x)
inline

Definition at line 171 of file BareField.h.

References assign().

Here is the call graph for this function:

◆ operator=() [3/4]

template<class T , unsigned Dim>
template<class B >
const BareField<T,Dim>& BareField< T, Dim >::operator= ( const PETE_Expr< B > &  x)
inline

Definition at line 180 of file BareField.h.

References assign().

Here is the call graph for this function:

◆ operator=() [4/4]

template<class T , unsigned Dim>
const BareField<T,Dim>& BareField< T, Dim >::operator= ( x)
inline

Definition at line 155 of file BareField.h.

References assign().

Here is the call graph for this function:

◆ operator[]() [1/4]

template<class T , unsigned Dim>
IndexedBareField< T, Dim, 1 > BareField< T, Dim >::operator[] ( const Index idx)
inline

Definition at line 416 of file BareField.h.

◆ operator[]() [2/4]

template<class T , unsigned Dim>
IndexedBareField< T, Dim, Dim > BareField< T, Dim >::operator[] ( const NDIndex< Dim > &  nidx)
inline

Definition at line 430 of file BareField.h.

◆ operator[]() [3/4]

template<class T , unsigned Dim>
SubBareField< T, Dim, SIndex< Dim > > BareField< T, Dim >::operator[] ( const SIndex< Dim > &  s)
inline

Definition at line 437 of file BareField.h.

◆ operator[]() [4/4]

template<class T , unsigned Dim>
IndexedBareField< T, Dim, 1 > BareField< T, Dim >::operator[] ( int  i)
inline

Definition at line 423 of file BareField.h.

◆ prepareForScalarCode()

template<class T , unsigned Dim>
void BareField< T, Dim >::prepareForScalarCode ( bool  tryfill = true)
inline

Definition at line 262 of file BareField.h.

References BareField< T, Dim >::fillGuardCells(), INCIPPLSTAT, BareField< T, Dim >::isDirty(), and BareField< T, Dim >::setCompression().

Here is the call graph for this function:

◆ Repartition()

template<class T , unsigned Dim>
void BareField< T, Dim >::Repartition ( UserList userlist)
virtual

◆ rightGuard()

template<class T , unsigned Dim>
unsigned BareField< T, Dim >::rightGuard ( unsigned  d) const
inline

◆ setCompression()

template<class T , unsigned Dim>
void BareField< T, Dim >::setCompression ( bool  compress)
inline

◆ setDirtyFlag()

template<class T , unsigned Dim>
void BareField< T, Dim >::setDirtyFlag ( )
inline

◆ setGuardCells()

template<class T , unsigned Dim>
void BareField< T, Dim >::setGuardCells ( const T &  val) const

◆ setup()

template<class T , unsigned Dim>
void BareField< T, Dim >::setup ( void  )
private

Definition at line 150 of file BareField.hpp.

References IpplInfo::abort(), AddGuardCells(), endl(), and ERRORMSG.

Referenced by BareField< T, Dim >::BareField().

Here is the call graph for this function:

◆ size_if()

template<class T , unsigned Dim>
ac_id_larray::size_type BareField< T, Dim >::size_if ( ) const
inline

Definition at line 104 of file BareField.h.

References BareField< T, Dim >::Locals_ac, and vmap< Key, T, Compare >::size().

Referenced by assign().

Here is the call graph for this function:

◆ Uncompress()

template<class T , unsigned Dim>
void BareField< T, Dim >::Uncompress

◆ write()

template<class T , unsigned Dim>
void BareField< T, Dim >::write ( std::ostream &  out)

Definition at line 208 of file BareField.hpp.

References IpplInfo::Comm, F_TAG_CYCLE, F_WRITE_TAG, LField< T, Dim >::getOwned(), IpplInfo::myNode(), and TagMaker::next_tag().

Referenced by operator<<().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ BareFieldIterator< T, Dim >

template<class T , unsigned Dim>
friend class BareFieldIterator< T, Dim >
friend

Definition at line 331 of file BareField.h.

Member Data Documentation

◆ compressible_m

template<class T , unsigned Dim>
bool BareField< T, Dim >::compressible_m
private

◆ dirty_m

template<class T , unsigned Dim>
bool BareField< T, Dim >::dirty_m
private

◆ Gc

template<class T , unsigned Dim>
GuardCellSizes<Dim> BareField< T, Dim >::Gc
private

◆ Layout

template<class T , unsigned Dim>
Layout_t* BareField< T, Dim >::Layout
private

Definition at line 340 of file BareField.h.

Referenced by BareField< T, Dim >::getLayout().

◆ Locals_ac

template<class T , unsigned Dim>
ac_id_larray BareField< T, Dim >::Locals_ac
protected

◆ pinned

template<class T , unsigned Dim>
bool BareField< T, Dim >::pinned
private

Definition at line 357 of file BareField.h.


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