Xyce  6.1
N_NLS_SensitivityResiduals.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-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_NLS_SensitivityResiduals.h,v $
27 //
28 // Purpose : This file contains the sensitivity class. It mostly
29 // manages the calculations of direct (and possibly later,
30 // adjoint) sensitivities.
31 //
32 // Special Notes : The main reason that this class is derived from
33 // N_NLS_NonLinearSolver is that this class needs to
34 // do a series of linear solves, using the jacobian
35 // matrix. This seemed similar enough to the requirements
36 // of a nonlinear solver to have one derived off the other.
37 //
38 // Creator : Eric Keiter, SNL, Parallel Computational Sciences
39 //
40 // Creation Date : 06/15/2015
41 //
42 // Revision Information:
43 // ---------------------
44 //
45 // Revision Number: $Revision: 1.1 $
46 //
47 // Revision Date : $Date: 2015/07/11 23:40:30 $
48 //
49 // Current Owner : $Author: erkeite $
50 //-------------------------------------------------------------------------
51 
52 #ifndef Xyce_N_NLS_SensitivityResiduals_h
53 #define Xyce_N_NLS_SensitivityResiduals_h
54 
55 #include<vector>
56 
57 #include <N_UTL_fwd.h>
58 #include <N_PDS_fwd.h>
59 #include <N_TOP_fwd.h>
60 
61 #include <N_ANP_AnalysisManager.h>
62 #include <N_TIA_DataStore.h>
64 
65 
66 namespace Xyce {
67 namespace Nonlinear {
68 
70 {
75 };
76 
77 bool loadSensitivityResiduals(int difference, bool forceFD_, double sqrtEta_, std::string & netlistFilename_,
79  Loader::NonlinearEquationLoader & nonlinearEquationLoader_,
80  const std::vector<std::string> & paramNameVec_,
82  );
83 
84 } // namespace Nonlinear
85 } // namespace Xyce
86 
87 #endif // Xyce_N_NLS_SensitivityResiduals_h
88 
bool loadSensitivityResiduals(int difference, bool forceFD_, double sqrtEta_, std::string &netlistFilename_, TimeIntg::DataStore &ds, Loader::NonlinearEquationLoader &nonlinearEquationLoader_, const std::vector< std::string > &paramNameVec_, const Analysis::AnalysisManager &analysisManager_)
Pure virtual class to augment a linear system.
AnalysisManager & analysisManager_
Definition: N_ANP_AC.C:960