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)
 
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)
 
bool setNLPOptions (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 ()
 
bool getMatrixFreeFlag () const
 
void setMatrixFreeFlag (bool matrixFreeFlag)
 
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 setLinsolOptions (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)
 
virtual bool registerLinearSystem (Linear::System *ptr)
 
virtual bool registerAnalysisManager (Analysis::AnalysisManager *tmp_anaIntPtr)
 
virtual bool registerNonlinearEquationLoader (Loader::NonlinearEquationLoader *ptr)
 
virtual bool registerTIADataStore (TimeIntg::DataStore *ptr)
 
virtual bool registerParallelMgr (N_PDS_Manager *ptr)
 
bool registerRHSVector (Linear::Vector *ptr)
 
bool registerTwoLevelSolver (TwoLevelNewton *ptr)
 
bool registerParamMgr (ParamMgr *ptr)
 
bool registerPrecondFactory (const Linear::PrecondFactory *ptr)
 
bool registerOutputMgr (IO::OutputMgr *outPtr)
 
bool registerInitialConditionsManager (IO::InitialConditionsManager *outPtr)
 
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 ()
 
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)
 

Static Public Member Functions

static void populateMetadata (IO::PkgOptionsMgr &options_manager)
 

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_
 
bool objFuncGiven_
 
bool objFuncGIDsetup_
 
std::vector< objectiveFunctionData * > objFuncDataVec_
 
int difference
 
double sqrtEta_
 
bool sqrtEtaGiven_
 
bool reuseFactors_
 
Linear::Vector * lambdaVectorPtr_
 
Linear::Vector * savedRHSVectorPtr_
 
Linear::Vector * savedNewtonVectorPtr_
 
NonLinearSolvernls_
 
Topo::Topology & top_
 
int numSensParams_
 
int numObjectives_
 
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 * linsolOptionBlockPtr_
 
Loader::NonlinearEquationLoadernonlinearEquationLoader_
 
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 debugTimeFlag_
 
int contStep_
 

Detailed Description

Definition at line 113 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 98 of file N_NLS_Sensitivity.C.

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

Definition at line 160 of file N_NLS_Sensitivity.C.

Member Function Documentation

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

Definition at line 697 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 263 of file N_NLS_Sensitivity.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 256 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 306 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 339 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 359 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 329 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 349 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1169 of file N_NLS_Sensitivity.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1182 of file N_NLS_Sensitivity.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 369 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 248 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 264 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 319 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 341 of file N_NLS_Sensitivity.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 272 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 280 of file N_NLS_Sensitivity.h.

void Xyce::Nonlinear::Sensitivity::populateMetadata ( IO::PkgOptionsMgr &  options_manager)
static

Definition at line 1320 of file N_NLS_Sensitivity.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 293 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 172 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 173 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 956 of file N_NLS_Sensitivity.C.

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

Definition at line 1066 of file N_NLS_Sensitivity.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 171 of file N_NLS_Sensitivity.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 132 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 425 of file N_NLS_Sensitivity.C.

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

Definition at line 846 of file N_NLS_Sensitivity.C.

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

Definition at line 560 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 208 of file N_NLS_Sensitivity.C.

Member Data Documentation

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

Definition at line 211 of file N_NLS_Sensitivity.h.

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

Definition at line 201 of file N_NLS_Sensitivity.h.

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

Definition at line 220 of file N_NLS_Sensitivity.h.

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

Definition at line 210 of file N_NLS_Sensitivity.h.

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

Definition at line 212 of file N_NLS_Sensitivity.h.

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

Definition at line 226 of file N_NLS_Sensitivity.h.

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

Definition at line 207 of file N_NLS_Sensitivity.h.

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

Definition at line 230 of file N_NLS_Sensitivity.h.

int Xyce::Nonlinear::Sensitivity::numObjectives_
private

Definition at line 235 of file N_NLS_Sensitivity.h.

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

Definition at line 234 of file N_NLS_Sensitivity.h.

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

Definition at line 213 of file N_NLS_Sensitivity.h.

std::vector<objectiveFunctionData*> Xyce::Nonlinear::Sensitivity::objFuncDataVec_
private

Definition at line 217 of file N_NLS_Sensitivity.h.

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

Definition at line 216 of file N_NLS_Sensitivity.h.

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

Definition at line 215 of file N_NLS_Sensitivity.h.

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

Definition at line 205 of file N_NLS_Sensitivity.h.

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

Definition at line 206 of file N_NLS_Sensitivity.h.

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

Definition at line 236 of file N_NLS_Sensitivity.h.

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

Definition at line 224 of file N_NLS_Sensitivity.h.

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

Definition at line 228 of file N_NLS_Sensitivity.h.

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

Definition at line 227 of file N_NLS_Sensitivity.h.

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

Definition at line 202 of file N_NLS_Sensitivity.h.

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

Definition at line 204 of file N_NLS_Sensitivity.h.

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

Definition at line 203 of file N_NLS_Sensitivity.h.

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

Definition at line 221 of file N_NLS_Sensitivity.h.

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

Definition at line 222 of file N_NLS_Sensitivity.h.

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

Definition at line 209 of file N_NLS_Sensitivity.h.

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

Definition at line 232 of file N_NLS_Sensitivity.h.


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