Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
N_ANP_Dakota.C
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_Dakota.C,v $
27 // Purpose : Class for handling Dakota optimization analysis.
28 // Special Notes :
29 // Creator : Richard Schiek, SNL, Electrical and Microsystem Modeling
30 // Creation Date : 01/24/08
31 //
32 // Revision Information:
33 // ---------------------
34 // Revision Number: $Revision: 1.16.2.1 $
35 // Revision Date : $Date: 2014/08/26 22:31:06 $
36 // Current Owner : $Author: dgbaur $
37 //-----------------------------------------------------------------------------
38 #include <Xyce_config.h>
39 
40 #include <N_ANP_AnalysisManager.h>
41 #include <N_ANP_Dakota.h>
42 #include <N_ERH_ErrorMgr.h>
43 #include <N_UTL_Timer.h>
44 
45 namespace Xyce {
46 namespace Analysis {
47 
48 Dakota::Dakota( AnalysisManager &anaManagerPtr, AnalysisBase &anaType )
49  : AnalysisBase(anaManagerPtr),
50  mainAnalysis_(anaType)
51 {}
52 
54 
55 #ifndef Xyce_Dakota
56 
57 //-----------------------------------------------------------------------------
58 // Function : Dakota::run()
59 // Purpose : provide stub function here for linking and
60 // generate an error if they're called
61 // Special Notes :
62 // Scope : public
63 // Creator : Rich Schiek, SNL
64 // Creation Date :
65 //-----------------------------------------------------------------------------
67 {
68  Report::UserError() << "Dakota analysis requested in a non-Dakota enabled build of Xyce";
69  return false;
70 }
71 
72 #else
73 
74 //-----------------------------------------------------------------------------
75 // Function : Dakota::run()
76 // Purpose : This is the main controlling loop for Dakota analysis.
77 //
78 // Special Notes :
79 // Scope : public
80 // Creator : Eric Keiter, SNL
81 // Creation Date : 10/04/00
82 //-----------------------------------------------------------------------------
83 bool Dakota::run()
84 {
85  bool integration_status = false;
87  integration_status = mainAnalysis_.run();
88  return integration_status;
89 }
90 
91 #endif // Xyce_Dakota
92 
93 } // namespace Analysis
94 } // namespace Xyce