Public Types | Public Member Functions | Protected Member Functions | Private Attributes

QCAD::PoissonNeumann< EvalT, Traits > Class Template Reference

Neumann Evaluator for QCAD Poisson Problem. More...

#include <QCAD_PoissonNeumann.hpp>

Collaboration diagram for QCAD::PoissonNeumann< EvalT, Traits >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef EvalT::ScalarT ScalarT

Public Member Functions

 PoissonNeumann (Teuchos::ParameterList &p)
void evaluateFields (typename Traits::EvalData d)
virtual ScalarTgetValue (const std::string &n)

Protected Member Functions

ScalarT inverseFDIntOneHalf (const ScalarT x)
 compute the inverse of the Fermi-Dirac integral of 1/2 order
ScalarT potentialForMBComplIon (const ScalarT &Nc, const ScalarT &Nv, const ScalarT &Eg, const double &Chi, const std::string &dopType, const double &dopingConc)
 built-in potential for MB statistics and complete ionization
ScalarT potentialForMBIncomplIon (const ScalarT &Nc, const ScalarT &Nv, const ScalarT &Eg, const double &Chi, const std::string &dopType, const double &dopingConc, const double &dopantActE)
 built-in potential for MB statistics and incomplete ionization
ScalarT potentialForFDComplIon (const ScalarT &Nc, const ScalarT &Nv, const ScalarT &Eg, const double &Chi, const std::string &dopType, const double &dopingConc)
 built-in potential for FD statistics and complete ionization
ScalarT potentialForZeroKFDComplIon (const ScalarT &Nc, const ScalarT &Nv, const ScalarT &Eg, const double &Chi, const std::string &dopType, const double &dopingConc)
 built-in potential for zero-K FD statistics and complete ionization

Private Attributes

ScalarT user_value
std::string material
std::string ebName
std::string carrierStatistics
std::string incompIonization
double dopingDonor
double dopingAcceptor
double donorActE
double acceptorActE
ScalarT temperature
ScalarT kbT
ScalarT V0
ScalarT qPhiRef
double energy_unit_in_eV
 Constant energy reference for heterogeneous structures,[eV].
Teuchos::RCP
< QCAD::MaterialDatabase
materialDB
 Material database.

Detailed Description

template<typename EvalT, typename Traits>
class QCAD::PoissonNeumann< EvalT, Traits >

Neumann Evaluator for QCAD Poisson Problem.

Definition at line 30 of file QCAD_PoissonNeumann.hpp.


Member Typedef Documentation

template<typename EvalT, typename Traits>
typedef EvalT::ScalarT QCAD::PoissonNeumann< EvalT, Traits >::ScalarT

Definition at line 34 of file QCAD_PoissonNeumann.hpp.


Constructor & Destructor Documentation

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::PoissonNeumann ( Teuchos::ParameterList &  p  ) 

Definition at line 17 of file QCAD_PoissonNeumann_Def.hpp.


Member Function Documentation

template<typename EvalT , typename Traits>
void QCAD::PoissonNeumann< EvalT, Traits >::evaluateFields ( typename Traits::EvalData  d  ) 

Contacts on insulator or metal

Ohmic contacts on semiconductor (charge neutrality and equilibrium )

Otherwise, just use the user_value converted to the units of the solution.

Register bcValue

Call base class evaluateFields, which sets relevant nodes using value member

Definition at line 93 of file QCAD_PoissonNeumann_Def.hpp.

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::ScalarT & QCAD::PoissonNeumann< EvalT, Traits >::getValue ( const std::string &  n  )  [virtual]

Definition at line 430 of file QCAD_PoissonNeumann_Def.hpp.

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::ScalarT QCAD::PoissonNeumann< EvalT, Traits >::inverseFDIntOneHalf ( const ScalarT  x  )  [inline, protected]

compute the inverse of the Fermi-Dirac integral of 1/2 order

Definition at line 224 of file QCAD_PoissonNeumann_Def.hpp.

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::ScalarT QCAD::PoissonNeumann< EvalT, Traits >::potentialForMBComplIon ( const ScalarT Nc,
const ScalarT Nv,
const ScalarT Eg,
const double &  Chi,
const std::string &  dopType,
const double &  dopingConc 
) [protected]

built-in potential for MB statistics and complete ionization

Definition at line 250 of file QCAD_PoissonNeumann_Def.hpp.

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::ScalarT QCAD::PoissonNeumann< EvalT, Traits >::potentialForMBIncomplIon ( const ScalarT Nc,
const ScalarT Nv,
const ScalarT Eg,
const double &  Chi,
const std::string &  dopType,
const double &  dopingConc,
const double &  dopantActE 
) [protected]

built-in potential for MB statistics and incomplete ionization

Definition at line 304 of file QCAD_PoissonNeumann_Def.hpp.

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::ScalarT QCAD::PoissonNeumann< EvalT, Traits >::potentialForFDComplIon ( const ScalarT Nc,
const ScalarT Nv,
const ScalarT Eg,
const double &  Chi,
const std::string &  dopType,
const double &  dopingConc 
) [protected]

built-in potential for FD statistics and complete ionization

Definition at line 355 of file QCAD_PoissonNeumann_Def.hpp.

template<typename EvalT , typename Traits >
QCAD::PoissonNeumann< EvalT, Traits >::ScalarT QCAD::PoissonNeumann< EvalT, Traits >::potentialForZeroKFDComplIon ( const ScalarT Nc,
const ScalarT Nv,
const ScalarT Eg,
const double &  Chi,
const std::string &  dopType,
const double &  dopingConc 
) [protected]

built-in potential for zero-K FD statistics and complete ionization

Definition at line 385 of file QCAD_PoissonNeumann_Def.hpp.


Member Data Documentation

template<typename EvalT, typename Traits>
ScalarT QCAD::PoissonNeumann< EvalT, Traits >::user_value [private]

Definition at line 67 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
std::string QCAD::PoissonNeumann< EvalT, Traits >::material [private]

Definition at line 69 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
std::string QCAD::PoissonNeumann< EvalT, Traits >::ebName [private]

Definition at line 70 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
std::string QCAD::PoissonNeumann< EvalT, Traits >::carrierStatistics [private]

Definition at line 71 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
std::string QCAD::PoissonNeumann< EvalT, Traits >::incompIonization [private]

Definition at line 72 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
double QCAD::PoissonNeumann< EvalT, Traits >::dopingDonor [private]

Definition at line 74 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
double QCAD::PoissonNeumann< EvalT, Traits >::dopingAcceptor [private]

Definition at line 75 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
double QCAD::PoissonNeumann< EvalT, Traits >::donorActE [private]

Definition at line 76 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
double QCAD::PoissonNeumann< EvalT, Traits >::acceptorActE [private]

Definition at line 77 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
ScalarT QCAD::PoissonNeumann< EvalT, Traits >::temperature [private]

Definition at line 79 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
ScalarT QCAD::PoissonNeumann< EvalT, Traits >::kbT [private]

Definition at line 82 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
ScalarT QCAD::PoissonNeumann< EvalT, Traits >::V0 [private]

Definition at line 83 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
ScalarT QCAD::PoissonNeumann< EvalT, Traits >::qPhiRef [private]

Definition at line 84 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
double QCAD::PoissonNeumann< EvalT, Traits >::energy_unit_in_eV [private]

Constant energy reference for heterogeneous structures,[eV].

Definition at line 86 of file QCAD_PoissonNeumann.hpp.

template<typename EvalT, typename Traits>
Teuchos::RCP<QCAD::MaterialDatabase> QCAD::PoissonNeumann< EvalT, Traits >::materialDB [private]

Material database.

Definition at line 89 of file QCAD_PoissonNeumann.hpp.


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