![]() |
Calculates the electromechanical transient based on disturbances (e.g. system fault). More...
#include <Electromechanical.h>
Public Member Functions | |
Electromechanical (wxWindow *parent, std::vector< Element *> elementList, SimulationData data) | |
bool | RunStabilityCalculation () |
wxString | GetErrorMessage () const |
std::vector< double > | GetTimeVector () const |
![]() | |
ElectricCalculation () | |
Constructor. | |
~ElectricCalculation () | |
Destructor. | |
virtual void | GetElementsFromList (std::vector< Element *> elementList) |
Separate the power elements from a generic list. More... | |
virtual bool | GetYBus (std::vector< std::vector< std::complex< double > > > &yBus, double systemPowerBase, YBusSequence sequence=POSITIVE_SEQ, bool includeSyncMachines=false, bool allLoadsAsImpedances=false) |
Get the admittance matrix from the list of elements (use GetElementsFromList first). More... | |
virtual bool | InvertMatrix (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::vector< std::complex< double > > > &inverse) |
Invert a matrix. More... | |
virtual void | UpdateElementsPowerFlow (std::vector< std::complex< double > > voltage, std::vector< std::complex< double > > power, std::vector< BusType > busType, std::vector< ReactiveLimits > reactiveLimit, double systemPowerBase) |
Update the elements after the power flow calculation. More... | |
void | ABCtoDQ0 (std::complex< double > complexValue, double angle, double &dValue, double &qValue) |
void | DQ0toABC (double dValue, double qValue, double angle, std::complex< double > &complexValue) |
std::vector< std::complex< double > > | GaussianElimination (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::complex< double > > array) |
Machines::SyncMachineModel | GetMachineModel (SyncGenerator *generator) |
std::vector< std::complex< double > > | ComplexMatrixTimesVector (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::complex< double > > vector) |
void | GetLUDecomposition (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::vector< std::complex< double > > > &matrixL, std::vector< std::vector< std::complex< double > > > &matrixU) |
std::vector< std::complex< double > > | LUEvaluate (std::vector< std::vector< std::complex< double > > > u, std::vector< std::vector< std::complex< double > > > l, std::vector< std::complex< double > > b) |
const std::vector< Bus * > | GetBusList () const |
Get the buses of the system (use GetElementsFromList first). More... | |
const std::vector< Capacitor * > | GetCapacitorList () const |
Get the capacitors of the system (use GetElementsFromList first). More... | |
const std::vector< IndMotor * > | GetIndMotorList () const |
Get the induction motors of the system (use GetElementsFromList first). More... | |
const std::vector< Inductor * > | GetInductorList () const |
Get the inductors of the system (use GetElementsFromList first). More... | |
const std::vector< Line * > | GetLineList () const |
Get the lines of the system (use GetElementsFromList first). More... | |
const std::vector< Load * > | GetLoadList () const |
Get the loads of the system (use GetElementsFromList first). More... | |
const std::vector< SyncGenerator * > | GetSyncGeneratorList () const |
Get the synchronous generators of the system (use GetElementsFromList first). More... | |
const std::vector< SyncMotor * > | GetSyncMotorList () const |
Get the synchronous motors of the system (use GetElementsFromList first). More... | |
const std::vector< Transformer * > | GetTransformerList () const |
Get the transformers of the system (use GetElementsFromList first). More... | |
Protected Member Functions | |
void | SetEventTimeList () |
bool | HasEvent (double currentTime) |
void | SetEvent (double currentTime) |
bool | EventTrigger (double eventTime, double currentTime) |
void | InsertSyncMachinesOnYBus () |
std::complex< double > | GetSyncMachineAdmittance (SyncGenerator *generator) |
bool | InitializeDynamicElements () |
bool | CalculateInjectedCurrents () |
void | CalculateIntegrationConstants (SyncGenerator *syncGenerator, double id, double iq, double k=1.0) |
bool | SolveSynchronousMachines () |
void | SetSyncMachinesModel () |
SyncMachineModelData | GetSyncMachineModelData (SyncGenerator *syncMachine) |
double | CalculateSyncMachineIntVariables (SyncGenerator *syncGenerator, double id, double iq, double sd, double sq, double pe, double k=1.0) |
bool | CalculateSyncMachineNonIntVariables (SyncGenerator *syncGenerator, double &id, double &iq, double &sd, double &sq, double &pe, double k=1.0) |
void | CalculateReferenceSpeed () |
bool | CalculateSyncMachineSaturation (SyncGenerator *syncMachine, double &id, double &iq, double &sd, double &sq, bool updateCurrents=true, double k=1.0) |
void | SaveData () |
Protected Attributes | |
wxWindow * | m_parent = NULL |
wxString | m_errorMsg = _("Unknown error") |
double | m_systemFreq = 60.0 |
double | m_refSpeed = 2.0 * M_PI * 60.0 |
bool | m_useCOI = false |
std::vector< std::vector< std::complex< double > > > | m_yBus |
std::vector< std::vector< std::complex< double > > > | m_yBusU |
std::vector< std::vector< std::complex< double > > > | m_yBusL |
std::vector< std::complex< double > > | m_vBus |
std::vector< std::complex< double > > | m_iBus |
double | m_powerSystemBase = 100e6 |
double | m_simTime = 10.0 |
double | m_plotTime = 1e-2 |
double | m_timeStep = 1e-2 |
double | m_ctrlTimeStepMultiplier = 0.1 |
double | m_tolerance = 1e-8 |
int | m_maxIterations = 100 |
double | m_saturationTolerance = 1e-8 |
std::vector< double > | m_eventTimeList |
std::vector< bool > | m_eventOccurrenceList |
std::vector< double > | m_timeVector |
![]() | |
std::vector< PowerElement * > | m_powerElementList |
std::vector< Bus * > | m_busList |
std::vector< Capacitor * > | m_capacitorList |
std::vector< IndMotor * > | m_indMotorList |
std::vector< Inductor * > | m_inductorList |
std::vector< Line * > | m_lineList |
std::vector< Load * > | m_loadList |
std::vector< SyncGenerator * > | m_syncGeneratorList |
std::vector< SyncMotor * > | m_syncMotorList |
std::vector< Transformer * > | m_transformerList |
Calculates the electromechanical transient based on disturbances (e.g. system fault).
Definition at line 51 of file Electromechanical.h.