49 #ifndef Xyce_N_DEV_ADMSbsimcmg_h
50 #define Xyce_N_DEV_ADMSbsimcmg_h
65 namespace ADMSbsimcmg {
72 static const char *
name() {
return "BSIM-CMG FINFET v107.0.0";}
120 void registerLIDs(
const std::vector<int> & intLIDVecRef,
121 const std::vector<int> & extLIDVecRef );
127 const std::vector< std::vector<int> > &
jacobianStamp()
const;
128 void registerJacLIDs(
const std::vector< std::vector<int> > & jacLIDVec );
149 template <
typename T>
155 return (exp(80.0)*(x-79.0));
333 static std::vector< std::vector<int> >
jacStamp;
335 static std::vector< std::vector<int> >
jacMap2;
346 template<
typename ScalarT> ScalarT
lexp(ScalarT x)
354 lexp = (5.540622384e+34*((1.0+x)-80.0));
360 lexp = 1.804851387e-35;
373 template<
typename ScalarT> ScalarT
lln(ScalarT x)
379 lln = log(std::max(x,1.0e-38));
386 template<
typename ScalarT> ScalarT
hypsmooth(ScalarT x, ScalarT c)
392 hypsmooth = (0.5*(x+sqrt(((x*x)+((4*c)*c)))));
399 template<
typename ScalarT> ScalarT
hypmax(ScalarT x, ScalarT xmin, ScalarT c)
405 hypmax = (xmin+(0.5*(((x-xmin)-c)+sqrt(((((x-xmin)-c)*((x-xmin)-c))-((4*xmin)*c))))));
1393 #endif //Xyce_N_DEV_ADMSbsimcmg_h