Public Member Functions | Private Member Functions | Private Attributes

QCAD::Solver Class Reference

Epetra-based Model Evaluator for QCAD solver. More...

#include <QCAD_Solver.hpp>

Collaboration diagram for QCAD::Solver:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ~Solver ()
Teuchos::RCP< const Epetra_Map > get_x_map () const
Teuchos::RCP< const Epetra_Map > get_f_map () const
Teuchos::RCP< const Epetra_Map > get_p_map (int l) const
Teuchos::RCP< const Epetra_Map > get_g_map (int j) const
Teuchos::RCP< const Epetra_Vector > get_x_init () const
Teuchos::RCP< const Epetra_Vector > get_p_init (int l) const
EpetraExt::ModelEvaluator::InArgs createInArgs () const
EpetraExt::ModelEvaluator::OutArgs createOutArgs () const
void evalModel (const InArgs &inArgs, const OutArgs &outArgs) const
Constructors/initializers

 Solver (const Teuchos::RCP< Teuchos::ParameterList > &appParams, const Teuchos::RCP< const Epetra_Comm > &comm, const Teuchos::RCP< const Epetra_Vector > &initial_guess)

Private Member Functions

Teuchos::RCP
< Teuchos::ParameterList > 
createPoissonInputFile (const Teuchos::RCP< Teuchos::ParameterList > &appParams, int numDims, int nEigen, const std::string &specialProcessing, const std::string &xmlOutputFile, const std::string &exoOutputFile) const
Teuchos::RCP
< Teuchos::ParameterList > 
createSchrodingerInputFile (const Teuchos::RCP< Teuchos::ParameterList > &appParams, int numDims, int nEigen, const std::string &specialProcessing, const std::string &xmlOutputFile, const std::string &exoOutputFile) const
Teuchos::RCP
< Teuchos::ParameterList > 
createPoissonSchrodingerInputFile (const Teuchos::RCP< Teuchos::ParameterList > &appParams, int numDims, int nEigen, const std::string &xmlOutputFile, const std::string &exoOutputFile) const
void evalPoissonSchrodingerModel (const InArgs &inArgs, const OutArgs &outArgs, std::vector< double > &eigenvalResponses, std::map< std::string, SolverSubSolver > &subSolvers) const
void evalPoissonCIModel (const InArgs &inArgs, const OutArgs &outArgs, std::vector< double > &eigenvalResponses, std::map< std::string, SolverSubSolver > &subSolvers) const
void evalCIModel (const InArgs &inArgs, const OutArgs &outArgs, std::vector< double > &eigenvalResponses, std::map< std::string, SolverSubSolver > &subSolvers) const
bool doPSLoop (const std::string &mode, const InArgs &inArgs, std::map< std::string, SolverSubSolver > &subSolvers, Teuchos::RCP< Albany::EigendataStruct > &eigenDataResult, bool bPrintNumOfQuantumElectrons) const
void setupParameterMapping (const Teuchos::ParameterList &list, const std::string &defaultSubSolver, const std::map< std::string, SolverSubSolverData > &subSolversData)
void setupResponseMapping (const Teuchos::ParameterList &list, const std::string &defaultSubSolver, int nEigenvalues, const std::map< std::string, SolverSubSolverData > &subSolversData)
void fillSingleSubSolverParams (const InArgs &inArgs, const std::string &name, QCAD::SolverSubSolver &subSolver, int nLeaveOffEnd=0) const
SolverSubSolver CreateSubSolver (const Teuchos::RCP< Teuchos::ParameterList > appParams, const Epetra_Comm &comm, const Teuchos::RCP< const Epetra_Vector > &initial_guess=Teuchos::null) const
SolverSubSolverData CreateSubSolverData (const QCAD::SolverSubSolver &sub) const
const Teuchos::RCP
< Teuchos::ParameterList > & 
getSubSolverParams (const std::string &name) const
Teuchos::RCP< const
Teuchos::ParameterList > 
getValidProblemParameters () const
void printResponses (const QCAD::SolverSubSolver &solver, const std::string &solverName, Teuchos::RCP< Teuchos::FancyOStream > out) const

Private Attributes

int numDims
std::string problemNameBase
std::string defaultSubSolver
Teuchos::RCP
< Teuchos::ParameterList > 
mainAppParams
std::map< std::string,
Teuchos::RCP
< Teuchos::ParameterList > > 
subProblemAppParams
std::vector< std::vector
< Teuchos::RCP< SolverParamFn > > > 
paramFnVecs
std::vector< Teuchos::RCP
< SolverResponseFn > > 
responseFns
std::size_t maxIter
std::size_t nParameters
std::size_t nResponseDoubles
std::string iterationMethod
int nEigenvectors
int num_p
int num_g
Teuchos::RCP< Epetra_LocalMap > epetra_param_map
Teuchos::RCP< Epetra_LocalMap > epetra_response_map
Teuchos::RCP< Epetra_Map > epetra_x_map
Teuchos::RCP< Epetra_Vector > epetra_param_vec
DerivativeSupport deriv_support
Teuchos::RCP< const Epetra_Comm > solverComm
Teuchos::RCP< const Epetra_Vector > saved_initial_guess
bool bVerbose
bool bSupportDpDg
bool bRealEvecs
std::string eigensolverName
double ps_converge_tol
double shiftPercentBelowMin
int minCIParticles
int maxCIParticles
int nCIParticles
int nCIExcitations
double fixedPSOcc
bool bUseIntegratedPS
bool bUseTotalSpinSymmetry

Detailed Description

Epetra-based Model Evaluator for QCAD solver.

Definition at line 52 of file QCAD_Solver.hpp.


Constructor & Destructor Documentation

QCAD::Solver::Solver ( const Teuchos::RCP< Teuchos::ParameterList > &  appParams,
const Teuchos::RCP< const Epetra_Comm > &  comm,
const Teuchos::RCP< const Epetra_Vector > &  initial_guess 
)

Definition at line 101 of file QCAD_Solver.cpp.

QCAD::Solver::~Solver (  ) 

Definition at line 356 of file QCAD_Solver.cpp.


Member Function Documentation

Teuchos::RCP< const Epetra_Map > QCAD::Solver::get_x_map (  )  const

Definition at line 1028 of file QCAD_Solver.cpp.

Teuchos::RCP< const Epetra_Map > QCAD::Solver::get_f_map (  )  const

Definition at line 1034 of file QCAD_Solver.cpp.

Teuchos::RCP< const Epetra_Map > QCAD::Solver::get_p_map ( int  l  )  const

Definition at line 1040 of file QCAD_Solver.cpp.

Teuchos::RCP< const Epetra_Map > QCAD::Solver::get_g_map ( int  j  )  const

Definition at line 1051 of file QCAD_Solver.cpp.

Teuchos::RCP< const Epetra_Vector > QCAD::Solver::get_x_init (  )  const

Definition at line 1064 of file QCAD_Solver.cpp.

Teuchos::RCP< const Epetra_Vector > QCAD::Solver::get_p_init ( int  l  )  const

Definition at line 1071 of file QCAD_Solver.cpp.

EpetraExt::ModelEvaluator::InArgs QCAD::Solver::createInArgs (  )  const

Definition at line 1086 of file QCAD_Solver.cpp.

EpetraExt::ModelEvaluator::OutArgs QCAD::Solver::createOutArgs (  )  const

Definition at line 1094 of file QCAD_Solver.cpp.

void QCAD::Solver::evalModel ( const InArgs &  inArgs,
const OutArgs &  outArgs 
) const

Definition at line 1114 of file QCAD_Solver.cpp.

Teuchos::RCP< Teuchos::ParameterList > QCAD::Solver::createPoissonInputFile ( const Teuchos::RCP< Teuchos::ParameterList > &  appParams,
int  numDims,
int  nEigen,
const std::string &  specialProcessing,
const std::string &  xmlOutputFile,
const std::string &  exoOutputFile 
) const [private]

Add source eigenvector indices as parameters

Add responses for each pair ( evec_i, evec_j )

Definition at line 362 of file QCAD_Solver.cpp.

Teuchos::RCP< Teuchos::ParameterList > QCAD::Solver::createSchrodingerInputFile ( const Teuchos::RCP< Teuchos::ParameterList > &  appParams,
int  numDims,
int  nEigen,
const std::string &  specialProcessing,
const std::string &  xmlOutputFile,
const std::string &  exoOutputFile 
) const [private]

Definition at line 714 of file QCAD_Solver.cpp.

Teuchos::RCP< Teuchos::ParameterList > QCAD::Solver::createPoissonSchrodingerInputFile ( const Teuchos::RCP< Teuchos::ParameterList > &  appParams,
int  numDims,
int  nEigen,
const std::string &  xmlOutputFile,
const std::string &  exoOutputFile 
) const [private]

Definition at line 891 of file QCAD_Solver.cpp.

void QCAD::Solver::evalPoissonSchrodingerModel ( const InArgs &  inArgs,
const OutArgs &  outArgs,
std::vector< double > &  eigenvalResponses,
std::map< std::string, SolverSubSolver > &  subSolvers 
) const [private]

Definition at line 1206 of file QCAD_Solver.cpp.

void QCAD::Solver::evalPoissonCIModel ( const InArgs &  inArgs,
const OutArgs &  outArgs,
std::vector< double > &  eigenvalResponses,
std::map< std::string, SolverSubSolver > &  subSolvers 
) const [private]

Definition at line 1441 of file QCAD_Solver.cpp.

void QCAD::Solver::evalCIModel ( const InArgs &  inArgs,
const OutArgs &  outArgs,
std::vector< double > &  eigenvalResponses,
std::map< std::string, SolverSubSolver > &  subSolvers 
) const [private]

Definition at line 1330 of file QCAD_Solver.cpp.

bool QCAD::Solver::doPSLoop ( const std::string &  mode,
const InArgs &  inArgs,
std::map< std::string, SolverSubSolver > &  subSolvers,
Teuchos::RCP< Albany::EigendataStruct > &  eigenDataResult,
bool  bPrintNumOfQuantumElectrons 
) const [private]

Definition at line 1658 of file QCAD_Solver.cpp.

void QCAD::Solver::setupParameterMapping ( const Teuchos::ParameterList &  list,
const std::string &  defaultSubSolver,
const std::map< std::string, SolverSubSolverData > &  subSolversData 
) [private]

Definition at line 1945 of file QCAD_Solver.cpp.

void QCAD::Solver::setupResponseMapping ( const Teuchos::ParameterList &  list,
const std::string &  defaultSubSolver,
int  nEigenvalues,
const std::map< std::string, SolverSubSolverData > &  subSolversData 
) [private]

Definition at line 1985 of file QCAD_Solver.cpp.

void QCAD::Solver::fillSingleSubSolverParams ( const InArgs &  inArgs,
const std::string &  name,
QCAD::SolverSubSolver subSolver,
int  nLeaveOffEnd = 0 
) const [private]

Definition at line 2012 of file QCAD_Solver.cpp.

QCAD::SolverSubSolver QCAD::Solver::CreateSubSolver ( const Teuchos::RCP< Teuchos::ParameterList >  appParams,
const Epetra_Comm &  comm,
const Teuchos::RCP< const Epetra_Vector > &  initial_guess = Teuchos::null 
) const [private]

Create solver factory, which reads xml input filen

Create solver and application objects via solver factory

Definition at line 2034 of file QCAD_Solver.cpp.

QCAD::SolverSubSolverData QCAD::Solver::CreateSubSolverData ( const QCAD::SolverSubSolver sub  )  const [private]

Definition at line 2098 of file QCAD_Solver.cpp.

const Teuchos::RCP< Teuchos::ParameterList > & QCAD::Solver::getSubSolverParams ( const std::string &  name  )  const [private]

Definition at line 2027 of file QCAD_Solver.cpp.

Teuchos::RCP< const Teuchos::ParameterList > QCAD::Solver::getValidProblemParameters (  )  const [private]

Definition at line 2160 of file QCAD_Solver.cpp.

void QCAD::Solver::printResponses ( const QCAD::SolverSubSolver solver,
const std::string &  solverName,
Teuchos::RCP< Teuchos::FancyOStream >  out 
) const [private]

Definition at line 2134 of file QCAD_Solver.cpp.


Member Data Documentation

int QCAD::Solver::numDims [private]

Definition at line 122 of file QCAD_Solver.hpp.

std::string QCAD::Solver::problemNameBase [private]

Definition at line 123 of file QCAD_Solver.hpp.

std::string QCAD::Solver::defaultSubSolver [private]

Definition at line 124 of file QCAD_Solver.hpp.

Teuchos::RCP<Teuchos::ParameterList> QCAD::Solver::mainAppParams [private]

Definition at line 125 of file QCAD_Solver.hpp.

std::map<std::string, Teuchos::RCP<Teuchos::ParameterList> > QCAD::Solver::subProblemAppParams [private]

Definition at line 126 of file QCAD_Solver.hpp.

std::vector< std::vector<Teuchos::RCP<SolverParamFn> > > QCAD::Solver::paramFnVecs [private]

Definition at line 128 of file QCAD_Solver.hpp.

std::vector<Teuchos::RCP<SolverResponseFn> > QCAD::Solver::responseFns [private]

Definition at line 129 of file QCAD_Solver.hpp.

std::size_t QCAD::Solver::maxIter [private]

Definition at line 131 of file QCAD_Solver.hpp.

std::size_t QCAD::Solver::nParameters [private]

Definition at line 132 of file QCAD_Solver.hpp.

std::size_t QCAD::Solver::nResponseDoubles [private]

Definition at line 133 of file QCAD_Solver.hpp.

std::string QCAD::Solver::iterationMethod [private]

Definition at line 135 of file QCAD_Solver.hpp.

Definition at line 136 of file QCAD_Solver.hpp.

int QCAD::Solver::num_p [private]

Definition at line 138 of file QCAD_Solver.hpp.

int QCAD::Solver::num_g [private]

Definition at line 138 of file QCAD_Solver.hpp.

Teuchos::RCP<Epetra_LocalMap> QCAD::Solver::epetra_param_map [private]

Definition at line 139 of file QCAD_Solver.hpp.

Teuchos::RCP<Epetra_LocalMap> QCAD::Solver::epetra_response_map [private]

Definition at line 140 of file QCAD_Solver.hpp.

Teuchos::RCP<Epetra_Map> QCAD::Solver::epetra_x_map [private]

Definition at line 141 of file QCAD_Solver.hpp.

Teuchos::RCP<Epetra_Vector> QCAD::Solver::epetra_param_vec [private]

Definition at line 143 of file QCAD_Solver.hpp.

DerivativeSupport QCAD::Solver::deriv_support [private]

Definition at line 144 of file QCAD_Solver.hpp.

Teuchos::RCP<const Epetra_Comm> QCAD::Solver::solverComm [private]

Definition at line 146 of file QCAD_Solver.hpp.

Teuchos::RCP<const Epetra_Vector> QCAD::Solver::saved_initial_guess [private]

Definition at line 147 of file QCAD_Solver.hpp.

bool QCAD::Solver::bVerbose [private]

Definition at line 149 of file QCAD_Solver.hpp.

Definition at line 150 of file QCAD_Solver.hpp.

bool QCAD::Solver::bRealEvecs [private]

Definition at line 151 of file QCAD_Solver.hpp.

std::string QCAD::Solver::eigensolverName [private]

Definition at line 153 of file QCAD_Solver.hpp.

Definition at line 154 of file QCAD_Solver.hpp.

Definition at line 155 of file QCAD_Solver.hpp.

Definition at line 156 of file QCAD_Solver.hpp.

Definition at line 157 of file QCAD_Solver.hpp.

Definition at line 158 of file QCAD_Solver.hpp.

Definition at line 159 of file QCAD_Solver.hpp.

double QCAD::Solver::fixedPSOcc [private]

Definition at line 160 of file QCAD_Solver.hpp.

Definition at line 161 of file QCAD_Solver.hpp.

Definition at line 162 of file QCAD_Solver.hpp.


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