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.13 $
35 // Revision Date : $Date: 2014/02/24 23:49:12 $
36 // Current Owner : $Author: tvrusso $
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 
44 namespace Xyce {
45 namespace Analysis {
46 
47 #ifndef Xyce_Dakota
48 
49 //-----------------------------------------------------------------------------
50 // Function : Dakota::run()
51 // Purpose : provide stub function here for linking and
52 // generate an error if they're called
53 // Special Notes :
54 // Scope : public
55 // Creator : Rich Schiek, SNL
56 // Creation Date :
57 //-----------------------------------------------------------------------------
59 {
60  std::string msg;
61  msg = "Dakota::run() - Dakota analysis requested in a non-Dakota enabled build of Xyce";
62  N_ERH_ErrorMgr::report(N_ERH_ErrorMgr::DEV_FATAL_0, msg);
63  return false;
64 }
65 
66 #else
67 
68 //-----------------------------------------------------------------------------
69 // Function : Dakota::run()
70 // Purpose : This is the main controlling loop for Dakota analysis.
71 //
72 // Special Notes :
73 // Scope : public
74 // Creator : Eric Keiter, SNL
75 // Creation Date : 10/04/00
76 //-----------------------------------------------------------------------------
77 bool Dakota::run()
78 {
79  bool integration_status = false;
80  mainAnalysisRCPtr_->resetForStepAnalysis();
81  integration_status = mainAnalysisRCPtr_->run();
82  return integration_status;
83 }
84 
85 #endif // Xyce_Dakota
86 
87 } // namespace Analysis
88 } // namespace Xyce