46 #ifndef Xyce_N_DEV_DopeInfo_h
47 #define Xyce_N_DEV_DopeInfo_h
78 std::vector<double> & CVec,
79 std::vector<double> & CdonorVec,
80 std::vector<double> & CacceptorVec,
81 std::vector<double> & xVec,
85 std::vector<double> & CVec,
86 std::vector<double> & CdonorVec,
87 std::vector<double> & CacceptorVec,
88 std::vector<double> & xVec,
89 std::vector<bool> & el2Vec,
93 std::vector<double> & CVec,
94 std::vector<double> & CdonorVec,
95 std::vector<double> & CacceptorVec,
96 std::vector<double> & xVec, std::vector<double> &yVec,
DeviceSupport & devSup);
98 static double nsdep(
double x,
double W,
double Dt);
99 static double ngdep(
double x,
double y,
double W,
double ax,
double ay);
100 static double ngdep2(
double x,
double y,
double ax,
double ay);
101 static double erf(
double x);
104 std::vector<double> & nvec, std::vector<double> & y2,
DeviceSupport & devSup);
107 std::vector<double> & nvec, std::vector<double> & y2_n,
108 std::vector<double> & pvec, std::vector<double> & y2_p,
DeviceSupport & devSup);
166 os << di.
name <<
":\n";
167 os <<
" type = " << di.
type <<
"\n";
168 os <<
" funcType = " << di.
funcType <<
"\n";
172 os <<
" exp. string = " << di.
exprString <<
"\n";
175 os <<
" xloc = " << di.
xloc <<
"\n";
176 os <<
" xwidth = " << di.
xwidth <<
"\n";
177 os <<
" yloc = " << di.
yloc <<
"\n";
178 os <<
" ywidth = " << di.
ywidth <<
"\n";
180 os <<
" Nmax = " << di.
Nmax <<
"\n";
181 os <<
" Nmin = " << di.
Nmin <<
"\n";
183 os <<
" flatX = " << di.
flatX <<
"\n";
184 os <<
" flatY = " << di.
flatY <<
"\n";
std::vector< double > dopeVec
static double ngdep(double x, double y, double W, double ax, double ay)
static ParametricData< DopeInfo > & getParametricData()
static double ngdep2(double x, double y, double ax, double ay)
static double nsdep(double x, double W, double Dt)
Pure virtual class to augment a linear system.
static void readDopingFile(std::string &filename, std::vector< double > &xloc, std::vector< double > &nvec, std::vector< double > &y2, DeviceSupport &devSup)
std::vector< double > xlocVec
void setupInfo(std::vector< double > &CVec, std::vector< double > &CdonorVec, std::vector< double > &CacceptorVec, std::vector< double > &xVec, DeviceSupport &devSup)
std::vector< double > y2Vec
void setupInfo2d(std::vector< double > &CVec, std::vector< double > &CdonorVec, std::vector< double > &CacceptorVec, std::vector< double > &xVec, std::vector< double > &yVec, DeviceSupport &devSup)
static double erf(double x)
bool processParam(Param &ndParam, std::string ¶m, DevicePDEInstance &di)
std::vector< double > splintDopeVec
Manages parameter binding for class C.
void processParams()
processParams post processes the parameters that have been set in the object of the derived class...
CompositeParam is the base class for classes that wish to only manage the processing of parameter dat...
std::ostream & operator<<(std::ostream &os, const Configuration &configuration)