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_ANP_DCSweep.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_ANP_DCSweep.h,v $
27
//
28
// Purpose : DC sweep analysis class
29
//
30
// Special Notes : Specify any "hidden" or subtle details of the class here.
31
// Portability details, error handling information, etc.
32
//
33
// Creator : Richard Schiek, SNL, Electrical and Microsystem Modeling
34
//
35
// Creation Date : 01/24/08
36
//
37
// Revision Information:
38
// ---------------------
39
//
40
// Revision Number: $Revision: 1.24 $
41
//
42
// Revision Date : $Date: 2014/08/05 21:41:35 $
43
//
44
// Current Owner : $Author: dgbaur $
45
//-----------------------------------------------------------------------------
46
47
#ifndef Xyce_N_ANP_DCSweep_h
48
#define Xyce_N_ANP_DCSweep_h
49
50
// ---------- Xyce Includes ----------
51
#include <
N_ANP_fwd.h
>
52
53
#include <
N_ANP_AnalysisBase.h
>
54
55
namespace
Xyce {
56
namespace
Analysis {
57
58
//-------------------------------------------------------------------------
59
// Class : DCSweep
60
// Purpose : Transient analysis class
61
// Special Notes :
62
// Creator : Richard Schiek, SNL, Electrical and Microsystem Modeling
63
// Creation Date : 01/24/08
64
//-------------------------------------------------------------------------
65
class
DCSweep
:
public
AnalysisBase
66
{
67
public
:
68
DCSweep
(
AnalysisManager
&analysis_manager);
69
70
virtual
~DCSweep
();
71
72
bool
setAnalysisParams
(
const
N_UTL_OptionBlock & paramsBlock);
73
bool
outputFailureStats
(std::ostream &os);
74
75
void
setParamsWithOutputMgrAdapter
(
OutputMgrAdapter
& outputManagerAdapter)
76
{
77
outputManagerAdapter.
setDCParamVec
(
dcParamVec_
);
78
}
79
80
bool
getDCOPFlag
();
81
82
bool
run
();
83
bool
init
();
84
bool
loopProcess
();
85
bool
processSuccessfulStep
();
86
bool
processFailedStep
();
87
bool
finish
();
88
bool
handlePredictor
();
89
90
// Two Level specific
91
bool
twoLevelStep
();
92
93
void
dcSweepOutput
();
94
void
printStepHeader
(std::ostream &os);
95
bool
printLoopInfo
(
int
start,
int
finish
);
96
97
protected
:
98
99
private
:
100
void
initializeSolution_
();
101
void
takeStep_
();
102
103
public
:
104
protected
:
105
private
:
106
bool
dcLoopInitialized_
;
107
int
dcLoopSize_
;
108
109
std::list < int >
dcSweepFailures_
;
110
std::vector <SweepParam>
dcParamVec_
;
111
112
std::vector<double>
objectiveVec_
;
113
std::vector<double>
dOdpVec_
;
114
std::vector<double>
dOdpAdjVec_
;
115
std::vector<double>
scaled_dOdpVec_
;
116
std::vector<double>
scaled_dOdpAdjVec_
;
117
};
118
119
}
// namespace Analysis
120
}
// namespace Xyce
121
122
typedef
Xyce::Analysis::DCSweep
N_ANP_DCSweep
;
123
124
#endif
src
AnalysisPKG
include
N_ANP_DCSweep.h
Generated on Thu Sep 25 2014 15:20:21 for Xyce by
1.8.3.1