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

#include <N_NLS_NonLinearSolver.h>

Inheritance diagram for N_NLS_NonLinearSolver:
Collaboration diagram for N_NLS_NonLinearSolver:

Public Member Functions

 N_NLS_NonLinearSolver (N_IO_CmdParse &cp)
 
virtual ~N_NLS_NonLinearSolver ()
 
virtual bool setOptions (const N_UTL_OptionBlock &OB)=0
 
virtual bool setTranOptions (const N_UTL_OptionBlock &OB)=0
 
virtual bool setHBOptions (const N_UTL_OptionBlock &OB)=0
 
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 solve (N_NLS_NonLinearSolver *nlsTmpPtr=NULL)=0
 
virtual int takeFirstSolveStep (N_NLS_NonLinearSolver *nlsTmpPtr=NULL)
 
virtual int takeOneSolveStep ()
 
virtual int getNumIterations () const =0
 
virtual bool isFirstContinuationParam () const =0
 
virtual bool isFirstSolveComplete () const =0
 
virtual int getContinuationStep () const =0
 
virtual int getParameterNumber () const =0
 
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 setAnalysisMode (AnalysisMode mode)=0
 
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 double getMaxNormF () const =0
 
virtual int getMaxNormFindex () const =0
 
virtual bool applyJacobian (const N_LAS_Vector &input, N_LAS_Vector &result)
 

Protected Member Functions

virtual void resetCountersAndTimers_ ()
 
virtual bool setX0_ ()
 
virtual bool rhs_ ()
 
virtual bool jacobian_ ()
 
virtual bool newton_ ()
 
virtual bool gradient_ ()
 

Protected Attributes

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_
 

Friends

class N_NLS_ConductanceExtractor
 
class N_NLS_Sensitivity
 
class N_NLS_TwoLevelNewton
 
class N_NLS_Manager
 

Detailed Description

Definition at line 102 of file N_NLS_NonLinearSolver.h.

Constructor & Destructor Documentation

N_NLS_NonLinearSolver::N_NLS_NonLinearSolver ( N_IO_CmdParse &  cp)

Definition at line 97 of file N_NLS_NonLinearSolver.C.

N_NLS_NonLinearSolver::~N_NLS_NonLinearSolver ( )
virtual

Definition at line 139 of file N_NLS_NonLinearSolver.C.

Member Function Documentation

bool N_NLS_NonLinearSolver::applyJacobian ( const N_LAS_Vector &  input,
N_LAS_Vector &  result 
)
virtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 989 of file N_NLS_NonLinearSolver.C.

virtual bool N_NLS_NonLinearSolver::enableSensitivity ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 172 of file N_NLS_NonLinearSolver.h.

virtual int N_NLS_NonLinearSolver::getContinuationStep ( ) const
pure virtual
TwoLevelNewtonMode N_NLS_NonLinearSolver::getCouplingMode ( )
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 1075 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::getLocaFlag ( )
inlinevirtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 416 of file N_NLS_NonLinearSolver.h.

bool N_NLS_NonLinearSolver::getMatrixFreeFlag ( )
virtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 1101 of file N_NLS_NonLinearSolver.C.

virtual double N_NLS_NonLinearSolver::getMaxNormF ( ) const
pure virtual
virtual int N_NLS_NonLinearSolver::getMaxNormFindex ( ) const
pure virtual
int N_NLS_NonLinearSolver::getNumFailedLinearSolves ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 297 of file N_NLS_NonLinearSolver.h.

virtual int N_NLS_NonLinearSolver::getNumIterations ( ) const
pure virtual
int N_NLS_NonLinearSolver::getNumJacobianFactorizations ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 306 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::getNumJacobianLoads ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 279 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::getNumLinearSolves ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 288 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::getNumResidualLoads ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 270 of file N_NLS_NonLinearSolver.h.

virtual int N_NLS_NonLinearSolver::getParameterNumber ( ) const
pure virtual
double N_NLS_NonLinearSolver::getTotalJacobianLoadTime ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 343 of file N_NLS_NonLinearSolver.h.

double N_NLS_NonLinearSolver::getTotalLinearSolveTime ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 325 of file N_NLS_NonLinearSolver.h.

unsigned int N_NLS_NonLinearSolver::getTotalNumLinearIters ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 316 of file N_NLS_NonLinearSolver.h.

double N_NLS_NonLinearSolver::getTotalResidualLoadTime ( )
inlinevirtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 334 of file N_NLS_NonLinearSolver.h.

bool N_NLS_NonLinearSolver::gradient_ ( )
protectedvirtual

Definition at line 1054 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::initializeAll ( )
virtual

Reimplemented in N_NLS_TwoLevelNewton, N_NLS_NOX::Interface, and N_NLS_DampedNewton.

Definition at line 467 of file N_NLS_NonLinearSolver.C.

virtual bool N_NLS_NonLinearSolver::isFirstContinuationParam ( ) const
pure virtual
virtual bool N_NLS_NonLinearSolver::isFirstSolveComplete ( ) const
pure virtual
bool N_NLS_NonLinearSolver::jacobian_ ( )
protectedvirtual

Definition at line 970 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::newton_ ( )
protectedvirtual

Reimplemented in N_NLS_DampedNewton.

Definition at line 1010 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerAnalysisInterface ( N_ANP_AnalysisInterface tmp_anaIntPtr)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 386 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerLinearSystem ( N_LAS_System *  ptr)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 341 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerLoader ( N_LOA_Loader *  ptr)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 325 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerOutputMgr ( N_IO_OutputMgr *  outPtr)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 400 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerParallelMgr ( N_PDS_Manager *  pdsMgrPtr)
virtual

Definition at line 371 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerParamMgr ( N_NLS_ParamMgr ptr)
virtual

Definition at line 432 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerPrecondFactory ( const RefCountPtr< N_LAS_PrecondFactory > &  ptr)
virtual

Definition at line 356 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerRHSVector ( N_LAS_Vector *  ptr)
virtual

Definition at line 310 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerTopology ( N_TOP_Topology *  ptr)
virtual

Definition at line 446 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::registerTwoLevelSolver ( N_NLS_TwoLevelNewton ptr)
virtual

Definition at line 416 of file N_NLS_NonLinearSolver.C.

void N_NLS_NonLinearSolver::resetAll ( AnalysisMode  mode)
inlinevirtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 371 of file N_NLS_NonLinearSolver.h.

void N_NLS_NonLinearSolver::resetCountersAndTimers_ ( )
protectedvirtual

Reimplemented in N_NLS_DampedNewton.

Definition at line 899 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::rhs_ ( )
protectedvirtual

Reimplemented in N_NLS_DampedNewton.

Definition at line 947 of file N_NLS_NonLinearSolver.C.

virtual void N_NLS_NonLinearSolver::setAnalysisMode ( AnalysisMode  mode)
pure virtual
bool N_NLS_NonLinearSolver::setDCOPRestartOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 208 of file N_NLS_NonLinearSolver.C.

virtual bool N_NLS_NonLinearSolver::setHBOptions ( const N_UTL_OptionBlock &  OB)
pure virtual
bool N_NLS_NonLinearSolver::setICOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 223 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::setLocaOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_NOX::Interface, and N_NLS_TwoLevelNewton.

Definition at line 253 of file N_NLS_NonLinearSolver.C.

void N_NLS_NonLinearSolver::setMatrixFreeFlag ( bool  matrixFreeFlag)
virtual

Definition at line 1088 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::setNodeSetOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_NOX::Interface.

Definition at line 238 of file N_NLS_NonLinearSolver.C.

virtual bool N_NLS_NonLinearSolver::setOptions ( const N_UTL_OptionBlock &  OB)
pure virtual
bool N_NLS_NonLinearSolver::setPetraOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 194 of file N_NLS_NonLinearSolver.C.

void N_NLS_NonLinearSolver::setReturnCodes ( const N_NLS_ReturnCodes retCodesTmp)
inlinevirtual

Definition at line 403 of file N_NLS_NonLinearSolver.h.

virtual bool N_NLS_NonLinearSolver::setTranOptions ( const N_UTL_OptionBlock &  OB)
pure virtual
bool N_NLS_NonLinearSolver::setTwoLevelLocaOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 268 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::setTwoLevelOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 283 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::setTwoLevelTranOptions ( const N_UTL_OptionBlock &  OB)
virtual

Reimplemented in N_NLS_TwoLevelNewton.

Definition at line 296 of file N_NLS_NonLinearSolver.C.

bool N_NLS_NonLinearSolver::setX0_ ( )
protectedvirtual

Definition at line 926 of file N_NLS_NonLinearSolver.C.

virtual int N_NLS_NonLinearSolver::solve ( N_NLS_NonLinearSolver nlsTmpPtr = NULL)
pure virtual
int N_NLS_NonLinearSolver::takeFirstSolveStep ( N_NLS_NonLinearSolver nlsTmpPtr = NULL)
inlinevirtual

Reimplemented in N_NLS_NOX::Interface, and N_NLS_DampedNewton.

Definition at line 353 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::takeOneSolveStep ( )
inlinevirtual

Reimplemented in N_NLS_NOX::Interface, and N_NLS_DampedNewton.

Definition at line 362 of file N_NLS_NonLinearSolver.h.

Friends And Related Function Documentation

friend class N_NLS_ConductanceExtractor
friend

Definition at line 253 of file N_NLS_NonLinearSolver.h.

friend class N_NLS_Manager
friend

Definition at line 256 of file N_NLS_NonLinearSolver.h.

friend class N_NLS_Sensitivity
friend

Definition at line 254 of file N_NLS_NonLinearSolver.h.

friend class N_NLS_TwoLevelNewton
friend

Definition at line 255 of file N_NLS_NonLinearSolver.h.

Member Data Documentation

N_ANP_AnalysisInterface* N_NLS_NonLinearSolver::anaIntPtr_
protected

Definition at line 232 of file N_NLS_NonLinearSolver.h.

N_IO_CmdParse& N_NLS_NonLinearSolver::commandLine_
protected

Definition at line 251 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::contStep_
protected

Definition at line 263 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector** N_NLS_NonLinearSolver::currSolVectorPtrPtr_
protected

Definition at line 208 of file N_NLS_NonLinearSolver.h.

bool N_NLS_NonLinearSolver::debugTimeFlag_
protected

Definition at line 261 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector* N_NLS_NonLinearSolver::gradVectorPtr_
protected

Definition at line 223 of file N_NLS_NonLinearSolver.h.

N_LAS_Matrix* N_NLS_NonLinearSolver::jacobianMatrixPtr_
protected

Definition at line 222 of file N_NLS_NonLinearSolver.h.

RefCountPtr<N_LAS_PrecondFactory> N_NLS_NonLinearSolver::lasPrecPtr_
protected

Definition at line 229 of file N_NLS_NonLinearSolver.h.

RefCountPtr<N_LAS_Problem> N_NLS_NonLinearSolver::lasProblemRCPtr_
protected

Definition at line 228 of file N_NLS_NonLinearSolver.h.

N_LAS_Solver* N_NLS_NonLinearSolver::lasSolverPtr_
protected

Definition at line 227 of file N_NLS_NonLinearSolver.h.

N_LAS_System* N_NLS_NonLinearSolver::lasSysPtr_
protected

Definition at line 226 of file N_NLS_NonLinearSolver.h.

N_LOA_Loader* N_NLS_NonLinearSolver::loaderPtr_
protected

Definition at line 231 of file N_NLS_NonLinearSolver.h.

bool N_NLS_NonLinearSolver::matrixFreeFlag_
protected

Definition at line 249 of file N_NLS_NonLinearSolver.h.

std::string N_NLS_NonLinearSolver::netlistFileName_
protected

Definition at line 206 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector* N_NLS_NonLinearSolver::NewtonVectorPtr_
protected

Definition at line 224 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector** N_NLS_NonLinearSolver::nextSolVectorPtrPtr_
protected

Definition at line 207 of file N_NLS_NonLinearSolver.h.

N_NLS_ParamMgr* N_NLS_NonLinearSolver::nlpMgrPtr_
protected

Definition at line 234 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::numFailedLinearSolves_
protected

Definition at line 242 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::numJacobianFactorizations_
protected

Definition at line 240 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::numJacobianLoads_
protected

Definition at line 239 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::numLinearSolves_
protected

Definition at line 241 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::numResidualLoads_
protected

Definition at line 243 of file N_NLS_NonLinearSolver.h.

N_IO_OutputMgr* N_NLS_NonLinearSolver::outMgrPtr_
protected

Definition at line 235 of file N_NLS_NonLinearSolver.h.

int N_NLS_NonLinearSolver::outputStepNumber_
protected

Definition at line 258 of file N_NLS_NonLinearSolver.h.

N_PDS_Manager* N_NLS_NonLinearSolver::pdsMgrPtr_
protected

Definition at line 237 of file N_NLS_NonLinearSolver.h.

N_UTL_OptionBlock* N_NLS_NonLinearSolver::petraOptionBlockPtr_
protected

Definition at line 230 of file N_NLS_NonLinearSolver.h.

N_NLS_ReturnCodes N_NLS_NonLinearSolver::retCodes_
protected

Definition at line 248 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector* N_NLS_NonLinearSolver::rhsVectorPtr_
protected

Definition at line 210 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector* N_NLS_NonLinearSolver::solWtVectorPtr_
protected

Definition at line 225 of file N_NLS_NonLinearSolver.h.

N_NLS_TwoLevelNewton* N_NLS_NonLinearSolver::tlnPtr_
protected

Definition at line 233 of file N_NLS_NonLinearSolver.h.

N_LAS_Vector** N_NLS_NonLinearSolver::tmpSolVectorPtrPtr_
protected

Definition at line 209 of file N_NLS_NonLinearSolver.h.

Teuchos::RefCountPtr<N_TOP_Topology> N_NLS_NonLinearSolver::topologyRcp_
protected

Definition at line 236 of file N_NLS_NonLinearSolver.h.

double N_NLS_NonLinearSolver::totalJacobianLoadTime_
protected

Definition at line 247 of file N_NLS_NonLinearSolver.h.

double N_NLS_NonLinearSolver::totalLinearSolveTime_
protected

Definition at line 245 of file N_NLS_NonLinearSolver.h.

unsigned int N_NLS_NonLinearSolver::totalNumLinearIters_
protected

Definition at line 244 of file N_NLS_NonLinearSolver.h.

double N_NLS_NonLinearSolver::totalResidualLoadTime_
protected

Definition at line 246 of file N_NLS_NonLinearSolver.h.


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