OPAL (Object Oriented Parallel Accelerator Library)
2024.2
OPAL
Mesh.hpp
Go to the documentation of this file.
1
// -*- C++ -*-
2
/***************************************************************************
3
*
4
* The IPPL Framework
5
*
6
* This program was prepared by PSI.
7
* All rights in the program are reserved by PSI.
8
* Neither PSI nor the author(s)
9
* makes any warranty, express or implied, or assumes any liability or
10
* responsibility for the use of this software
11
*
12
* Visit www.amas.web.psi for more details
13
*
14
***************************************************************************/
15
16
// -*- C++ -*-
17
/***************************************************************************
18
*
19
* The IPPL Framework
20
*
21
*
22
* Visit http://people.web.psi.ch/adelmann/ for more details
23
*
24
***************************************************************************/
25
26
// include files
27
#include "
Meshes/Mesh.h
"
28
29
// static member data
30
template
<
unsigned
int
Dim>
31
std::string
Mesh<Dim>::MeshBC_E_Names
[3] = {
"Reflective"
,
"Periodic "
,
"No BC "
};
32
33
35
// default constructor for Mesh
36
template
<
unsigned
int
Dim>
37
Mesh<Dim>::Mesh
() { }
38
39
41
// destructor for Mesh
42
template
<
unsigned
int
Dim>
43
Mesh<Dim>::~Mesh
() { }
44
45
47
// notify all the registered FieldLayoutUser's that this Mesh has
48
// changed. This is done by called the 'Repartition' virtual function
49
// in FieldLayoutUser
50
template
<
unsigned
int
Dim>
51
void
Mesh<Dim>::notifyOfChange
() {
52
// Repartition each registered user.
53
for
(
iterator_if
p=
begin_if
(); p!=
end_if
(); ++p) {
54
FieldLayoutUser
*user = (
FieldLayoutUser
*)((*p).second);
55
user->
Repartition
(
this
);
56
}
57
}
58
59
60
/***************************************************************************
61
* $RCSfile: Mesh.cpp,v $ $Author: adelmann $
62
* $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:28 $
63
* IPPL_VERSION_ID: $Id: Mesh.cpp,v 1.1.1.1 2003/01/23 07:40:28 adelmann Exp $
64
***************************************************************************/
FieldLayoutUser
Definition
FieldLayoutUser.h:27
FieldLayoutUser::Repartition
virtual void Repartition(UserList *)=0
Mesh::iterator_if
iterator_user iterator_if
Definition
ippl/src/Meshes/Mesh.h:40
Mesh::Mesh
Mesh()
Definition
Mesh.hpp:37
Mesh::~Mesh
virtual ~Mesh()
Definition
Mesh.hpp:43
Mesh::begin_if
iterator_if begin_if()
Definition
ippl/src/Meshes/Mesh.h:98
Mesh::end_if
iterator_if end_if()
Definition
ippl/src/Meshes/Mesh.h:99
Mesh::MeshBC_E_Names
static std::string MeshBC_E_Names[3]
Definition
ippl/src/Meshes/Mesh.h:47
Mesh::notifyOfChange
void notifyOfChange()
Definition
Mesh.hpp:51
Mesh.h