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 setNLPOptions (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 ()
 
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 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)
 

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 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
 
bool linearStatus_
 
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 * 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 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 133 of file N_NLS_DampedNewton.C.

Member Function Documentation

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

Definition at line 1415 of file N_NLS_DampedNewton.C.

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

Definition at line 1149 of file N_NLS_DampedNewton.C.

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

Definition at line 1736 of file N_NLS_DampedNewton.C.

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

Definition at line 1612 of file N_NLS_DampedNewton.C.

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

Definition at line 1041 of file N_NLS_DampedNewton.C.

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

Definition at line 1197 of file N_NLS_DampedNewton.C.

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

Definition at line 1529 of file N_NLS_DampedNewton.C.

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

Definition at line 1503 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1843 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 104 of file N_NLS_DampedNewton.h.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 107 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 1851 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 224 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 1835 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 1016 of file N_NLS_DampedNewton.C.

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

Definition at line 282 of file N_NLS_DampedNewton.C.

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

Definition at line 267 of file N_NLS_DampedNewton.C.

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

Definition at line 295 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 991 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 1774 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 187 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 205 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 152 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 170 of file N_NLS_DampedNewton.C.

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

Definition at line 1274 of file N_NLS_DampedNewton.C.

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

Definition at line 1334 of file N_NLS_DampedNewton.C.

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

Implements Xyce::Nonlinear::NonLinearSolver.

Definition at line 369 of file N_NLS_DampedNewton.C.

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

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 602 of file N_NLS_DampedNewton.C.

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

Reimplemented from Xyce::Nonlinear::NonLinearSolver.

Definition at line 817 of file N_NLS_DampedNewton.C.

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

Definition at line 315 of file N_NLS_DampedNewton.C.

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

Definition at line 974 of file N_NLS_DampedNewton.C.

Member Data Documentation

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

Definition at line 178 of file N_NLS_DampedNewton.h.

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

Definition at line 177 of file N_NLS_DampedNewton.h.

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

Definition at line 181 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 207 of file N_NLS_DampedNewton.h.

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

Definition at line 193 of file N_NLS_DampedNewton.h.

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

Definition at line 222 of file N_NLS_DampedNewton.h.

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

Definition at line 217 of file N_NLS_DampedNewton.h.

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

Definition at line 218 of file N_NLS_DampedNewton.h.

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

Definition at line 205 of file N_NLS_DampedNewton.h.

bool Xyce::Nonlinear::DampedNewton::linearStatus_
private

Definition at line 226 of file N_NLS_DampedNewton.h.

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

Definition at line 210 of file N_NLS_DampedNewton.h.

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

Definition at line 156 of file N_NLS_DampedNewton.h.

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

Definition at line 157 of file N_NLS_DampedNewton.h.

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

Definition at line 190 of file N_NLS_DampedNewton.h.

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

Definition at line 187 of file N_NLS_DampedNewton.h.

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

Constraint object pointer.

Definition at line 152 of file N_NLS_DampedNewton.h.

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

Definition at line 220 of file N_NLS_DampedNewton.h.

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

Definition at line 223 of file N_NLS_DampedNewton.h.

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

Definition at line 184 of file N_NLS_DampedNewton.h.

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

Definition at line 162 of file N_NLS_DampedNewton.h.

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

Definition at line 155 of file N_NLS_DampedNewton.h.

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

Definition at line 159 of file N_NLS_DampedNewton.h.

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

Definition at line 168 of file N_NLS_DampedNewton.h.

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

Definition at line 171 of file N_NLS_DampedNewton.h.

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

Convergence Rate.

Definition at line 146 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 200 of file N_NLS_DampedNewton.h.

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

Definition at line 196 of file N_NLS_DampedNewton.h.

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

Definition at line 174 of file N_NLS_DampedNewton.h.

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

Definition at line 224 of file N_NLS_DampedNewton.h.

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

Definition at line 203 of file N_NLS_DampedNewton.h.

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

Definition at line 165 of file N_NLS_DampedNewton.h.

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

Weighted convergence Rate.

Definition at line 149 of file N_NLS_DampedNewton.h.


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