Xyce  6.1
Xyce::Device::MutIndLin::Instance Class Reference

#include <N_DEV_MutIndLin.h>

Inheritance diagram for Xyce::Device::MutIndLin::Instance:
Collaboration diagram for Xyce::Device::MutIndLin::Instance:

Public Member Functions

 Instance (const Configuration &configuration, const InstanceBlock &IB, Model &Iiter, const FactoryBlock &factory_block)
 
 ~Instance ()
 
void registerLIDs (const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
 
void loadNodeSymbols (Util::SymbolTable &symbol_table) const
 Populates and returns the store name map. More...
 
void registerStateLIDs (const std::vector< int > &staLIDVecRef)
 
const std::vector< std::string > & getDepSolnVars ()
 
const std::vector< std::vector< int > > & jacobianStamp () const
 
void registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec)
 
bool processParams ()
 
bool updateTemperature (const double &temp_tmp)
 
void updateInductanceMatrix ()
 
bool updateIntermediateVars ()
 
bool updatePrimaryState ()
 
void loadErrorWeightMask ()
 
bool setIC ()
 
void varTypes (std::vector< char > &varTypeVec)
 
void setupPointers ()
 
bool loadDAEQVector ()
 
bool loadDAEFVector ()
 
bool loadDAEdQdx ()
 
bool loadDAEdFdx ()
 
void auxDAECalculations ()
 
ModelgetModel ()
 
- Public Member Functions inherited from Xyce::Device::DeviceInstance
 DeviceInstance (const InstanceBlock &instance_block, ParametricData< void > &parametric_data, const FactoryBlock &factory_block)
 
virtual ~DeviceInstance ()
 
virtual std::ostream & printName (std::ostream &os) const
 
virtual void enableLeadCurrentCalc ()
 
virtual void registerGIDs (const IndexPairVector &intGIDListRef, const IndexPairVector &extGIDListRef)
 
virtual void registerStateGIDs (const IndexPairVector &staGIDListRef)
 
virtual void registerStoreGIDs (const IndexPairVector &stoGIDListRef)
 
virtual void registerStoreLIDs (const LocalIdVector &stoLIDVecRef)
 
virtual void registerBranchDataLIDs (const LocalIdVector &branchDataLIDVecRef)
 
virtual void registerDepSolnGIDs (const std::vector< IdVector > &varList)
 
virtual const std::vector< std::string > & getDepStateVars ()
 
virtual void registerDepStateGIDs (const std::vector< IdVector > &varList)
 
virtual const std::vector< std::string > & getDepStoreVars ()
 
virtual void registerDepStoreGIDs (const std::vector< IdVector > &varList)
 
virtual const std::vector< std::string > & getDepLeadCurrentVars ()
 
virtual void registerDepLeadCurrentGIDs (const std::vector< IdVector > &varList)
 
virtual void registerDepSolnLIDs (const std::vector< IdVector > &depSolnLIDVecRef)
 
virtual void registerDepStateLIDs (const std::vector< IdVector > &depStaLIDVecRef)
 
virtual void registerDepStoreLIDs (const std::vector< IdVector > &depStoLIDVecRef)
 
virtual void registerGIDData (const std::vector< int > &counts, const IdVector &GIDs, const JacobianStamp &jacGIDs)
 
virtual const IdVectorgetDepSolnGIDVec ()
 
virtual const IndexPairVector & getIndexPairList ()
 
virtual bool getInstanceBreakPoints (std::vector< Util::BreakPoint > &breakPointTimes)
 
virtual bool updateSource ()
 
virtual bool processInstanceParams ()
 
virtual bool isConverged ()
 
virtual bool testDAEMatrices (const std::vector< const std::string * > &nameVec)
 
virtual bool loadTrivialDAE_FMatrixStamp ()
 
bool trivialStampLoader (Linear::Matrix *matPtr)
 
bool zeroMatrixDiagonal (Linear::Matrix *matPtr)
 
virtual bool updateSecondaryState ()
 
virtual bool plotfileFlag ()
 
virtual void acceptStep ()
 
virtual bool loadDAEBVector ()
 
virtual int getNumNoiseSources () const
 
virtual void setupNoiseSources (Xyce::Analysis::NoiseData &noiseDataVec)
 
virtual void getNoiseSources (Xyce::Analysis::NoiseData &noiseDataVec)
 
const InstanceNamegetName () const
 
int getNumIntVars () const
 
int getNumExtVars () const
 
int getNumStateVars () const
 
int getNumStoreVars () const
 
int getNumBranchDataVars () const
 
void setNumStoreVars (int num_store_vars)
 
void setNumBranchDataVars (int num_branch_data_vars)
 
virtual const std::vector< int > & getDevConMap ()
 
virtual DeviceStategetInternalState ()
 
virtual bool setInternalState (const DeviceState &state)
 
virtual bool loadDFDV (int iElectrode, Linear::Vector *dfdvPtr)
 
virtual bool calcConductance (int iElectrode, const Linear::Vector *dxdvPtr)
 
virtual bool outputPlotFiles ()
 
virtual bool enablePDEContinuation (int &max_PDE_continuation_steps)
 
virtual bool disablePDEContinuation ()
 
virtual void setPDEContinuationAlpha (double alpha)
 
virtual void setPDEContinuationBeta (double beta)
 
virtual bool setInitialGuess ()
 
virtual double getMaxTimeStepSize ()
 
bool getOrigFlag () const
 
void setOrigFlag (bool origFlag_local)
 
const IdVectorgetDevLIDs () const
 
const std::vector< IdVector > & getDevJacLIDs () const
 
const IdVectorgetStaLIDVec () const
 
bool getMergeRowColChecked () const
 
void setMergeRowColChecked (bool mergeRowColChecked_local)
 
const MatrixLoadDatagetMatrixLoadData () const
 
MatrixLoadDatagetMatrixLoadData ()
 
const ExternDatagetExternData () const
 
- Public Member Functions inherited from Xyce::Device::DeviceEntity
 DeviceEntity (ParametricData< void > &parametric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_filename, int netlist_line)
 
virtual ~DeviceEntity ()
 
virtual CompositeParamconstructComposite (const std::string &composite_name, const std::string &param_name)
 
bool setDefaultParam (double val, bool overrideOriginal=false)
 
double getDefaultParam () const
 
bool scaleParam (const std::string &paramName, double val, double val0)
 
bool scaleParam (const std::string &paramName, double val)
 
bool scaleDefaultParam (double val)
 
bool analyticSensitivityAvailable (const std::string &paramName)
 
bool getAnalyticSensitivity (const std::string &paramName, std::vector< double > &dfdpVec, std::vector< double > &dqdpVec, std::vector< double > &dbdpVec, std::vector< int > &FindicesVec, std::vector< int > &QindicesVec, std::vector< int > &BindicesVec)
 
bool setParam (const std::string &paramName, double val, bool overrideOriginal=false)
 
bool getParam (const std::string &paramName, double &result) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (Linear::Vector &vars)
 
bool updateDependentParameters (double temp_tmp)
 
bool updateGlobalParameters (GlobalParameterMap &)
 
bool updateDependentParameters ()
 
double setDependentParameter (Util::Param &, double *, ParameterType::ExprAccess)
 
double setDependentParameter (Util::Param &, std::vector< double > *, int, ParameterType::ExprAccess)
 
void setDependentParameter (Util::Param &par, Depend &dependentParam, ParameterType::ExprAccess depend)
 
void setDefaultParams ()
 
void setParams (const std::vector< Param > &params)
 
bool given (const std::string &parameter_name) const
 
void setDefaultParamName (const std::string &default_param_name)
 
const std::vector< Depend > & getDependentParams ()
 
void addDependentParameter (const Depend &param)
 
const DeviceOptionsgetDeviceOptions () const
 
const SolverStategetSolverState () const
 
const NetlistLocation & netlistLocation () const
 
const ParameterMapgetParameterMap () const
 
- Public Member Functions inherited from Xyce::Device::ParameterBase
 ParameterBase ()
 
virtual ~ParameterBase ()
 
double getOriginalValue (int serial_number)
 
void setOriginalValue (int serial_number, double value)
 
bool wasValueGiven (int serial_number) const
 
void setValueGiven (int serial_number, bool value)
 

Private Member Functions

 Instance (const Instance &)
 
Instanceoperator= (const Instance &)
 

Private Attributes

Modelmodel_
 
int numInductors
 
std::vector< InductorInstanceData * > instanceData
 
std::vector< std::string > inductorNames
 
std::vector< double > inductorInductances
 
std::vector< std::string > inductorsNode1
 
std::vector< std::string > inductorsNode2
 
std::vector< std::string > couplingInductor
 
std::vector< double > couplingCoefficient
 
std::vector< Util::Expression * > expPtrs
 
std::vector< std::vector< double > > couplingCoefficientVarDerivs
 
std::vector< std::vector< double > > couplingCoefficientVarDerivsDDT
 
std::vector< int > numCoupDepVars
 
std::vector< std::vector< double > > mutualCouplingCoef
 
std::vector< std::vector< double > > mutualCouplingCoefDerivs
 
std::vector< std::pair< int, int > > indexPairs
 
std::vector< int > li_coupling
 
std::vector< std::vector< int > > li_couplingVarDerivs
 
double mutualCup
 
bool mutualCupGiven
 
std::vector< double > inductanceVals
 
std::vector< std::vector< double > > LO
 
std::vector< double > inductorCurrents
 
std::vector< double > dIdt
 
std::vector< double > LOI
 
double temp
 
bool tempGiven
 
double scalingRHS
 
std::vector< std::vector< int > > jacStamp
 

Friends

class ParametricData< Instance >
 
class Model
 
class Traits
 
class Master
 

Additional Inherited Members

- Public Attributes inherited from Xyce::Device::DeviceInstance
std::vector< int > & cols
 
std::vector< double > & vals
 
NumericalJacobiannumJacPtr
 
bool psLoaded
 
bool ssLoaded
 
bool rhsLoaded
 
bool origFlag
 
int numIntVars
 
int numExtVars
 
int numStateVars
 
int numStoreVars
 
int numLeadCurrentVars
 
int numLeadCurrentStoreVars
 
bool loadLeadCurrent
 
int numBranchDataVars
 
int numBranchDataVarsIfAllocated
 
std::vector< int > devConMap
 
bool mergeRowColChecked
 
- Protected Member Functions inherited from Xyce::Device::DeviceInstance
void jacStampMap (const JacobianStamp &stamp_parent, IdVector &map_parent, JacobianStamp &map2_parent, JacobianStamp &stamp, IdVector &map, JacobianStamp &map2, int from, int to, int original_size)
 
void jacStampMap_fixOrder (const JacobianStamp &stamp_parent, JacobianStamp &map2_parent, JacobianStamp &stamp, JacobianStamp &map2)
 
void outputJacStamp (const JacobianStamp &jac)
 
void outputJacMaps (const std::vector< int > &jacMap, const JacobianStamp &jacMap2)
 
- Protected Attributes inherited from Xyce::Device::DeviceInstance
const ExternDataextData
 
IndexPairVector indexPairList
 
IndexPairVector intGIDList
 
IndexPairVector extGIDList
 
IndexPairVector staGIDList
 
IdVector intLIDVec
 
IdVector extLIDVec
 
IdVector staLIDVec
 
IdVector stoLIDVec
 
IdVector devLIDs
 devLIDs is a combined LID vector, containing int, ext, and expVar ID's. More...
 
JacobianStamp devJacLIDs
 
DeviceSupport devSupport
 
- Protected Attributes inherited from Xyce::Device::DeviceEntity
std::vector< int > expVarGIDs
 
std::vector< int > expVarLIDs
 
std::vector< std::string > expVarNames
 
std::vector< double > expVarVals
 
std::vector< double > eVarVals
 

Detailed Description

Definition at line 159 of file N_DEV_MutIndLin.h.

Constructor & Destructor Documentation

Xyce::Device::MutIndLin::Instance::Instance ( const Configuration configuration,
const InstanceBlock IB,
Model Iiter,
const FactoryBlock factory_block 
)

Definition at line 193 of file N_DEV_MutIndLin.C.

Xyce::Device::MutIndLin::Instance::~Instance ( )

Definition at line 582 of file N_DEV_MutIndLin.C.

Xyce::Device::MutIndLin::Instance::Instance ( const Instance )
private

Member Function Documentation

void Xyce::Device::MutIndLin::Instance::auxDAECalculations ( )
const std::vector< std::string > & Xyce::Device::MutIndLin::Instance::getDepSolnVars ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 688 of file N_DEV_MutIndLin.C.

Model& Xyce::Device::MutIndLin::Instance::getModel ( )
inline

Definition at line 216 of file N_DEV_MutIndLin.h.

const std::vector< std::vector< int > > & Xyce::Device::MutIndLin::Instance::jacobianStamp ( ) const
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 701 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::loadDAEdFdx ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1278 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::loadDAEdQdx ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1210 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::loadDAEFVector ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1160 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::loadDAEQVector ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1107 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::loadErrorWeightMask ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 1077 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::loadNodeSymbols ( Util::SymbolTable &  symbol_table) const
virtual

Populates and returns the store name map.

If the DeviceInstance::storeNameMap is empty, populate it.

For the purpose of lead currents, store vector elements must be given names that can be used to locate lead currents at print time. When a netlist attempts to print, say, "I(R1)" the output code looks for an entry in the store vector named R1:DEV_I.

This method does the assignment of names to various vector elements.

Author
David G. Baur
Date
12/18/2014

Implements Xyce::Device::DeviceInstance.

Definition at line 650 of file N_DEV_MutIndLin.C.

Instance& Xyce::Device::MutIndLin::Instance::operator= ( const Instance )
private
bool Xyce::Device::MutIndLin::Instance::processParams ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 881 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::registerJacLIDs ( const std::vector< std::vector< int > > &  jacLIDVec)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 714 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::registerLIDs ( const std::vector< int > &  intLIDVecRef,
const std::vector< int > &  extLIDVecRef 
)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 600 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::registerStateLIDs ( const std::vector< int > &  staLIDVecRef)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 672 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::setIC ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 1306 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::setupPointers ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 783 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::updateInductanceMatrix ( )

Definition at line 982 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::updateIntermediateVars ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 961 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::updatePrimaryState ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 1016 of file N_DEV_MutIndLin.C.

bool Xyce::Device::MutIndLin::Instance::updateTemperature ( const double &  temp_tmp)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 931 of file N_DEV_MutIndLin.C.

void Xyce::Device::MutIndLin::Instance::varTypes ( std::vector< char > &  varTypeVec)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 1323 of file N_DEV_MutIndLin.C.

Friends And Related Function Documentation

friend class Master
friend

Definition at line 163 of file N_DEV_MutIndLin.h.

friend class Model
friend

Definition at line 162 of file N_DEV_MutIndLin.h.

friend class ParametricData< Instance >
friend

Definition at line 161 of file N_DEV_MutIndLin.h.

friend class Traits
friend

Definition at line 163 of file N_DEV_MutIndLin.h.

Member Data Documentation

std::vector< double > Xyce::Device::MutIndLin::Instance::couplingCoefficient
private

Definition at line 238 of file N_DEV_MutIndLin.h.

std::vector< std::vector<double> > Xyce::Device::MutIndLin::Instance::couplingCoefficientVarDerivs
private

Definition at line 242 of file N_DEV_MutIndLin.h.

std::vector< std::vector<double> > Xyce::Device::MutIndLin::Instance::couplingCoefficientVarDerivsDDT
private

Definition at line 243 of file N_DEV_MutIndLin.h.

std::vector< std::string > Xyce::Device::MutIndLin::Instance::couplingInductor
private

Definition at line 237 of file N_DEV_MutIndLin.h.

std::vector< double > Xyce::Device::MutIndLin::Instance::dIdt
private

Definition at line 260 of file N_DEV_MutIndLin.h.

std::vector<Util::Expression *> Xyce::Device::MutIndLin::Instance::expPtrs
private

Definition at line 240 of file N_DEV_MutIndLin.h.

std::vector<std::pair<int,int> > Xyce::Device::MutIndLin::Instance::indexPairs
private

Definition at line 248 of file N_DEV_MutIndLin.h.

std::vector< double > Xyce::Device::MutIndLin::Instance::inductanceVals
private

Definition at line 257 of file N_DEV_MutIndLin.h.

std::vector< double > Xyce::Device::MutIndLin::Instance::inductorCurrents
private

Definition at line 259 of file N_DEV_MutIndLin.h.

std::vector< double > Xyce::Device::MutIndLin::Instance::inductorInductances
private

Definition at line 233 of file N_DEV_MutIndLin.h.

std::vector< std::string > Xyce::Device::MutIndLin::Instance::inductorNames
private

Definition at line 232 of file N_DEV_MutIndLin.h.

std::vector< std::string > Xyce::Device::MutIndLin::Instance::inductorsNode1
private

Definition at line 234 of file N_DEV_MutIndLin.h.

std::vector< std::string > Xyce::Device::MutIndLin::Instance::inductorsNode2
private

Definition at line 235 of file N_DEV_MutIndLin.h.

std::vector< InductorInstanceData* > Xyce::Device::MutIndLin::Instance::instanceData
private

Definition at line 228 of file N_DEV_MutIndLin.h.

std::vector< std::vector<int> > Xyce::Device::MutIndLin::Instance::jacStamp
private

Definition at line 273 of file N_DEV_MutIndLin.h.

std::vector<int> Xyce::Device::MutIndLin::Instance::li_coupling
private

Definition at line 249 of file N_DEV_MutIndLin.h.

std::vector<std::vector<int> > Xyce::Device::MutIndLin::Instance::li_couplingVarDerivs
private

Definition at line 251 of file N_DEV_MutIndLin.h.

std::vector< std::vector< double > > Xyce::Device::MutIndLin::Instance::LO
private

Definition at line 258 of file N_DEV_MutIndLin.h.

std::vector< double > Xyce::Device::MutIndLin::Instance::LOI
private

Definition at line 262 of file N_DEV_MutIndLin.h.

Model& Xyce::Device::MutIndLin::Instance::model_
private

Definition at line 223 of file N_DEV_MutIndLin.h.

std::vector< std::vector< double > > Xyce::Device::MutIndLin::Instance::mutualCouplingCoef
private

Definition at line 246 of file N_DEV_MutIndLin.h.

std::vector< std::vector< double > > Xyce::Device::MutIndLin::Instance::mutualCouplingCoefDerivs
private

Definition at line 247 of file N_DEV_MutIndLin.h.

double Xyce::Device::MutIndLin::Instance::mutualCup
private

Definition at line 254 of file N_DEV_MutIndLin.h.

bool Xyce::Device::MutIndLin::Instance::mutualCupGiven
private

Definition at line 255 of file N_DEV_MutIndLin.h.

std::vector<int> Xyce::Device::MutIndLin::Instance::numCoupDepVars
private

Definition at line 245 of file N_DEV_MutIndLin.h.

int Xyce::Device::MutIndLin::Instance::numInductors
private

Definition at line 227 of file N_DEV_MutIndLin.h.

double Xyce::Device::MutIndLin::Instance::scalingRHS
private

Definition at line 268 of file N_DEV_MutIndLin.h.

double Xyce::Device::MutIndLin::Instance::temp
private

Definition at line 264 of file N_DEV_MutIndLin.h.

bool Xyce::Device::MutIndLin::Instance::tempGiven
private

Definition at line 265 of file N_DEV_MutIndLin.h.


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