KiCad PCB EDA Suite
|
#include <spice_simulator.h>
Public Member Functions | |
SPICE_SIMULATOR () | |
virtual | ~SPICE_SIMULATOR () |
virtual void | Init (const SPICE_SETTINGS *aSettings=nullptr)=0 |
virtual bool | LoadNetlist (const std::string &aNetlist)=0 |
Load a netlist for the simulation. | |
virtual bool | Command (const std::string &aCmd)=0 |
Execute a Spice command as if it was typed into console. | |
virtual wxString | GetXAxis (SIM_TYPE aType) const =0 |
Set a SIMULATOR_REPORTER object to receive the simulation log. | |
virtual void | SetReporter (SIMULATOR_REPORTER *aReporter) |
virtual wxString | CurrentPlotName () const =0 |
virtual std::vector< std::string > | AllVectors () const =0 |
virtual std::vector< COMPLEX > | GetComplexVector (const std::string &aName, int aMaxLen=-1)=0 |
Return a requested vector with complex values. | |
virtual std::vector< double > | GetRealVector (const std::string &aName, int aMaxLen=-1)=0 |
Return a requested vector with real values. | |
virtual std::vector< double > | GetImaginaryVector (const std::string &aName, int aMaxLen=-1)=0 |
Return a requested vector with imaginary values. | |
virtual std::vector< double > | GetGainVector (const std::string &aName, int aMaxLen=-1)=0 |
Return a requested vector with magnitude values. | |
virtual std::vector< double > | GetPhaseVector (const std::string &aName, int aMaxLen=-1)=0 |
Return a requested vector with phase values. | |
virtual const std::string | GetNetlist () const =0 |
Return current SPICE netlist used by the simulator. | |
virtual std::vector< std::string > | GetSettingCommands () const =0 |
std::shared_ptr< SPICE_SETTINGS > & | Settings () |
Return the simulator configuration settings. | |
const std::shared_ptr< SPICE_SETTINGS > & | Settings () const |
std::mutex & | GetMutex () |
virtual bool | Attach (const std::shared_ptr< SIMULATION_MODEL > &aModel, const wxString &aSimCommand, unsigned aSimOptions, const wxString &aInputPath, REPORTER &aReporter) |
Point out the model that will be used in future simulations. | |
virtual bool | Run ()=0 |
Execute the simulation with currently loaded netlist. | |
virtual bool | Stop ()=0 |
Halt the simulation. | |
virtual bool | IsRunning ()=0 |
Check if simulation is running at the moment. | |
virtual void | Clean ()=0 |
Cleans simulation data (i.e. | |
Static Public Member Functions | |
static wxString | TypeToName (SIM_TYPE aType, bool aShortName) |
Return a string with simulation name based on enum. | |
static std::shared_ptr< SPICE_SIMULATOR > | CreateInstance (const std::string &aName) |
Protected Attributes | |
SIMULATOR_REPORTER * | m_reporter |
< Reporter object to receive simulation log. | |
std::shared_ptr< SPICE_SETTINGS > | m_settings |
std::shared_ptr< SIMULATION_MODEL > | m_simModel |
< Model that should be simulated. | |
Private Attributes | |
std::mutex | m_mutex |
< For interprocess synchronisation. | |
Definition at line 47 of file spice_simulator.h.
|
inline |
Definition at line 50 of file spice_simulator.h.
|
inlinevirtual |
Definition at line 56 of file spice_simulator.h.
|
pure virtual |
Implemented in NGSPICE.
|
inlinevirtualinherited |
Point out the model that will be used in future simulations.
Reimplemented in NGSPICE.
Definition at line 61 of file simulator.h.
References SIMULATOR::m_simModel.
Referenced by NGSPICE::Attach().
|
pure virtualinherited |
|
pure virtual |
Execute a Spice command as if it was typed into console.
aCmd | is the command to be issued. Return X axis name for a given simulation type |
Implemented in NGSPICE.
|
staticinherited |
Definition at line 33 of file spice_simulator.cpp.
References DisplayError().
Referenced by KIBIS_PIN::getKuKdFromFile(), and SIMULATOR_FRAME::SIMULATOR_FRAME().
|
pure virtual |
Implemented in NGSPICE.
|
pure virtual |
Return a requested vector with complex values.
If the vector is real, then the imaginary part is set to 0 in all values.
aName | is the vector named in Spice convention (e.g. V(3), I(R1)). |
aMaxLen | is max count of returned values. if -1 (default) all available values are returned. |
Implemented in NGSPICE.
|
pure virtual |
Return a requested vector with magnitude values.
aName | is the vector named in Spice convention (e.g. V(3), I(R1)). |
aMaxLen | is max count of returned values. if -1 (default) all available values are returned. |
Implemented in NGSPICE.
|
pure virtual |
Return a requested vector with imaginary values.
If the vector is complex, then the imaginary part is returned. If the vector is reql, then only zeroes are returned.
aName | is the vector named in Spice convention (e.g. V(3), I(R1)). |
aMaxLen | is max count of returned values. if -1 (default) all available values are returned. |
Implemented in NGSPICE.
|
inlineinherited |
Definition at line 51 of file simulator.h.
References SIMULATOR::m_mutex.
|
pure virtual |
|
pure virtual |
Return a requested vector with phase values.
aName | is the vector named in Spice convention (e.g. V(3), I(R1)). |
aMaxLen | is max count of returned values. if -1 (default) all available values are returned. |
Implemented in NGSPICE.
|
pure virtual |
Return a requested vector with real values.
If the vector is complex, then the real part is returned.
aName | is the vector named in Spice convention (e.g. V(3), I(R1)). |
aMaxLen | is max count of returned values. if -1 (default) all available values are returned. |
Implemented in NGSPICE.
|
pure virtual |
Implemented in NGSPICE.
|
pure virtual |
Set a SIMULATOR_REPORTER object to receive the simulation log.
Implemented in NGSPICE.
|
pure virtual |
Implemented in NGSPICE.
|
pure virtualinherited |
Check if simulation is running at the moment.
Implemented in NGSPICE.
|
pure virtual |
Load a netlist for the simulation.
Implemented in NGSPICE.
|
pure virtualinherited |
Execute the simulation with currently loaded netlist.
Implemented in NGSPICE.
|
inlinevirtual |
Definition at line 84 of file spice_simulator.h.
References m_reporter.
Referenced by TEST_NETLIST_EXPORTER_SPICE_FIXTURE::CompareNetlists().
|
inline |
Return the simulator configuration settings.
Definition at line 169 of file spice_simulator.h.
References m_settings.
Referenced by NGSPICE::GetSettingCommands().
|
inline |
Definition at line 171 of file spice_simulator.h.
References m_settings.
|
pure virtualinherited |
|
static |
Return a string with simulation name based on enum.
aType | is the enum describing simulation type |
aShortName | if true - return is in format "TRAN", "OP". if false - return is in format "Transient", "Operating Point". |
Definition at line 53 of file spice_simulator.cpp.
References _, ST_AC, ST_DC, ST_DISTO, ST_FFT, ST_NOISE, ST_OP, ST_PZ, ST_SENS, ST_SP, ST_TF, ST_TRAN, and ST_UNKNOWN.
Referenced by DIALOG_SIM_COMMAND::OnCommandType(), DIALOG_SIM_COMMAND::parseCommand(), and SIMULATOR_FRAME_UI::SaveWorkbook().
|
privateinherited |
< For interprocess synchronisation.
Definition at line 102 of file simulator.h.
Referenced by SIMULATOR::GetMutex().
|
protected |
< Reporter object to receive simulation log.
We don't own this. We are just borrowing it from the SCHEMATIC_SETTINGS.
Definition at line 185 of file spice_simulator.h.
Referenced by NGSPICE::cbBGThreadRunning(), NGSPICE::cbSendChar(), and SetReporter().
|
protected |
Definition at line 188 of file spice_simulator.h.
Referenced by Settings().
|
protectedinherited |
< Model that should be simulated.
Definition at line 98 of file simulator.h.
Referenced by SIMULATOR::Attach().