Public Member Functions | Private Attributes

QCAD::CoupledPSJacobian Class Reference

An Epetra operator that evaluates the Jacobian of a QCAD coupled Poisson-Schrodinger problem. More...

#include <QCAD_CoupledPSJacobian.hpp>

List of all members.

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

Detailed Description

An Epetra operator that evaluates the Jacobian of a QCAD coupled Poisson-Schrodinger problem.

Definition at line 27 of file QCAD_CoupledPSJacobian.hpp.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

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.

Definition at line 80 of file QCAD_CoupledPSJacobian.hpp.

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.

Definition at line 94 of file QCAD_CoupledPSJacobian.hpp.

Definition at line 95 of file QCAD_CoupledPSJacobian.hpp.

Definition at line 96 of file QCAD_CoupledPSJacobian.hpp.

Definition at line 97 of file QCAD_CoupledPSJacobian.hpp.

Definition at line 98 of file QCAD_CoupledPSJacobian.hpp.

Definition at line 99 of file QCAD_CoupledPSJacobian.hpp.

Definition at line 101 of file QCAD_CoupledPSJacobian.hpp.


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