OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Mesh< Dim > Class Template Reference

#include <Mesh.h>

Inheritance diagram for Mesh< Dim >:
Collaboration diagram for Mesh< Dim >:

Public Types

enum  { Dimension = Dim }
typedef UserList::ID_t ID_t
typedef iterator_user iterator_if
typedef size_type_user size_type_if

Public Member Functions

 Mesh ()
virtual ~Mesh ()
ID_t get_Id () const
void checkin (FieldLayoutUser &f)
void checkout (FieldLayoutUser &f)
size_type_if size_if () const
iterator_if begin_if ()
iterator_if end_if ()
void notifyOfChange ()

Static Public Attributes

static std::string MeshBC_E_Names [3]

Private Types

typedef User::ID_t Key
typedef vmap< Key, User * > UserList_t
typedef UserList_t::iterator iterator_user
typedef UserList_t::size_type size_type_user

Private Member Functions

size_type_user getNumUsers () const
ID_t getUserListID () const
bool haveUser (Key key) const
UsergetUser (Key key)
iterator_user begin_user ()
iterator_user end_user ()
virtual ID_t checkinUser (User &user)
virtual void checkoutUser (Key key, bool informuser=false)
virtual void checkoutUser (const User &user, bool informuser=false)

Private Attributes

UserList_t userlist
ID_t userlistID

Detailed Description

template<unsigned Dim>
class Mesh< Dim >

Definition at line 35 of file ippl/src/Meshes/Mesh.h.

Member Typedef Documentation

◆ ID_t

template<unsigned Dim>
typedef UserList::ID_t Mesh< Dim >::ID_t

Definition at line 39 of file ippl/src/Meshes/Mesh.h.

◆ iterator_if

template<unsigned Dim>
typedef iterator_user Mesh< Dim >::iterator_if

Definition at line 40 of file ippl/src/Meshes/Mesh.h.

◆ iterator_user

Definition at line 43 of file UserList.h.

◆ Key

typedef User::ID_t UserList::Key
inherited

Definition at line 41 of file UserList.h.

◆ size_type_if

template<unsigned Dim>
typedef size_type_user Mesh< Dim >::size_type_if

Definition at line 41 of file ippl/src/Meshes/Mesh.h.

◆ size_type_user

Definition at line 45 of file UserList.h.

◆ UserList_t

typedef vmap<Key, User *> UserList::UserList_t
inherited

Definition at line 42 of file UserList.h.

Member Enumeration Documentation

◆ anonymous enum

template<unsigned Dim>
anonymous enum
Enumerator
Dimension 

Definition at line 44 of file ippl/src/Meshes/Mesh.h.

Constructor & Destructor Documentation

◆ Mesh()

template<unsigned int Dim>
Mesh< Dim >::Mesh ( )

Definition at line 37 of file Mesh.hpp.

◆ ~Mesh()

template<unsigned int Dim>
Mesh< Dim >::~Mesh ( )
virtual

Definition at line 43 of file Mesh.hpp.

Member Function Documentation

◆ begin_if()

template<unsigned Dim>
iterator_if Mesh< Dim >::begin_if ( )
inline

Definition at line 98 of file ippl/src/Meshes/Mesh.h.

References UserList::begin_user().

Referenced by notifyOfChange().

Here is the call graph for this function:

◆ begin_user()

UserList::iterator_user UserList::begin_user ( )
inherited

◆ checkin()

template<unsigned Dim>
void Mesh< Dim >::checkin ( FieldLayoutUser & f)
inline

Definition at line 89 of file ippl/src/Meshes/Mesh.h.

References UserList::checkinUser().

Here is the call graph for this function:

◆ checkinUser()

UserList::ID_t UserList::checkinUser ( User & user)
virtualinherited

Definition at line 109 of file UserList.cpp.

References User::get_Id(), haveUser(), userlist, and userlistID.

Referenced by FieldLayout< Dim >::checkin(), Mesh< Dim >::checkin(), and RegionLayout< T, Dim, Mesh >::checkin().

Here is the call graph for this function:

◆ checkout()

template<unsigned Dim>
void Mesh< Dim >::checkout ( FieldLayoutUser & f)
inline

Definition at line 94 of file ippl/src/Meshes/Mesh.h.

References UserList::checkoutUser().

Here is the call graph for this function:

◆ checkoutUser() [1/2]

void UserList::checkoutUser ( const User & user,
bool informuser = false )
virtualinherited

Definition at line 138 of file UserList.cpp.

References checkoutUser(), and User::get_Id().

Here is the call graph for this function:

◆ checkoutUser() [2/2]

void UserList::checkoutUser ( Key key,
bool informuser = false )
virtualinherited

Definition at line 124 of file UserList.cpp.

References end_user(), and userlist.

Referenced by FieldLayout< Dim >::checkout(), Mesh< Dim >::checkout(), RegionLayout< T, Dim, Mesh >::checkout(), and checkoutUser().

Here is the call graph for this function:

◆ end_if()

template<unsigned Dim>
iterator_if Mesh< Dim >::end_if ( )
inline

Definition at line 99 of file ippl/src/Meshes/Mesh.h.

References UserList::end_user().

Referenced by notifyOfChange().

Here is the call graph for this function:

◆ end_user()

◆ get_Id()

template<unsigned Dim>
ID_t Mesh< Dim >::get_Id ( ) const
inline

Definition at line 84 of file ippl/src/Meshes/Mesh.h.

References UserList::getUserListID().

Here is the call graph for this function:

◆ getNumUsers()

UserList::size_type_user UserList::getNumUsers ( ) const
inherited

Definition at line 47 of file UserList.cpp.

References userlist.

Referenced by FieldLayout< Dim >::read(), FieldLayout< 1U >::size_if(), and Mesh< Dim >::size_if().

◆ getUser()

User & UserList::getUser ( Key key)
inherited

Definition at line 68 of file UserList.cpp.

◆ getUserListID()

◆ haveUser()

bool UserList::haveUser ( Key key) const
inherited

Definition at line 61 of file UserList.cpp.

References userlist.

Referenced by checkinUser().

◆ notifyOfChange()

template<unsigned int Dim>
void Mesh< Dim >::notifyOfChange ( )

Definition at line 51 of file Mesh.hpp.

References begin_if(), end_if(), and FieldLayoutUser::Repartition().

Referenced by Cartesian< Dim, MFLOAT >::set_meshSpacing(), UniformCartesian< Dim, MFLOAT >::set_meshSpacing(), Cartesian< Dim, MFLOAT >::set_origin(), and UniformCartesian< Dim, MFLOAT >::set_origin().

Here is the call graph for this function:

◆ size_if()

template<unsigned Dim>
size_type_if Mesh< Dim >::size_if ( ) const
inline

Definition at line 97 of file ippl/src/Meshes/Mesh.h.

References UserList::getNumUsers().

Here is the call graph for this function:

Member Data Documentation

◆ MeshBC_E_Names

template<unsigned Dim>
std::string Mesh< Dim >::MeshBC_E_Names[3]
static

Definition at line 47 of file ippl/src/Meshes/Mesh.h.

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

◆ userlist

◆ userlistID

ID_t UserList::userlistID
privateinherited

Definition at line 103 of file UserList.h.

Referenced by checkinUser(), getUserListID(), and UserList().


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