Xyce  6.1
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-2015 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.23 $
35 // Revision Date : $Date: 2015/04/08 19:18:20 $
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 #include <N_UTL_FeatureTest.h>
44 #include <N_UTL_Timer.h>
45 
46 namespace Xyce {
47 namespace Analysis {
48 
49 Dakota::Dakota( AnalysisManager &analysis_manager, AnalysisBase &analysis)
50  : AnalysisBase(analysis_manager, "Dakota"),
51  mainAnalysis_(analysis)
52 {}
53 
55 {}
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  if (Xyce::DAKOTA)
69  {
71  return mainAnalysis_.run();
72  }
73  else
74  {
75  Report::UserError() << "Dakota analysis requested in a non-Dakota enabled build of Xyce";
76  return false;
77  }
78 }
79 
80 } // namespace Analysis
81 } // namespace Xyce
Pure virtual class to augment a linear system.
AnalysisBase & mainAnalysis_
Definition: N_ANP_Dakota.h:83
virtual bool doRun()
Definition: N_ANP_Dakota.C:66
Dakota(AnalysisManager &anaManagerPtr, AnalysisBase &anaType)
Definition: N_ANP_Dakota.C:49