46 #include <Xyce_config.h>
64 #include <N_ERH_ErrorMgr.h>
66 #include <N_LAS_Vector.h>
67 #include <N_LAS_Matrix.h>
77 .setOriginalValueStored(
true)
79 .setDescription(
"DC Current");
84 .setDescription(
"Offset Current");
88 .setDescription(
"Initial Current");
92 .setDescription(
"Pulsed Current");
96 .setDescription(
"Delay");
100 .setDescription(
"Rise Time");
104 .setDescription(
"Fall Time");
108 .setDescription(
"Pulse Width");
112 .setDescription(
"Period");
115 .setDescription(
"Scale Factor -- smooth pulse only");
120 .setDescription(
"Amplitude");
124 .setDescription(
"Frequency");
127 .setDescription(
"Theta");
130 .setDescription(
"Phase");
135 .setDescription(
"Rise Delay Time");
139 .setDescription(
"Rise Time Constant");
143 .setDescription(
"Fall Delay Time");
147 .setDescription(
"Fall Time Constant");
152 .setDescription(
"Amplitude");
155 .setDescription(
"Phase");
160 .setDescription(
"Carrier Frequency");
164 .setDescription(
"Signal Frequency");
167 .setDescription(
"Modulation Index");
172 .setDescription(
"Repeat Time");
176 .setDescription(
"Repeat Time");
180 .setDescription(
"Time");
184 .setDescription(
"Current");
221 :
SourceInstance(instance_block, configuration.getInstanceParameters(), factory_block),
243 TRANSIENTSOURCETYPEgiven(false),
245 ACSOURCETYPEgiven(false),
247 DCSOURCETYPEgiven(false),
409 const std::vector<int> & extLIDVecRef)
414 #ifdef Xyce_DEBUG_DEVICE
417 Xyce::dout() << std::endl << section_divider << std::endl;
418 Xyce::dout() <<
" ISRCInstance::registerLIDs" << std::endl;
419 Xyce::dout() <<
" name = " <<
getName() << std::endl;
433 #ifdef Xyce_DEBUG_DEVICE
436 Xyce::dout() <<
" li_Pos = " <<
li_Pos << std::endl;
437 Xyce::dout() <<
" li_Neg = " <<
li_Neg << std::endl;
438 Xyce::dout() << section_divider << std::endl;
491 std::string modName(
getName());
494 tmpstr = modName+
":DEV_I";
537 bVecReal[
li_Pos] -= source;
538 bVecReal[
li_Neg] += source;
546 bVecImag[
li_Pos] -= source;
547 bVecImag[
li_Neg] += source;
577 bool bsuccess =
true;
618 :
DeviceModel(MB, configuration.getModelParameters(), factory_block)
633 std::vector<Instance*>::iterator iter;
637 for (iter=first; iter!=last; ++iter)
669 std::vector<Instance*>::iterator iter;
673 for (iter=first; iter!=last; ++iter)
675 (*iter)->processParams();
691 #ifdef Xyce_DEBUG_DEVICE
693 std::vector<Instance*>::const_iterator iter;
699 os <<
" name modelName Parameters" << std::endl;
700 for (i=0, iter=first; iter!=last; ++iter, ++i)
702 os <<
" " << i <<
": " << (*iter)->getName() <<
" ";
705 if ( (*iter)->Data_ptr != 0 )
707 (*iter)->Data_ptr->printOutParams ();
710 if ( (*iter)->dcData_ptr != 0 )
712 (*iter)->dcData_ptr->printOutParams ();
715 if ( (*iter)->acData_ptr != 0 )
717 (*iter)->acData_ptr->printOutParams ();
742 for (std::vector<Instance *>::const_iterator it = instanceContainer.begin(); it != instanceContainer.end(); ++it)
791 fVec[inst.
li_Pos] += source;
792 fVec[inst.
li_Neg] -= source;
824 .registerDevice(
"i", 1);