#include "NGSpice.h"
Public Member Functions | |
NGSpice () | |
void | runSimulation (std::list< std::string > &_netlist) |
void | initializeCallbacks () |
void | intializeNGSpice () |
void | updateBufferClasses (std::map< ot::UID, std::shared_ptr< EntityBlockConnection > >, std::map< ot::UID, std::shared_ptr< EntityBlock > > &, std::string) |
std::list< std::string > | generateNetlist (EntityBase *solverEntity, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > >, std::map< ot::UID, std::shared_ptr< EntityBlock > > &, std::string editorname) |
std::string | generateNetlistDCSimulation (EntityBase *solverEntity, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > >, std::map< ot::UID, std::shared_ptr< EntityBlock > > &, std::string editorname) |
std::string | generateNetlistACSimulation (EntityBase *solverEntity, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > >, std::map< ot::UID, std::shared_ptr< EntityBlock > > &, std::string editorname) |
std::string | generateNetlistTRANSimulation (EntityBase *solverEntity, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > >, std::map< ot::UID, std::shared_ptr< EntityBlock > > &, std::string editorname) |
std::list< std::string > | ngSpice_Initialize (EntityBase *solverEntity, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > >, std::map< ot::UID, std::shared_ptr< EntityBlock > > &, std::string) |
void | clearBufferStructure (std::string name) |
void | connectionAlgorithmWithGNDElement (std::string startingElement, int counter, ot::UID startingElementUID, ot::UID elementUID, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > allConnectionEntities, std::map< ot::UID, std::shared_ptr< EntityBlock > > &allEntitiesByBlockID, std::string editorname, std::set< ot::UID > &visitedElements) |
void | connectionAlgorithmWithGNDVoltageSource (std::string startingElement, int counter, ot::UID startingElementUID, ot::UID elementUID, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > allConnectionEntities, std::map< ot::UID, std::shared_ptr< EntityBlock > > &allEntitiesByBlockID, std::string editorname, std::set< ot::UID > &visitedElements) |
void | handleWithConnectors (ot::UID elementUID, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > allConnectionEntities, std::map< ot::UID, std::shared_ptr< EntityBlock > > &allEntitiesByBlockID, std::string editorname, std::set< ot::UID > &visitedElements) |
void | setNodeNumbers (Connection &myConn) |
void | setNodeNumbersWithGNDVoltageSource (Connection &myConn, ot::UID startingElementUID) |
bool | checkIfElementOrConnectionVisited (std::set< ot::UID > &visitedElements, ot::UID elementUID) |
Connection | createConnection (std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > allConnectionEntities, ot::UID connection) |
bool | checkIfConnectionIsConnectedToGND (std::string pole) |
bool | checkIfConnectionIsConnectedToGndVoltageSource (std::string pole, ot::UID voltageSourceUID, ot::UID elementUID) |
bool | checkIfConnectionIsConnectedToVoltageMeter (std::string blockTitle) |
void | setNodeNumbersOfVoltageSource (std::string startingElement, int counter, ot::UID startingElementUID, ot::UID elementUID, std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > allConnectionEntities, std::map< ot::UID, std::shared_ptr< EntityBlock > > &allEntitiesByBlockID, std::string editorname, std::set< ot::UID > &visitedElements) |
bool | addToCustomNameToNetlistMap (const std::string &, const std::string &) |
bool | addToNetlistNameToCustomMap (const std::string &, const std::string &) |
std::string | assignElementID (const std::string &elementType) |
std::string | to_lowercase (const std::string &str) |
std::map< std::string, Circuit > & | getMapOfCircuits () |
std::string const | getVoltMeterConnectionName () const |
std::map< std::string, std::string > & | getMapOfCustomToNetlistName () |
std::map< std::string, int > & | getMapOfElementCounters () |
std::string | getNetlistNameOfMap (const std::string &customName) const |
Static Public Member Functions | |
static int | MySendCharFunction (char *, int, void *) |
static int | MySendStat (char *, int, void *) |
static int | MyControlledExit (int, bool imidiate, bool quitexit, int, void *) |
static int | MySendDataFunction (pvecvaluesall, int, int, void *) |
static int | MySendInitDataFunction (pvecinfoall, int, void *) |
Public Attributes | |
std::map< std::string, Circuit > | mapOfCircuits |
std::map< std::pair< ot::UID, std::string >, std::string > | connectionNodeNumbers |
std::map< std::string, std::string > | customNameToNetlistNameMap |
std::map< std::string, std::string > | netlistNameToCustomNameMap |
std::map< std::string, int > | elementCounters |
NGSpice::NGSpice | ( | ) |
bool NGSpice::addToCustomNameToNetlistMap | ( | const std::string & | customName, |
const std::string & | netlistName ) |
bool NGSpice::addToNetlistNameToCustomMap | ( | const std::string & | customName, |
const std::string & | netlistName ) |
std::string NGSpice::assignElementID | ( | const std::string & | elementType | ) |
bool NGSpice::checkIfConnectionIsConnectedToGND | ( | std::string | pole | ) |
bool NGSpice::checkIfConnectionIsConnectedToGndVoltageSource | ( | std::string | pole, |
ot::UID | voltageSourceUID, | ||
ot::UID | elementUID ) |
bool NGSpice::checkIfConnectionIsConnectedToVoltageMeter | ( | std::string | blockTitle | ) |
bool NGSpice::checkIfElementOrConnectionVisited | ( | std::set< ot::UID > & | visitedElements, |
ot::UID | elementUID ) |
void NGSpice::clearBufferStructure | ( | std::string | name | ) |
void NGSpice::connectionAlgorithmWithGNDElement | ( | std::string | startingElement, |
int | counter, | ||
ot::UID | startingElementUID, | ||
ot::UID | elementUID, | ||
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname, | ||
std::set< ot::UID > & | visitedElements ) |
void NGSpice::connectionAlgorithmWithGNDVoltageSource | ( | std::string | startingElement, |
int | counter, | ||
ot::UID | startingElementUID, | ||
ot::UID | elementUID, | ||
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname, | ||
std::set< ot::UID > & | visitedElements ) |
Connection NGSpice::createConnection | ( | std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, |
ot::UID | connection ) |
std::list< std::string > NGSpice::generateNetlist | ( | EntityBase * | solverEntity, |
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname ) |
std::string NGSpice::generateNetlistACSimulation | ( | EntityBase * | solverEntity, |
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | , | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | , | ||
std::string | editorname ) |
std::string NGSpice::generateNetlistDCSimulation | ( | EntityBase * | solverEntity, |
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | , | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | , | ||
std::string | editorname ) |
std::string NGSpice::generateNetlistTRANSimulation | ( | EntityBase * | solverEntity, |
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | , | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | , | ||
std::string | editorname ) |
|
inline |
|
inline |
|
inline |
std::string NGSpice::getNetlistNameOfMap | ( | const std::string & | customName | ) | const |
|
inline |
void NGSpice::handleWithConnectors | ( | ot::UID | elementUID, |
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname, | ||
std::set< ot::UID > & | visitedElements ) |
void NGSpice::initializeCallbacks | ( | ) |
void NGSpice::intializeNGSpice | ( | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
std::list< std::string > NGSpice::ngSpice_Initialize | ( | EntityBase * | solverEntity, |
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname ) |
void NGSpice::runSimulation | ( | std::list< std::string > & | _netlist | ) |
void NGSpice::setNodeNumbers | ( | Connection & | myConn | ) |
void NGSpice::setNodeNumbersOfVoltageSource | ( | std::string | startingElement, |
int | counter, | ||
ot::UID | startingElementUID, | ||
ot::UID | elementUID, | ||
std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, | ||
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname, | ||
std::set< ot::UID > & | visitedElements ) |
void NGSpice::setNodeNumbersWithGNDVoltageSource | ( | Connection & | myConn, |
ot::UID | startingElementUID ) |
std::string NGSpice::to_lowercase | ( | const std::string & | str | ) |
void NGSpice::updateBufferClasses | ( | std::map< ot::UID, std::shared_ptr< EntityBlockConnection > > | allConnectionEntities, |
std::map< ot::UID, std::shared_ptr< EntityBlock > > & | allEntitiesByBlockID, | ||
std::string | editorname ) |
std::map<std::pair<ot::UID, std::string>, std::string> NGSpice::connectionNodeNumbers |
std::map<std::string, std::string> NGSpice::customNameToNetlistNameMap |
std::map<std::string, int> NGSpice::elementCounters |
std::map<std::string, Circuit> NGSpice::mapOfCircuits |
std::map<std::string, std::string> NGSpice::netlistNameToCustomNameMap |