#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.
1.7.1