#include <QCAD_GreensFunctionTunneling.hpp>
Public Member Functions | |
GreensFunctionTunnelingSolver (const Teuchos::RCP< std::vector< double > > &EcValues_, const Teuchos::RCP< std::vector< double > > &pathLen_, int nGFPts_, double ptSpacing_, double effMass_, const Teuchos::RCP< const Epetra_Comm > &Comm_, const std::string &outputFilename, bool bNeumannBC_=true) | |
~GreensFunctionTunnelingSolver () | |
double | computeCurrent (double Vds, double kbT, double Ecutoff_offset_from_Emax, bool bUseAnasazi) |
void | computeCurrentRange (const std::vector< double > Vds, double kbT, double Ecutoff_offset_from_Emax, std::vector< double > &resultingCurrent, bool bUseAnasazi) |
Private Member Functions | |
double | f0 (double x) const |
bool | doMatrixDiag_Anasazi (double Vds, std::vector< double > &Ec, double Ecutoff, std::vector< double > &evals, Teuchos::RCP< Epetra_MultiVector > &evecs) |
bool | doMatrixDiag_tql2 (double Vds, std::vector< double > &Ec, double Ecutoff, std::vector< double > &evals, std::vector< double > &evecs) |
int | tql2 (int n, int max_iter, std::vector< double > &d, std::vector< double > &e, std::vector< double > &z, int &ierr) |
void | sortTql2PartialResults (int n, std::vector< double > &d, std::vector< double > &z) |
void | prepSplineInterp (const std::vector< double > &x, const std::vector< double > &y, std::vector< double > &y2, const int &n) |
double | execSplineInterp (const std::vector< double > &xa, const std::vector< double > &ya, const std::vector< double > &y2a, const int &n, const double &x) |
Private Attributes | |
Teuchos::RCP< const Epetra_Comm > | Comm |
Teuchos::RCP< Epetra_Map > | Map |
Teuchos::RCP< std::vector < double > > | EcValues |
double | ptSpacing |
double | effMass |
double | t0 |
bool | bNeumannBC |
int | nGFPts |
std::vector< double > | matlabEvals |
Definition at line 27 of file QCAD_GreensFunctionTunneling.hpp.
QCAD::GreensFunctionTunnelingSolver::GreensFunctionTunnelingSolver | ( | const Teuchos::RCP< std::vector< double > > & | EcValues_, | |
const Teuchos::RCP< std::vector< double > > & | pathLen_, | |||
int | nGFPts_, | |||
double | ptSpacing_, | |||
double | effMass_, | |||
const Teuchos::RCP< const Epetra_Comm > & | Comm_, | |||
const std::string & | outputFilename, | |||
bool | bNeumannBC_ = true | |||
) |
Definition at line 37 of file QCAD_GreensFunctionTunneling.cpp.
QCAD::GreensFunctionTunnelingSolver::~GreensFunctionTunnelingSolver | ( | ) |
Definition at line 112 of file QCAD_GreensFunctionTunneling.cpp.
double QCAD::GreensFunctionTunnelingSolver::computeCurrent | ( | double | Vds, | |
double | kbT, | |||
double | Ecutoff_offset_from_Emax, | |||
bool | bUseAnasazi | |||
) |
Definition at line 118 of file QCAD_GreensFunctionTunneling.cpp.
void QCAD::GreensFunctionTunnelingSolver::computeCurrentRange | ( | const std::vector< double > | Vds, | |
double | kbT, | |||
double | Ecutoff_offset_from_Emax, | |||
std::vector< double > & | resultingCurrent, | |||
bool | bUseAnasazi | |||
) |
Definition at line 679 of file QCAD_GreensFunctionTunneling.cpp.
double QCAD::GreensFunctionTunnelingSolver::f0 | ( | double | x | ) | const [private] |
Definition at line 349 of file QCAD_GreensFunctionTunneling.cpp.
bool QCAD::GreensFunctionTunnelingSolver::doMatrixDiag_Anasazi | ( | double | Vds, | |
std::vector< double > & | Ec, | |||
double | Ecutoff, | |||
std::vector< double > & | evals, | |||
Teuchos::RCP< Epetra_MultiVector > & | evecs | |||
) | [private] |
Definition at line 470 of file QCAD_GreensFunctionTunneling.cpp.
bool QCAD::GreensFunctionTunnelingSolver::doMatrixDiag_tql2 | ( | double | Vds, | |
std::vector< double > & | Ec, | |||
double | Ecutoff, | |||
std::vector< double > & | evals, | |||
std::vector< double > & | evecs | |||
) | [private] |
Definition at line 356 of file QCAD_GreensFunctionTunneling.cpp.
int QCAD::GreensFunctionTunnelingSolver::tql2 | ( | int | n, | |
int | max_iter, | |||
std::vector< double > & | d, | |||
std::vector< double > & | e, | |||
std::vector< double > & | z, | |||
int & | ierr | |||
) | [private] |
Definition at line 804 of file QCAD_GreensFunctionTunneling.cpp.
void QCAD::GreensFunctionTunnelingSolver::sortTql2PartialResults | ( | int | n, | |
std::vector< double > & | d, | |||
std::vector< double > & | z | |||
) | [private] |
Definition at line 983 of file QCAD_GreensFunctionTunneling.cpp.
void QCAD::GreensFunctionTunnelingSolver::prepSplineInterp | ( | const std::vector< double > & | x, | |
const std::vector< double > & | y, | |||
std::vector< double > & | y2, | |||
const int & | n | |||
) | [private] |
Definition at line 689 of file QCAD_GreensFunctionTunneling.cpp.
double QCAD::GreensFunctionTunnelingSolver::execSplineInterp | ( | const std::vector< double > & | xa, | |
const std::vector< double > & | ya, | |||
const std::vector< double > & | y2a, | |||
const int & | n, | |||
const double & | x | |||
) | [private] |
Definition at line 733 of file QCAD_GreensFunctionTunneling.cpp.
Teuchos::RCP<const Epetra_Comm> QCAD::GreensFunctionTunnelingSolver::Comm [private] |
Definition at line 71 of file QCAD_GreensFunctionTunneling.hpp.
Teuchos::RCP<Epetra_Map> QCAD::GreensFunctionTunnelingSolver::Map [private] |
Definition at line 72 of file QCAD_GreensFunctionTunneling.hpp.
Teuchos::RCP<std::vector<double> > QCAD::GreensFunctionTunnelingSolver::EcValues [private] |
Definition at line 73 of file QCAD_GreensFunctionTunneling.hpp.
double QCAD::GreensFunctionTunnelingSolver::ptSpacing [private] |
Definition at line 75 of file QCAD_GreensFunctionTunneling.hpp.
double QCAD::GreensFunctionTunnelingSolver::effMass [private] |
Definition at line 75 of file QCAD_GreensFunctionTunneling.hpp.
double QCAD::GreensFunctionTunnelingSolver::t0 [private] |
Definition at line 75 of file QCAD_GreensFunctionTunneling.hpp.
bool QCAD::GreensFunctionTunnelingSolver::bNeumannBC [private] |
Definition at line 76 of file QCAD_GreensFunctionTunneling.hpp.
int QCAD::GreensFunctionTunnelingSolver::nGFPts [private] |
Definition at line 77 of file QCAD_GreensFunctionTunneling.hpp.
std::vector<double> QCAD::GreensFunctionTunnelingSolver::matlabEvals [private] |
Definition at line 79 of file QCAD_GreensFunctionTunneling.hpp.