Xyce  6.1
Xyce::Nonlinear::Sensitivity Class Reference

#include <N_NLS_Sensitivity.h>

Inheritance diagram for Xyce::Nonlinear::Sensitivity:
Collaboration diagram for Xyce::Nonlinear::Sensitivity:

Public Member Functions

 Sensitivity (NonLinearSolver &nls_, Topo::Topology &top_, const IO::CmdParse &cp)
 
 ~Sensitivity ()
 
bool icSensitivity (std::vector< double > &objectiveVec, std::vector< double > &dOdpVec, std::vector< double > &dOdpAdjVec, std::vector< double > &scaled_dOdpVec, std::vector< double > &scaled_dOdpAdjVec)
 
int solve (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 loadSensitivityResiduals ()
 
bool calcObjFuncDerivs ()
 
bool setOptions (const Util::OptionBlock &OB)
 
bool setSensitivityOptions (const Util::OptionBlock &OB)
 
bool setTranOptions (const Util::OptionBlock &OB)
 
bool setHBOptions (const Util::OptionBlock &OB)
 
int getNumIterations () const
 
int getDebugLevel () const
 
bool getScreenOutputFlag () const
 
double getDebugMinTime () const
 
double getDebugMaxTime () const
 
int getDebugMinTimeStep () const
 
int getDebugMaxTimeStep () const
 
bool getMMFormat () 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 Xyce::Nonlinear::NonLinearSolver
 NonLinearSolver (const IO::CmdParse &cp)
 
virtual ~NonLinearSolver ()
 
virtual bool setLocaOptions (const Util::OptionBlock &OB)
 
virtual bool setTwoLevelLocaOptions (const Util::OptionBlock &OB)
 
virtual bool setTwoLevelOptions (const Util::OptionBlock &OB)
 
virtual bool setTwoLevelTranOptions (const Util::OptionBlock &OB)
 
virtual bool setPetraOptions (const Util::OptionBlock &OB)
 
virtual bool setDCOPRestartOptions (const Util::OptionBlock &OB)
 
virtual bool setICOptions (const Util::OptionBlock &OB)
 
virtual bool setNodeSetOptions (const Util::OptionBlock &OB)
 
bool registerRHSVector (Linear::Vector *ptr)
 
bool registerLoader (Loader::NonlinearEquationLoader *ptr)
 
bool registerLinearSystem (Linear::System *ptr)
 
bool registerTwoLevelSolver (TwoLevelNewton *ptr)
 
bool registerParamMgr (ParamMgr *ptr)
 
bool registerPrecondFactory (const Linear::PrecondFactory *ptr)
 
bool registerParallelMgr (N_PDS_Manager *pdsMgrPtr)
 
bool registerAnalysisManager (Analysis::AnalysisManager *tmp_anaIntPtr)
 
bool registerOutputMgr (IO::OutputMgr *outPtr)
 
bool registerInitialConditionsManager (IO::InitialConditionsManager *outPtr)
 
bool registerTIADataStore (TimeIntg::DataStore *tiaDSPtr)
 
virtual bool initializeAll ()
 
virtual int takeFirstSolveStep (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 ReturnCodes &retCodesTmp)
 
virtual bool enableSensitivity ()
 
virtual bool getMatrixFreeFlag ()
 
virtual void setMatrixFreeFlag (bool matrixFreeFlag)
 
void debugOutput1 (Linear::Matrix &jacobian, Linear::Vector &rhs)
 
void debugOutput3 (Linear::Vector &dxVector, Linear::Vector &xVector)
 
void debugOutputDAE ()
 
void debugOutputJDX_VOLTLIM ()
 
void setDebugFlags (int output_step_number, double time)
 
virtual bool applyJacobian (const Linear::Vector &input, Linear::Vector &result)
 

Private Attributes

int debugLevel_
 
int solutionSize_
 
bool solveDirectFlag_
 
bool solveAdjointFlag_
 
bool outputScaledFlag_
 
bool outputUnscaledFlag_
 
int maxParamStringSize_
 
bool stdOutputFlag_
 
bool fileOutputFlag_
 
bool dakotaFileOutputFlag_
 
bool forceFD_
 
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_
 
bool reuseFactors_
 
Linear::Vector * dOdXVectorPtr_
 
Linear::Vector * lambdaVectorPtr_
 
Linear::Vector * savedRHSVectorPtr_
 
Linear::Vector * savedNewtonVectorPtr_
 
Linear::Vector * origFVectorPtr_
 
Linear::Vector * pertFVectorPtr_
 
Linear::Vector * origQVectorPtr_
 
Linear::Vector * pertQVectorPtr_
 
Linear::Vector * origBVectorPtr_
 
Linear::Vector * pertBVectorPtr_
 
NonLinearSolvernls_
 
Topo::Topology & top_
 
Util::Expression * expPtr_
 
int numSensParams_
 
std::vector< std::string > paramNameVec_
 

Additional Inherited Members

- Protected Member Functions inherited from Xyce::Nonlinear::NonLinearSolver
const Analysis::AnalysisManagergetAnalysisManager () const
 
Analysis::AnalysisManagergetAnalysisManager ()
 
virtual void resetCountersAndTimers_ ()
 
virtual bool setX0_ ()
 
virtual bool rhs_ ()
 
virtual bool jacobian_ ()
 
virtual bool newton_ ()
 
virtual bool gradient_ ()
 
- Protected Attributes inherited from Xyce::Nonlinear::NonLinearSolver
const IO::CmdParse & commandLine_
 
std::string netlistFilename_
 
Linear::Vector ** nextSolVectorPtrPtr_
 
Linear::Vector ** currSolVectorPtrPtr_
 
Linear::Vector ** tmpSolVectorPtrPtr_
 
Linear::Vector * rhsVectorPtr_
 
Linear::Matrix * jacTestMatrixPtr_
 
Linear::Matrix * dFdxTestMatrixPtr_
 
Linear::Matrix * dQdxTestMatrixPtr_
 
Linear::Vector * dxVoltlimVectorPtr_
 
Linear::Vector * jdxVLVectorPtr_
 
Linear::Vector * fdxVLVectorPtr_
 
Linear::Vector * qdxVLVectorPtr_
 
Linear::Matrix * jacobianMatrixPtr_
 
Linear::Vector * gradVectorPtr_
 
Linear::Vector * NewtonVectorPtr_
 
Linear::Vector * solWtVectorPtr_
 
Linear::System * lasSysPtr_
 
Linear::Solver * lasSolverPtr_
 
RCP< Linear::Problem > lasProblemRCPtr_
 
const Linear::PrecondFactory * lasPrecPtr_
 
Util::OptionBlock * petraOptionBlockPtr_
 
Loader::NonlinearEquationLoaderloaderPtr_
 
TwoLevelNewtontlnPtr_
 
ParamMgrnonlinearParameterManager_
 
IO::OutputMgr * outMgrPtr_
 
IO::InitialConditionsManager * initialConditionsManager_
 
N_PDS_Manager * pdsMgrPtr_
 
TimeIntg::DataStoredsPtr_
 
int numJacobianLoads_
 
int numJacobianFactorizations_
 
int numLinearSolves_
 
int numFailedLinearSolves_
 
int numResidualLoads_
 
unsigned int totalNumLinearIters_
 
double totalLinearSolveTime_
 
double totalResidualLoadTime_
 
double totalJacobianLoadTime_
 
ReturnCodes retCodes_
 
bool matrixFreeFlag_
 
bool debugTimeFlag_
 
int contStep_
 

Detailed Description

Definition at line 80 of file N_NLS_Sensitivity.h.

Constructor & Destructor Documentation

Xyce::Nonlinear::Sensitivity::Sensitivity ( NonLinearSolver nls_,
Topo::Topology &  top_,
const IO::CmdParse &  cp 
)

Definition at line 94 of file N_NLS_Sensitivity.C.

Xyce::Nonlinear::Sensitivity::~Sensitivity ( )

Definition at line 179 of file N_NLS_Sensitivity.C.

Member Function Documentation

bool Xyce::Nonlinear::Sensitivity::calcObjFuncDerivs ( )

Definition at line 709 of file N_NLS_Sensitivity.C.

void Xyce::Nonlinear::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 Xyce::Nonlinear::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 Xyce::Nonlinear::Sensitivity::getContinuationStep ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 241 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::getDebugLevel ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 291 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::getDebugMaxTime ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 324 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::getDebugMaxTimeStep ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 344 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::getDebugMinTime ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 314 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::getDebugMinTimeStep ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 334 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::getMaxNormF ( ) const
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1467 of file N_NLS_Sensitivity.C.

int Xyce::Nonlinear::Sensitivity::getMaxNormFindex ( ) const
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1480 of file N_NLS_Sensitivity.C.

bool Xyce::Nonlinear::Sensitivity::getMMFormat ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 354 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::getNumIterations ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 233 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::getParameterNumber ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 249 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::getScreenOutputFlag ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 304 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::icSensitivity ( 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 368 of file N_NLS_Sensitivity.C.

bool Xyce::Nonlinear::Sensitivity::isFirstContinuationParam ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 257 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::isFirstSolveComplete ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 265 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::loadSensitivityResiduals ( )

Definition at line 957 of file N_NLS_Sensitivity.C.

void Xyce::Nonlinear::Sensitivity::setAnalysisMode ( AnalysisMode  mode)
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 278 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::setHBOptions ( const Util::OptionBlock &  OB)
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1453 of file N_NLS_Sensitivity.C.

bool Xyce::Nonlinear::Sensitivity::setOptions ( const Util::OptionBlock &  OB)
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1237 of file N_NLS_Sensitivity.C.

bool Xyce::Nonlinear::Sensitivity::setSensitivityOptions ( const Util::OptionBlock &  OB)

Definition at line 1332 of file N_NLS_Sensitivity.C.

bool Xyce::Nonlinear::Sensitivity::setTranOptions ( const Util::OptionBlock &  OB)
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1439 of file N_NLS_Sensitivity.C.

int Xyce::Nonlinear::Sensitivity::solve ( NonLinearSolver nlsTmpPtr = NULL)
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 97 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::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 448 of file N_NLS_Sensitivity.C.

int Xyce::Nonlinear::Sensitivity::solveAdjoint ( )

Definition at line 838 of file N_NLS_Sensitivity.C.

int Xyce::Nonlinear::Sensitivity::solveDirect ( )

Definition at line 579 of file N_NLS_Sensitivity.C.

void Xyce::Nonlinear::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

double Xyce::Nonlinear::Sensitivity::curValue_
private

Definition at line 191 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::dakotaFileOutputFlag_
private

Definition at line 174 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::debugLevel_
private

Definition at line 164 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::difference
private

Definition at line 179 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::dOdp_
private

Definition at line 193 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::dOdXVectorPtr_
private

Definition at line 199 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::expNumVars_
private

Definition at line 182 of file N_NLS_Sensitivity.h.

Util::Expression* Xyce::Nonlinear::Sensitivity::expPtr_
private

Definition at line 218 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::expVal_
private

Definition at line 188 of file N_NLS_Sensitivity.h.

std::vector<double> Xyce::Nonlinear::Sensitivity::expVarDerivs_
private

Definition at line 187 of file N_NLS_Sensitivity.h.

std::vector<int> Xyce::Nonlinear::Sensitivity::expVarGIDs_
private

Definition at line 184 of file N_NLS_Sensitivity.h.

std::vector<int> Xyce::Nonlinear::Sensitivity::expVarLocal_
private

Definition at line 185 of file N_NLS_Sensitivity.h.

std::vector<std::string> Xyce::Nonlinear::Sensitivity::expVarNames_
private

Definition at line 183 of file N_NLS_Sensitivity.h.

std::vector<double> Xyce::Nonlinear::Sensitivity::expVarVals_
private

Definition at line 186 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::fileOutputFlag_
private

Definition at line 173 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::forceFD_
private

Definition at line 175 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::lambdaVectorPtr_
private

Definition at line 201 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::maxParamStringSize_
private

Definition at line 170 of file N_NLS_Sensitivity.h.

NonLinearSolver& Xyce::Nonlinear::Sensitivity::nls_
private

Definition at line 214 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::numSensParams_
private

Definition at line 220 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::numSolves_
private

Definition at line 176 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::objFuncEval_
private

Definition at line 192 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::objFuncGIDsetup_
private

Definition at line 181 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::objFuncGiven_
private

Definition at line 180 of file N_NLS_Sensitivity.h.

std::string Xyce::Nonlinear::Sensitivity::objFuncString_
private

Definition at line 189 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::origBVectorPtr_
private

Definition at line 211 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::origFVectorPtr_
private

Definition at line 205 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::origQVectorPtr_
private

Definition at line 208 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::outputScaledFlag_
private

Definition at line 168 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::outputUnscaledFlag_
private

Definition at line 169 of file N_NLS_Sensitivity.h.

std::vector<std::string> Xyce::Nonlinear::Sensitivity::paramNameVec_
private

Definition at line 221 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::pertBVectorPtr_
private

Definition at line 212 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::pertFVectorPtr_
private

Definition at line 206 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::pertQVectorPtr_
private

Definition at line 209 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::reuseFactors_
private

Definition at line 197 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::savedNewtonVectorPtr_
private

Definition at line 203 of file N_NLS_Sensitivity.h.

Linear::Vector* Xyce::Nonlinear::Sensitivity::savedRHSVectorPtr_
private

Definition at line 202 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::solutionSize_
private

Definition at line 165 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::solveAdjointFlag_
private

Definition at line 167 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::solveDirectFlag_
private

Definition at line 166 of file N_NLS_Sensitivity.h.

double Xyce::Nonlinear::Sensitivity::sqrtEta_
private

Definition at line 194 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::sqrtEtaGiven_
private

Definition at line 195 of file N_NLS_Sensitivity.h.

bool Xyce::Nonlinear::Sensitivity::stdOutputFlag_
private

Definition at line 172 of file N_NLS_Sensitivity.h.

Topo::Topology& Xyce::Nonlinear::Sensitivity::top_
private

Definition at line 216 of file N_NLS_Sensitivity.h.


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