An Epetra operator that evaluates the Jacobian of a QCAD coupled Poisson-Schrodinger problem. More...
#include <QCAD_CoupledPSJacobian.hpp>
Public Member Functions | |
CoupledPSJacobian (int nEigenvals, const Teuchos::RCP< const Epetra_Map > &discMap, const Teuchos::RCP< const Epetra_Map > &fullPSMap, const Teuchos::RCP< const Epetra_Comm > &comm, int dim, int valleyDegen, double temp, double lengthUnitInMeters, double energyUnitInElectronVolts, double effMass, double conductionBandOffset) | |
~CoupledPSJacobian () | |
void | initialize (const Teuchos::RCP< Epetra_CrsMatrix > &poissonJac, const Teuchos::RCP< Epetra_CrsMatrix > &schrodingerJac, const Teuchos::RCP< Epetra_CrsMatrix > &massMatrix, const Teuchos::RCP< Epetra_Vector > &eigenvals, const Teuchos::RCP< const Epetra_MultiVector > &eigenvecs) |
Initialize the operator with everything needed to apply it. | |
virtual int | SetUseTranspose (bool UseTranspose) |
If set true, transpose of this operator will be applied. | |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. | |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y. | |
virtual double | NormInf () const |
Returns the infinity norm of the global matrix. | |
virtual const char * | Label () const |
Returns a character string describing the operator. | |
virtual bool | UseTranspose () const |
Returns the current UseTranspose setting. | |
virtual bool | HasNormInf () const |
Returns true if this object can provide an approximate Inf-norm, false otherwise. | |
virtual const Epetra_Comm & | Comm () const |
Returns a pointer to the Epetra_Comm communicator associated with this operator. | |
virtual const Epetra_Map & | OperatorDomainMap () const |
Returns the Epetra_Map object associated with the domain of this operator. | |
virtual const Epetra_Map & | OperatorRangeMap () const |
Returns the Epetra_Map object associated with the range of this operator. | |
Private Attributes | |
Teuchos::RCP< const Epetra_Map > | discMap |
Teuchos::RCP< const Epetra_Map > | dist_evalMap |
Teuchos::RCP< const Epetra_Map > | local_evalMap |
Teuchos::RCP< const Epetra_Map > | domainMap |
Teuchos::RCP< const Epetra_Map > | rangeMap |
Teuchos::RCP< const Epetra_Comm > | myComm |
Teuchos::RCP< const Epetra_Import > | eval_importer |
bool | bUseTranspose |
bool | bInitialized |
Teuchos::RCP< Epetra_CrsMatrix > | poissonJacobian |
Teuchos::RCP< Epetra_CrsMatrix > | schrodingerJacobian |
Teuchos::RCP< Epetra_CrsMatrix > | massMatrix |
Teuchos::RCP< Epetra_Vector > | neg_eigenvalues |
Teuchos::RCP< const Epetra_MultiVector > | psiVectors |
Teuchos::RCP< Epetra_MultiVector > | dn_dPsi |
Teuchos::RCP< Epetra_MultiVector > | dn_dEval |
Teuchos::RCP< Epetra_MultiVector > | M_Psi |
Teuchos::RCP< Epetra_MultiVector > | MT_Psi |
Teuchos::RCP< Epetra_Vector > | x_neg_evals_local |
int | numDims |
int | valleyDegenFactor |
double | temperature |
double | length_unit_in_m |
double | energy_unit_in_eV |
double | effmass |
double | offset_to_CB |
An Epetra operator that evaluates the Jacobian of a QCAD coupled Poisson-Schrodinger problem.
Definition at line 27 of file QCAD_CoupledPSJacobian.hpp.
QCAD::CoupledPSJacobian::CoupledPSJacobian | ( | int | nEigenvals, | |
const Teuchos::RCP< const Epetra_Map > & | discMap, | |||
const Teuchos::RCP< const Epetra_Map > & | fullPSMap, | |||
const Teuchos::RCP< const Epetra_Comm > & | comm, | |||
int | dim, | |||
int | valleyDegen, | |||
double | temp, | |||
double | lengthUnitInMeters, | |||
double | energyUnitInElectronVolts, | |||
double | effMass, | |||
double | conductionBandOffset | |||
) |
Definition at line 21 of file QCAD_CoupledPSJacobian.cpp.
QCAD::CoupledPSJacobian::~CoupledPSJacobian | ( | ) |
Definition at line 44 of file QCAD_CoupledPSJacobian.cpp.
void QCAD::CoupledPSJacobian::initialize | ( | const Teuchos::RCP< Epetra_CrsMatrix > & | poissonJac, | |
const Teuchos::RCP< Epetra_CrsMatrix > & | schrodingerJac, | |||
const Teuchos::RCP< Epetra_CrsMatrix > & | massMatrix, | |||
const Teuchos::RCP< Epetra_Vector > & | eigenvals, | |||
const Teuchos::RCP< const Epetra_MultiVector > & | eigenvecs | |||
) |
Initialize the operator with everything needed to apply it.
Definition at line 50 of file QCAD_CoupledPSJacobian.cpp.
virtual int QCAD::CoupledPSJacobian::SetUseTranspose | ( | bool | UseTranspose | ) | [inline, virtual] |
If set true, transpose of this operator will be applied.
Definition at line 44 of file QCAD_CoupledPSJacobian.hpp.
int QCAD::CoupledPSJacobian::Apply | ( | const Epetra_MultiVector & | X, | |
Epetra_MultiVector & | Y | |||
) | const [virtual] |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
Definition at line 115 of file QCAD_CoupledPSJacobian.cpp.
int QCAD::CoupledPSJacobian::ApplyInverse | ( | const Epetra_MultiVector & | X, | |
Epetra_MultiVector & | Y | |||
) | const [virtual] |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
Definition at line 227 of file QCAD_CoupledPSJacobian.cpp.
virtual double QCAD::CoupledPSJacobian::NormInf | ( | ) | const [inline, virtual] |
Returns the infinity norm of the global matrix.
Definition at line 53 of file QCAD_CoupledPSJacobian.hpp.
virtual const char* QCAD::CoupledPSJacobian::Label | ( | ) | const [inline, virtual] |
Returns a character string describing the operator.
Definition at line 56 of file QCAD_CoupledPSJacobian.hpp.
virtual bool QCAD::CoupledPSJacobian::UseTranspose | ( | ) | const [inline, virtual] |
Returns the current UseTranspose setting.
Definition at line 59 of file QCAD_CoupledPSJacobian.hpp.
virtual bool QCAD::CoupledPSJacobian::HasNormInf | ( | ) | const [inline, virtual] |
Returns true if this object can provide an approximate Inf-norm, false otherwise.
Definition at line 62 of file QCAD_CoupledPSJacobian.hpp.
virtual const Epetra_Comm& QCAD::CoupledPSJacobian::Comm | ( | ) | const [inline, virtual] |
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Definition at line 65 of file QCAD_CoupledPSJacobian.hpp.
virtual const Epetra_Map& QCAD::CoupledPSJacobian::OperatorDomainMap | ( | ) | const [inline, virtual] |
Returns the Epetra_Map object associated with the domain of this operator.
Definition at line 68 of file QCAD_CoupledPSJacobian.hpp.
virtual const Epetra_Map& QCAD::CoupledPSJacobian::OperatorRangeMap | ( | ) | const [inline, virtual] |
Returns the Epetra_Map object associated with the range of this operator.
Definition at line 71 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Map> QCAD::CoupledPSJacobian::discMap [private] |
Definition at line 75 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Map> QCAD::CoupledPSJacobian::dist_evalMap [private] |
Definition at line 76 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Map> QCAD::CoupledPSJacobian::local_evalMap [private] |
Definition at line 76 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Map> QCAD::CoupledPSJacobian::domainMap [private] |
Definition at line 77 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Map> QCAD::CoupledPSJacobian::rangeMap [private] |
Definition at line 77 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Comm> QCAD::CoupledPSJacobian::myComm [private] |
Definition at line 78 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_Import> QCAD::CoupledPSJacobian::eval_importer [private] |
Definition at line 79 of file QCAD_CoupledPSJacobian.hpp.
bool QCAD::CoupledPSJacobian::bUseTranspose [private] |
Definition at line 80 of file QCAD_CoupledPSJacobian.hpp.
bool QCAD::CoupledPSJacobian::bInitialized [private] |
Definition at line 81 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_CrsMatrix> QCAD::CoupledPSJacobian::poissonJacobian [private] |
Definition at line 83 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_CrsMatrix> QCAD::CoupledPSJacobian::schrodingerJacobian [private] |
Definition at line 83 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_CrsMatrix> QCAD::CoupledPSJacobian::massMatrix [private] |
Definition at line 84 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_Vector> QCAD::CoupledPSJacobian::neg_eigenvalues [private] |
Definition at line 85 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<const Epetra_MultiVector> QCAD::CoupledPSJacobian::psiVectors [private] |
Definition at line 86 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_MultiVector> QCAD::CoupledPSJacobian::dn_dPsi [private] |
Definition at line 89 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_MultiVector> QCAD::CoupledPSJacobian::dn_dEval [private] |
Definition at line 89 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_MultiVector> QCAD::CoupledPSJacobian::M_Psi [private] |
Definition at line 90 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_MultiVector> QCAD::CoupledPSJacobian::MT_Psi [private] |
Definition at line 90 of file QCAD_CoupledPSJacobian.hpp.
Teuchos::RCP<Epetra_Vector> QCAD::CoupledPSJacobian::x_neg_evals_local [private] |
Definition at line 91 of file QCAD_CoupledPSJacobian.hpp.
int QCAD::CoupledPSJacobian::numDims [private] |
Definition at line 94 of file QCAD_CoupledPSJacobian.hpp.
int QCAD::CoupledPSJacobian::valleyDegenFactor [private] |
Definition at line 95 of file QCAD_CoupledPSJacobian.hpp.
double QCAD::CoupledPSJacobian::temperature [private] |
Definition at line 96 of file QCAD_CoupledPSJacobian.hpp.
double QCAD::CoupledPSJacobian::length_unit_in_m [private] |
Definition at line 97 of file QCAD_CoupledPSJacobian.hpp.
double QCAD::CoupledPSJacobian::energy_unit_in_eV [private] |
Definition at line 98 of file QCAD_CoupledPSJacobian.hpp.
double QCAD::CoupledPSJacobian::effmass [private] |
Definition at line 99 of file QCAD_CoupledPSJacobian.hpp.
double QCAD::CoupledPSJacobian::offset_to_CB [private] |
Definition at line 101 of file QCAD_CoupledPSJacobian.hpp.