Xyce
6.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
N_DEV_Op.h
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------
2
// Copyright Notice
3
//
4
// Copyright 2002 Sandia Corporation. Under the terms
5
// of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
6
// Government retains certain rights in this software.
7
//
8
// Xyce(TM) Parallel Electrical Simulator
9
// Copyright (C) 2002-2014 Sandia Corporation
10
//
11
// This program is free software: you can redistribute it and/or modify
12
// it under the terms of the GNU General Public License as published by
13
// the Free Software Foundation, either version 3 of the License, or
14
// (at your option) any later version.
15
//
16
// This program is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU General Public License for more details.
20
//
21
// You should have received a copy of the GNU General Public License
22
// along with this program. If not, see <http://www.gnu.org/licenses/>.
23
//-----------------------------------------------------------------------------
24
25
//-----------------------------------------------------------------------------
26
// Filename : $RCSfile: N_DEV_Op.h,v $
27
//
28
// Purpose : Generate global id structures and proc maps
29
// and distribute nodes to processors
30
//
31
// Special Notes :
32
//
33
// Creator : Robert J. Hoekstra, SNL, Parallel Computational Sciences
34
//
35
// Creation Date : 10/10/00
36
//
37
// Revision Information:
38
// ---------------------
39
//
40
// Revision Number: $Revision: 1.3 $
41
//
42
// Revision Date : $Date: 2014/08/08 20:02:37 $
43
//
44
// Current Owner : $Author: dgbaur $
45
//-----------------------------------------------------------------------------
46
47
#ifndef Xyce_N_DEV_Op_h
48
#define Xyce_N_DEV_Op_h
49
50
#include <iterator>
51
52
#include <
N_DEV_fwd.h
>
53
#include <N_UTL_Op.h>
54
55
namespace
Xyce {
56
namespace
Device {
57
58
class
DeviceMgrGlobalParameterOp
:
public
Util::Op::Op<DeviceMgrGlobalParameterOp, Util::Op::ReduceNone, Util::Op::EvalNoop>
59
{
60
public
:
61
DeviceMgrGlobalParameterOp
(
const
std::string &name,
const
DeviceMgr
&device_manager,
const
std::string &device_parameter_name)
62
: Base(name),
63
deviceManager_
(device_manager),
64
deviceParameterName_
(device_parameter_name)
65
{}
66
67
virtual
~DeviceMgrGlobalParameterOp
()
68
{}
69
70
static
complex
get
(
const
DeviceMgrGlobalParameterOp
&op,
const
Util::Op::OpData &op_data);
71
72
const
std::string
deviceParameterName_
;
73
const
DeviceMgr
&
deviceManager_
;
74
};
75
76
class
DeviceEntityParameterOp
:
public
Util::Op::Op<DeviceEntityParameterOp, Util::Op::ReduceSum, Util::Op::EvalNoop>
77
{
78
public
:
79
DeviceEntityParameterOp
(
const
std::string &name,
const
DeviceEntity
&device_entity,
const
std::string &device_parameter_name)
80
: Base(name),
81
deviceEntity_
(device_entity),
82
deviceParameterName_
(device_parameter_name)
83
{}
84
85
86
virtual
~DeviceEntityParameterOp
()
87
{}
88
89
static
complex
get
(
const
DeviceEntityParameterOp
&op,
const
Util::Op::OpData &op_data);
90
91
const
std::string
deviceParameterName_
;
92
const
DeviceEntity
&
deviceEntity_
;
93
};
94
95
class
DeviceMgrParameterOp
:
public
Util::Op::Op<DeviceMgrParameterOp, Util::Op::ReduceNone, Util::Op::EvalNoop>
96
{
97
public
:
98
DeviceMgrParameterOp
(
const
std::string &name,
const
DeviceMgr
&device_manager,
const
std::string &device_parameter_name)
99
: Base(name),
100
deviceManager_
(device_manager),
101
deviceParameterName_
(device_parameter_name)
102
{}
103
104
105
virtual
~DeviceMgrParameterOp
()
106
{}
107
108
static
complex
get
(
const
DeviceMgrParameterOp
&op,
const
Util::Op::OpData &op_data);
109
110
const
std::string
deviceParameterName_
;
111
const
DeviceMgr
&
deviceManager_
;
112
};
113
114
}
// namespace Device
115
}
// namespace Xyce
116
117
#endif // Xyce_N_DEV_Op_h
src
DeviceModelPKG
Core
include
N_DEV_Op.h
Generated on Thu Sep 25 2014 15:20:28 for Xyce by
1.8.3.1