Xyce  6.1
Xyce::Nonlinear::DampedNewton Class Reference

#include <N_NLS_DampedNewton.h>

Inheritance diagram for Xyce::Nonlinear::DampedNewton:
Collaboration diagram for Xyce::Nonlinear::DampedNewton:

Public Member Functions

 DampedNewton (const IO::CmdParse &cp)
 
 ~DampedNewton ()
 
bool setOptions (const Util::OptionBlock &OB)
 
bool setTranOptions (const Util::OptionBlock &OB)
 
bool setHBOptions (const Util::OptionBlock &OB)
 
bool initializeAll ()
 
int solve (NonLinearSolver *nlsTmpPtr=NULL)
 
int takeFirstSolveStep (NonLinearSolver *nlsTmpPtr=NULL)
 
int takeOneSolveStep ()
 
int getNumIterations () const
 
int getDebugLevel () const
 
bool getScreenOutputFlag () const
 
double getDebugMinTime () const
 
double getDebugMaxTime () const
 
int getDebugMinTimeStep () const
 
int getDebugMaxTimeStep () const
 
bool getMMFormat () const
 
int getContinuationStep () const
 
int getParameterNumber () const
 
bool isFirstContinuationParam () const
 
bool isFirstSolveComplete () const
 
void setAnalysisMode (AnalysisMode mode)
 
double getMaxNormF () const
 
int getMaxNormFindex () const
 
- 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 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 Member Functions

void updateWeights_ ()
 
void printHeader_ (std::ostream &os)
 
void printFooter_ (std::ostream &os)
 
void printStepInfo_ (std::ostream &os, int step)
 
bool rhs_ ()
 
bool newton_ ()
 
void direction_ ()
 
void updateX_ ()
 
bool computeStepLength_ ()
 
bool divide_ ()
 
bool backtrack_ ()
 
bool fullNewton_ ()
 
bool spiceNewton_ ()
 
bool bankRose_ ()
 
bool descent_ ()
 
bool simpleBacktrack_ ()
 
bool simpleBt_ (double gsinit, double finit)
 
double constrain_ ()
 
void setForcing_ (const double)
 
void evalModNewton_ ()
 
int converged_ ()
 
void resetCountersAndTimers_ ()
 

Private Attributes

double resConvRate_
 Convergence Rate. More...
 
double wtUpdateConvRate_
 Weighted convergence Rate. More...
 
ConstraintBTnlConstraintPtr_
 Constraint object pointer. More...
 
double normRHS_
 
double maxNormRHS_
 
int maxNormRHSindex_
 
double normRHS_init_
 
double normDX_
 
double wtNormDX_
 
double normRHS_rel_
 
double normSoln_
 
double stepLength_
 
double BTUpper_
 
double BTLower_
 
double constraintFactor_
 
unsigned nlStep_
 
unsigned newtonStep_
 
unsigned modNewtonStep_
 
unsigned descentStep_
 
unsigned searchStep_
 
Linear::Vector * searchDirectionPtr_
 Pointer to direction vector. More...
 
Linear::Vector * tmpVectorPtr_
 
int iNumCalls_
 
double delta_
 
bool loadJacobianFlag_
 
bool firstTime
 
double initialDeltaXTol
 
NLParams nlParams
 
double etaOld
 
double nlResNormOld
 
double tmpConvRate
 
int count
 

Additional Inherited Members

- Protected Member Functions inherited from Xyce::Nonlinear::NonLinearSolver
const Analysis::AnalysisManagergetAnalysisManager () const
 
Analysis::AnalysisManagergetAnalysisManager ()
 
virtual bool setX0_ ()
 
virtual bool jacobian_ ()
 
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 67 of file N_NLS_DampedNewton.h.

Constructor & Destructor Documentation

Xyce::Nonlinear::DampedNewton::DampedNewton ( const IO::CmdParse &  cp)

Definition at line 86 of file N_NLS_DampedNewton.C.

Xyce::Nonlinear::DampedNewton::~DampedNewton ( )

Definition at line 132 of file N_NLS_DampedNewton.C.

Member Function Documentation

bool Xyce::Nonlinear::DampedNewton::backtrack_ ( )
private

Definition at line 1414 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::bankRose_ ( )
private

Definition at line 1887 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::computeStepLength_ ( )
private

Definition at line 1138 of file N_NLS_DampedNewton.C.

double Xyce::Nonlinear::DampedNewton::constrain_ ( )
private

Definition at line 1776 of file N_NLS_DampedNewton.C.

int Xyce::Nonlinear::DampedNewton::converged_ ( )
private

Definition at line 1654 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::descent_ ( )
private

Definition at line 1902 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::direction_ ( )
private

Definition at line 1030 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::divide_ ( )
private

Definition at line 1196 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::evalModNewton_ ( )
private

Definition at line 1571 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::fullNewton_ ( )
private

Definition at line 1502 of file N_NLS_DampedNewton.C.

int Xyce::Nonlinear::DampedNewton::getContinuationStep ( ) const
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1919 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 246 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 276 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 296 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 266 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 286 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::getMaxNormF ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 103 of file N_NLS_DampedNewton.h.

int Xyce::Nonlinear::DampedNewton::getMaxNormFindex ( ) const
inlinevirtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 106 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 306 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 236 of file N_NLS_DampedNewton.h.

int Xyce::Nonlinear::DampedNewton::getParameterNumber ( ) const
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1927 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 256 of file N_NLS_DampedNewton.h.

bool Xyce::Nonlinear::DampedNewton::initializeAll ( )
virtual

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 205 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::isFirstContinuationParam ( ) const
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1911 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 344 of file N_NLS_DampedNewton.h.

bool Xyce::Nonlinear::DampedNewton::newton_ ( )
privatevirtual

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 1005 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::printFooter_ ( std::ostream &  os)
private

Definition at line 263 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::printHeader_ ( std::ostream &  os)
private

Definition at line 248 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::printStepInfo_ ( std::ostream &  os,
int  step 
)
private

Definition at line 276 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::resetCountersAndTimers_ ( )
inlineprivatevirtual

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 333 of file N_NLS_DampedNewton.h.

bool Xyce::Nonlinear::DampedNewton::rhs_ ( )
privatevirtual

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 980 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 324 of file N_NLS_DampedNewton.h.

void Xyce::Nonlinear::DampedNewton::setForcing_ ( const double  nlResNorm)
private

Definition at line 1814 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 186 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 151 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 169 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::simpleBacktrack_ ( )
private

Definition at line 1273 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::simpleBt_ ( double  gsinit,
double  finit 
)
private

Definition at line 1333 of file N_NLS_DampedNewton.C.

int Xyce::Nonlinear::DampedNewton::solve ( NonLinearSolver nlsTmpPtr = NULL)
virtual

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 350 of file N_NLS_DampedNewton.C.

bool Xyce::Nonlinear::DampedNewton::spiceNewton_ ( )
private

Definition at line 1531 of file N_NLS_DampedNewton.C.

int Xyce::Nonlinear::DampedNewton::takeFirstSolveStep ( NonLinearSolver nlsTmpPtr = NULL)
virtual

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 591 of file N_NLS_DampedNewton.C.

int Xyce::Nonlinear::DampedNewton::takeOneSolveStep ( )
virtual

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 806 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::updateWeights_ ( )
private

Definition at line 296 of file N_NLS_DampedNewton.C.

void Xyce::Nonlinear::DampedNewton::updateX_ ( )
private

Definition at line 963 of file N_NLS_DampedNewton.C.

Member Data Documentation

double Xyce::Nonlinear::DampedNewton::BTLower_
private

Definition at line 180 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::BTUpper_
private

Definition at line 179 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::constraintFactor_
private

Definition at line 183 of file N_NLS_DampedNewton.h.

int Xyce::Nonlinear::DampedNewton::count
private

Definition at line 228 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::delta_
private

Definition at line 209 of file N_NLS_DampedNewton.h.

unsigned Xyce::Nonlinear::DampedNewton::descentStep_
private

Definition at line 195 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::etaOld
private

Definition at line 224 of file N_NLS_DampedNewton.h.

bool Xyce::Nonlinear::DampedNewton::firstTime
private

Definition at line 219 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::initialDeltaXTol
private

Definition at line 220 of file N_NLS_DampedNewton.h.

int Xyce::Nonlinear::DampedNewton::iNumCalls_
private

Definition at line 207 of file N_NLS_DampedNewton.h.

bool Xyce::Nonlinear::DampedNewton::loadJacobianFlag_
private

Definition at line 212 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::maxNormRHS_
private

Definition at line 158 of file N_NLS_DampedNewton.h.

int Xyce::Nonlinear::DampedNewton::maxNormRHSindex_
private

Definition at line 159 of file N_NLS_DampedNewton.h.

unsigned Xyce::Nonlinear::DampedNewton::modNewtonStep_
private

Definition at line 192 of file N_NLS_DampedNewton.h.

unsigned Xyce::Nonlinear::DampedNewton::newtonStep_
private

Definition at line 189 of file N_NLS_DampedNewton.h.

ConstraintBT* Xyce::Nonlinear::DampedNewton::nlConstraintPtr_
private

Constraint object pointer.

Definition at line 154 of file N_NLS_DampedNewton.h.

NLParams Xyce::Nonlinear::DampedNewton::nlParams
private

Definition at line 222 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::nlResNormOld
private

Definition at line 225 of file N_NLS_DampedNewton.h.

unsigned Xyce::Nonlinear::DampedNewton::nlStep_
private

Definition at line 186 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::normDX_
private

Definition at line 164 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::normRHS_
private

Definition at line 157 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::normRHS_init_
private

Definition at line 161 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::normRHS_rel_
private

Definition at line 170 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::normSoln_
private

Definition at line 173 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::resConvRate_
private

Convergence Rate.

Definition at line 148 of file N_NLS_DampedNewton.h.

Linear::Vector* Xyce::Nonlinear::DampedNewton::searchDirectionPtr_
private

Pointer to direction vector.

Todo:
Is this vector internal or external?? Is it allocated or just a pointer??

Definition at line 202 of file N_NLS_DampedNewton.h.

unsigned Xyce::Nonlinear::DampedNewton::searchStep_
private

Definition at line 198 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::stepLength_
private

Definition at line 176 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::tmpConvRate
private

Definition at line 226 of file N_NLS_DampedNewton.h.

Linear::Vector* Xyce::Nonlinear::DampedNewton::tmpVectorPtr_
private

Definition at line 205 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::wtNormDX_
private

Definition at line 167 of file N_NLS_DampedNewton.h.

double Xyce::Nonlinear::DampedNewton::wtUpdateConvRate_
private

Weighted convergence Rate.

Definition at line 151 of file N_NLS_DampedNewton.h.


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