Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
N_NLS_Sensitivity Class Reference

#include <N_NLS_Sensitivity.h>

Inheritance diagram for N_NLS_Sensitivity:
Collaboration diagram for N_NLS_Sensitivity:

Public Member Functions

 N_NLS_Sensitivity (N_NLS_NonLinearSolver &nls_, N_TOP_Topology &top_, N_IO_CmdParse &cp)
 
 ~N_NLS_Sensitivity ()
 
int solve (N_NLS_NonLinearSolver *nlsTmpPtr=NULL)
 
int solve (std::vector< double > &objectiveVec, std::vector< double > &dOdpVec, std::vector< double > &dOdpAdjVec, std::vector< double > &scaled_dOdpVec, std::vector< double > &scaled_dOdpAdjVec)
 
int solveDirect ()
 
int solveAdjoint ()
 
void stdOutput (std::string idString, std::vector< double > &paramVals, std::vector< double > &sensitivities, std::vector< double > &scaled_sensitivities)
 
void fileOutput (std::string idString, std::vector< double > &paramVals, std::vector< double > &sensitivities, std::vector< double > &scaled_sensitivities)
 
void dakOutput (std::string idString, std::vector< double > &paramVals, std::vector< double > &sensitivities, std::vector< double > &scaled_sensitivities)
 
bool calcSensitivities ()
 
bool calcObjFuncDerivs ()
 
bool setOptions (const N_UTL_OptionBlock &OB)
 
bool setSensitivityOptions (const N_UTL_OptionBlock &OB)
 
bool setTranOptions (const N_UTL_OptionBlock &OB)
 
bool setHBOptions (const N_UTL_OptionBlock &OB)
 
int getNumIterations () const
 
double getMaxNormF () const
 
int getMaxNormFindex () const
 
int getContinuationStep () const
 
int getParameterNumber () const
 
bool isFirstContinuationParam () const
 
bool isFirstSolveComplete () const
 
void setAnalysisMode (AnalysisMode mode)
 
- Public Member Functions inherited from N_NLS_NonLinearSolver
 N_NLS_NonLinearSolver (N_IO_CmdParse &cp)
 
virtual ~N_NLS_NonLinearSolver ()
 
virtual bool setLocaOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setTwoLevelLocaOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setTwoLevelOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setTwoLevelTranOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setPetraOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setDCOPRestartOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setICOptions (const N_UTL_OptionBlock &OB)
 
virtual bool setNodeSetOptions (const N_UTL_OptionBlock &OB)
 
virtual bool registerRHSVector (N_LAS_Vector *ptr)
 
virtual bool registerLoader (N_LOA_Loader *ptr)
 
virtual bool registerLinearSystem (N_LAS_System *ptr)
 
virtual bool registerTwoLevelSolver (N_NLS_TwoLevelNewton *ptr)
 
virtual bool registerParamMgr (N_NLS_ParamMgr *ptr)
 
virtual bool registerTopology (N_TOP_Topology *ptr)
 
virtual bool registerPrecondFactory (const RefCountPtr< N_LAS_PrecondFactory > &ptr)
 
virtual bool registerParallelMgr (N_PDS_Manager *pdsMgrPtr)
 
virtual bool registerAnalysisInterface (N_ANP_AnalysisInterface *tmp_anaIntPtr)
 
virtual bool registerOutputMgr (N_IO_OutputMgr *outPtr)
 
virtual bool initializeAll ()
 
virtual int takeFirstSolveStep (N_NLS_NonLinearSolver *nlsTmpPtr=NULL)
 
virtual int takeOneSolveStep ()
 
virtual bool getLocaFlag ()
 
virtual int getNumResidualLoads ()
 
virtual int getNumJacobianLoads ()
 
virtual int getNumLinearSolves ()
 
virtual int getNumFailedLinearSolves ()
 
virtual int getNumJacobianFactorizations ()
 
virtual unsigned int getTotalNumLinearIters ()
 
virtual double getTotalLinearSolveTime ()
 
virtual double getTotalResidualLoadTime ()
 
virtual double getTotalJacobianLoadTime ()
 
virtual TwoLevelNewtonMode getCouplingMode ()
 
virtual void resetAll (AnalysisMode mode)
 
virtual void setReturnCodes (const N_NLS_ReturnCodes &retCodesTmp)
 
virtual bool enableSensitivity ()
 
virtual bool getMatrixFreeFlag ()
 
virtual void setMatrixFreeFlag (bool matrixFreeFlag)
 
virtual bool applyJacobian (const N_LAS_Vector &input, N_LAS_Vector &result)
 

Private Attributes

bool allocateddXVec_
 
int debugLevel_
 
int solutionSize_
 
bool solveDirectFlag_
 
bool solveAdjointFlag_
 
bool outputScaledFlag_
 
bool outputUnscaledFlag_
 
int maxParamStringSize_
 
bool stdOutputFlag_
 
bool fileOutputFlag_
 
bool dakotaFileOutputFlag_
 
int numSolves_
 
int difference
 
bool objFuncGiven_
 
bool objFuncGIDsetup_
 
int expNumVars_
 
std::vector< std::string > expVarNames_
 
std::vector< int > expVarGIDs_
 
std::vector< int > expVarLocal_
 
std::vector< double > expVarVals_
 
std::vector< double > expVarDerivs_
 
double expVal_
 
std::string objFuncString_
 
double curValue_
 
double objFuncEval_
 
double dOdp_
 
double sqrtEta_
 
bool sqrtEtaGiven_
 
std::vector< N_LAS_Vector * > dfdpPtrVector_
 
std::vector< N_LAS_Vector * > dXdpPtrVector_
 
N_LAS_Vector * dOdXVectorPtr_
 
std::vector< double > dOdpVec_
 
std::vector< double > dOdpAdjVec_
 
std::vector< double > scaled_dOdpVec_
 
std::vector< double > scaled_dOdpAdjVec_
 
std::vector< double > paramOrigVals_
 
N_LAS_Vector * lambdaVectorPtr_
 
N_LAS_Vector * savedRHSVectorPtr_
 
N_LAS_Vector * savedNewtonVectorPtr_
 
N_LAS_Vector * origFVectorPtr_
 
N_LAS_Vector * pertFVectorPtr_
 
N_LAS_Vector * testFVectorPtr_
 
N_NLS_NonLinearSolvernls_
 
N_TOP_Topology & top_
 
N_UTL_Expression * expPtr_
 
int numSensParams_
 
std::vector< std::string > paramNameVec_
 

Additional Inherited Members

- Protected Member Functions inherited from N_NLS_NonLinearSolver
virtual void resetCountersAndTimers_ ()
 
virtual bool setX0_ ()
 
virtual bool rhs_ ()
 
virtual bool jacobian_ ()
 
virtual bool newton_ ()
 
virtual bool gradient_ ()
 
- Protected Attributes inherited from N_NLS_NonLinearSolver
std::string netlistFileName_
 
N_LAS_Vector ** nextSolVectorPtrPtr_
 
N_LAS_Vector ** currSolVectorPtrPtr_
 
N_LAS_Vector ** tmpSolVectorPtrPtr_
 
N_LAS_Vector * rhsVectorPtr_
 
N_LAS_Matrix * jacobianMatrixPtr_
 
N_LAS_Vector * gradVectorPtr_
 
N_LAS_Vector * NewtonVectorPtr_
 
N_LAS_Vector * solWtVectorPtr_
 
N_LAS_System * lasSysPtr_
 
N_LAS_Solver * lasSolverPtr_
 
RefCountPtr< N_LAS_Problem > lasProblemRCPtr_
 
RefCountPtr< N_LAS_PrecondFactory > lasPrecPtr_
 
N_UTL_OptionBlock * petraOptionBlockPtr_
 
N_LOA_Loader * loaderPtr_
 
N_ANP_AnalysisInterfaceanaIntPtr_
 
N_NLS_TwoLevelNewtontlnPtr_
 
N_NLS_ParamMgrnlpMgrPtr_
 
N_IO_OutputMgr * outMgrPtr_
 
Teuchos::RefCountPtr
< N_TOP_Topology > 
topologyRcp_
 
N_PDS_Manager * pdsMgrPtr_
 
int numJacobianLoads_
 
int numJacobianFactorizations_
 
int numLinearSolves_
 
int numFailedLinearSolves_
 
int numResidualLoads_
 
unsigned int totalNumLinearIters_
 
double totalLinearSolveTime_
 
double totalResidualLoadTime_
 
double totalJacobianLoadTime_
 
N_NLS_ReturnCodes retCodes_
 
bool matrixFreeFlag_
 
N_IO_CmdParse & commandLine_
 
int outputStepNumber_
 
bool debugTimeFlag_
 
int contStep_
 

Detailed Description

Definition at line 76 of file N_NLS_Sensitivity.h.

Constructor & Destructor Documentation

N_NLS_Sensitivity::N_NLS_Sensitivity ( N_NLS_NonLinearSolver nls_,
N_TOP_Topology &  top_,
N_IO_CmdParse &  cp 
)

Definition at line 98 of file N_NLS_Sensitivity.C.

N_NLS_Sensitivity::~N_NLS_Sensitivity ( )

Definition at line 168 of file N_NLS_Sensitivity.C.

Member Function Documentation

bool N_NLS_Sensitivity::calcObjFuncDerivs ( )

Definition at line 609 of file N_NLS_Sensitivity.C.

bool N_NLS_Sensitivity::calcSensitivities ( )

Definition at line 857 of file N_NLS_Sensitivity.C.

void N_NLS_Sensitivity::dakOutput ( std::string  idString,
std::vector< double > &  paramVals,
std::vector< double > &  sensitivities,
std::vector< double > &  scaled_sensitivities 
)

Definition at line 327 of file N_NLS_Sensitivity.C.

void N_NLS_Sensitivity::fileOutput ( std::string  idString,
std::vector< double > &  paramVals,
std::vector< double > &  sensitivities,
std::vector< double > &  scaled_sensitivities 
)

Definition at line 291 of file N_NLS_Sensitivity.C.

int N_NLS_Sensitivity::getContinuationStep ( ) const
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 238 of file N_NLS_Sensitivity.h.

double N_NLS_Sensitivity::getMaxNormF ( ) const
virtual

Implements N_NLS_NonLinearSolver.

Definition at line 1240 of file N_NLS_Sensitivity.C.

int N_NLS_Sensitivity::getMaxNormFindex ( ) const
virtual

Implements N_NLS_NonLinearSolver.

Definition at line 1253 of file N_NLS_Sensitivity.C.

int N_NLS_Sensitivity::getNumIterations ( ) const
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 229 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::getParameterNumber ( ) const
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 246 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::isFirstContinuationParam ( ) const
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 254 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::isFirstSolveComplete ( ) const
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 262 of file N_NLS_Sensitivity.h.

void N_NLS_Sensitivity::setAnalysisMode ( AnalysisMode  mode)
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 275 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::setHBOptions ( const N_UTL_OptionBlock &  OB)
virtual

Implements N_NLS_NonLinearSolver.

Definition at line 1226 of file N_NLS_Sensitivity.C.

bool N_NLS_Sensitivity::setOptions ( const N_UTL_OptionBlock &  OB)
virtual

Implements N_NLS_NonLinearSolver.

Definition at line 1010 of file N_NLS_Sensitivity.C.

bool N_NLS_Sensitivity::setSensitivityOptions ( const N_UTL_OptionBlock &  OB)

Definition at line 1113 of file N_NLS_Sensitivity.C.

bool N_NLS_Sensitivity::setTranOptions ( const N_UTL_OptionBlock &  OB)
virtual

Implements N_NLS_NonLinearSolver.

Definition at line 1212 of file N_NLS_Sensitivity.C.

int N_NLS_Sensitivity::solve ( N_NLS_NonLinearSolver nlsTmpPtr = NULL)
inlinevirtual

Implements N_NLS_NonLinearSolver.

Definition at line 85 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::solve ( std::vector< double > &  objectiveVec,
std::vector< double > &  dOdpVec,
std::vector< double > &  dOdpAdjVec,
std::vector< double > &  scaled_dOdpVec,
std::vector< double > &  scaled_dOdpAdjVec 
)

Definition at line 366 of file N_NLS_Sensitivity.C.

int N_NLS_Sensitivity::solveAdjoint ( )

Definition at line 754 of file N_NLS_Sensitivity.C.

int N_NLS_Sensitivity::solveDirect ( )

Definition at line 490 of file N_NLS_Sensitivity.C.

void N_NLS_Sensitivity::stdOutput ( std::string  idString,
std::vector< double > &  paramVals,
std::vector< double > &  sensitivities,
std::vector< double > &  scaled_sensitivities 
)

Definition at line 243 of file N_NLS_Sensitivity.C.

Member Data Documentation

bool N_NLS_Sensitivity::allocateddXVec_
private

Definition at line 158 of file N_NLS_Sensitivity.h.

double N_NLS_Sensitivity::curValue_
private

Definition at line 185 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::dakotaFileOutputFlag_
private

Definition at line 169 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::debugLevel_
private

Definition at line 159 of file N_NLS_Sensitivity.h.

std::vector<N_LAS_Vector*> N_NLS_Sensitivity::dfdpPtrVector_
private

Definition at line 191 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::difference
private

Definition at line 173 of file N_NLS_Sensitivity.h.

double N_NLS_Sensitivity::dOdp_
private

Definition at line 187 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::dOdpAdjVec_
private

Definition at line 196 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::dOdpVec_
private

Definition at line 195 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::dOdXVectorPtr_
private

Definition at line 194 of file N_NLS_Sensitivity.h.

std::vector<N_LAS_Vector*> N_NLS_Sensitivity::dXdpPtrVector_
private

Definition at line 192 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::expNumVars_
private

Definition at line 176 of file N_NLS_Sensitivity.h.

N_UTL_Expression* N_NLS_Sensitivity::expPtr_
private

Definition at line 214 of file N_NLS_Sensitivity.h.

double N_NLS_Sensitivity::expVal_
private

Definition at line 182 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::expVarDerivs_
private

Definition at line 181 of file N_NLS_Sensitivity.h.

std::vector<int> N_NLS_Sensitivity::expVarGIDs_
private

Definition at line 178 of file N_NLS_Sensitivity.h.

std::vector<int> N_NLS_Sensitivity::expVarLocal_
private

Definition at line 179 of file N_NLS_Sensitivity.h.

std::vector<std::string> N_NLS_Sensitivity::expVarNames_
private

Definition at line 177 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::expVarVals_
private

Definition at line 180 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::fileOutputFlag_
private

Definition at line 168 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::lambdaVectorPtr_
private

Definition at line 203 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::maxParamStringSize_
private

Definition at line 165 of file N_NLS_Sensitivity.h.

N_NLS_NonLinearSolver& N_NLS_Sensitivity::nls_
private

Definition at line 210 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::numSensParams_
private

Definition at line 216 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::numSolves_
private

Definition at line 170 of file N_NLS_Sensitivity.h.

double N_NLS_Sensitivity::objFuncEval_
private

Definition at line 186 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::objFuncGIDsetup_
private

Definition at line 175 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::objFuncGiven_
private

Definition at line 174 of file N_NLS_Sensitivity.h.

std::string N_NLS_Sensitivity::objFuncString_
private

Definition at line 183 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::origFVectorPtr_
private

Definition at line 206 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::outputScaledFlag_
private

Definition at line 163 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::outputUnscaledFlag_
private

Definition at line 164 of file N_NLS_Sensitivity.h.

std::vector<std::string> N_NLS_Sensitivity::paramNameVec_
private

Definition at line 217 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::paramOrigVals_
private

Definition at line 201 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::pertFVectorPtr_
private

Definition at line 207 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::savedNewtonVectorPtr_
private

Definition at line 205 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::savedRHSVectorPtr_
private

Definition at line 204 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::scaled_dOdpAdjVec_
private

Definition at line 199 of file N_NLS_Sensitivity.h.

std::vector<double> N_NLS_Sensitivity::scaled_dOdpVec_
private

Definition at line 198 of file N_NLS_Sensitivity.h.

int N_NLS_Sensitivity::solutionSize_
private

Definition at line 160 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::solveAdjointFlag_
private

Definition at line 162 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::solveDirectFlag_
private

Definition at line 161 of file N_NLS_Sensitivity.h.

double N_NLS_Sensitivity::sqrtEta_
private

Definition at line 188 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::sqrtEtaGiven_
private

Definition at line 189 of file N_NLS_Sensitivity.h.

bool N_NLS_Sensitivity::stdOutputFlag_
private

Definition at line 167 of file N_NLS_Sensitivity.h.

N_LAS_Vector* N_NLS_Sensitivity::testFVectorPtr_
private

Definition at line 208 of file N_NLS_Sensitivity.h.

N_TOP_Topology& N_NLS_Sensitivity::top_
private

Definition at line 212 of file N_NLS_Sensitivity.h.


The documentation for this class was generated from the following files: