Public Member Functions | Private Member Functions | Private Attributes

QCAD::GreensFunctionTunnelingSolver Class Reference

#include <QCAD_GreensFunctionTunneling.hpp>

List of all members.

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

Detailed Description

Definition at line 27 of file QCAD_GreensFunctionTunneling.hpp.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

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.

Definition at line 75 of file QCAD_GreensFunctionTunneling.hpp.

Definition at line 75 of file QCAD_GreensFunctionTunneling.hpp.

Definition at line 75 of file QCAD_GreensFunctionTunneling.hpp.

Definition at line 76 of file QCAD_GreensFunctionTunneling.hpp.

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.


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