46 #ifndef Xyce_N_DEV_TRA_h
47 #define Xyce_N_DEV_TRA_h
50 #include <N_UTL_fwd.h>
66 static const char *
name() {
return "Ideal Transmission Line";}
105 void registerLIDs(
const std::vector<int> & intLIDVecRef,
106 const std::vector<int> & extLIDVecRef );
112 const std::vector< std::vector<int> > &
jacobianStamp()
const;
113 void registerJacLIDs(
const std::vector< std::vector<int> > & jacLIDVec );
202 int APos1EquPos1Node_I;
203 int APos1EquPos1Node_J;
204 int APos1EquInt1Node_I;
205 int APos1EquInt1Node_J;
207 int AInt1EquPos1Node_I;
208 int AInt1EquPos1Node_J;
209 int AInt1EquInt1Node_I;
210 int AInt1EquInt1Node_J;
211 int AInt1EquIbr1Node_I;
212 int AInt1EquIbr1Node_J;
214 int ANeg1EquIbr1Node_I;
215 int ANeg1EquIbr1Node_J;
217 int AIbr1EquInt1Node_I;
218 int AIbr1EquInt1Node_J;
219 int AIbr1EquNeg1Node_I;
220 int AIbr1EquNeg1Node_J;
222 int APos2EquPos2Node_I;
223 int APos2EquPos2Node_J;
224 int APos2EquInt2Node_I;
225 int APos2EquInt2Node_J;
227 int AInt2EquPos2Node_I;
228 int AInt2EquPos2Node_J;
229 int AInt2EquInt2Node_I;
230 int AInt2EquInt2Node_J;
231 int AInt2EquIbr2Node_I;
232 int AInt2EquIbr2Node_J;
234 int ANeg2EquIbr2Node_I;
235 int ANeg2EquIbr2Node_J;
237 int AIbr2EquInt2Node_I;
238 int AIbr2EquInt2Node_J;
239 int AIbr2EquNeg2Node_I;
240 int AIbr2EquNeg2Node_J;
244 int AIbr1EquPos2Node_I;
245 int AIbr1EquPos2Node_J;
246 int AIbr1EquNeg2Node_I;
247 int AIbr1EquNeg2Node_J;
248 int AIbr1EquIbr2Node_I;
249 int AIbr1EquIbr2Node_J;
251 int AIbr2EquPos1Node_I;
252 int AIbr2EquPos1Node_J;
253 int AIbr2EquNeg1Node_I;
254 int AIbr2EquNeg1Node_J;
255 int AIbr2EquIbr1Node_I;
256 int AIbr2EquIbr1Node_J;
312 inline bool operator<(
const double &test_t)
const;
int AInt1EquInt1NodeOffset
void InterpV1V2FromHistory(double t, double *v1p, double *v2p)
static const char * name()
virtual void forEachInstance(DeviceInstanceOp &op) const
Apply a device instance "op" to all instances associated with this model.
Pure virtual class to augment a linear system.
void registerJacLIDs(const std::vector< std::vector< int > > &jacLIDVec)
int APos2EquPos2NodeOffset
bool updatePrimaryState()
static const char * deviceTypeName()
DeviceState * getInternalState()
int AInt1EquIbr1NodeOffset
void pruneHistory(double t)
void loadNodeSymbols(Util::SymbolTable &symbol_table) const
Populates and returns the store name map.
int AIbr1EquPos2NodeOffset
virtual std::ostream & printOutInstances(std::ostream &os) const
int AIbr1EquNeg2NodeOffset
bool getInstanceBreakPoints(std::vector< Util::BreakPoint > &breakPointTimes)
void registerLIDs(const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
int AIbr2EquNeg2NodeOffset
bool processInstanceParams()
processInstanceParams
std::vector< Instance * > InstanceVector
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
Instance & operator=(const Instance &)
int AIbr2EquInt2NodeOffset
const std::vector< std::vector< int > > & jacobianStamp() const
int AIbr2EquIbr1NodeOffset
double getMaxTimeStepSize()
bool setInternalState(const DeviceState &state)
Instance(const Configuration &configuration, const InstanceBlock &instance_block, Model &model, const FactoryBlock &factory_block)
int APos1EquInt1NodeOffset
std::vector< Instance * > instanceContainer
static bool isLinearDevice()
int AIbr2EquNeg1NodeOffset
int AInt2EquInt2NodeOffset
static std::vector< std::vector< int > > jacStamp
int AInt1EquPos1NodeOffset
int ANeg1EquIbr1NodeOffset
The Device class is an interface for device implementations.
void registerStoreLIDs(const std::vector< int > &st0LIDVecRef)
Model & operator=(const Model &)
void addInstance(Instance *instance)
Class Configuration contains device configuration data.
static void loadInstanceParameters(ParametricData< Instance > &instance_parameters)
static Device * factory(const Configuration &configuration, const FactoryBlock &factory_block)
int AInt2EquPos2NodeOffset
bool operator<(const double &test_t) const
int APos2EquInt2NodeOffset
bool updateIntermediateVars()
int ANeg2EquIbr2NodeOffset
int AInt2EquIbr2NodeOffset
std::vector< History > history
bool processParams()
processParams
int AIbr1EquIbr2NodeOffset
static void loadModelParameters(ParametricData< Model > &model_parameters)
ModelBlock represents a .MODEL line from the netlist.
The DeviceTraits template describes the configuration of a device.
Manages parameter binding for class C.
bool isLinearDevice() const
InstanceBlock represent a device instance line from the netlist.
int AIbr1EquNeg1NodeOffset
int AIbr1EquInt1NodeOffset
void registerStateLIDs(const std::vector< int > &staLIDVecRef)
int AIbr2EquPos1NodeOffset
int APos1EquPos1NodeOffset