![]() |
Power System Platform
2024w23a
|
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 |
| std::vector< double > | GetIterationVector () const |
| wxString | GetDebugMessage () const |
Public Member Functions inherited from ElectricCalculation | |
| ElectricCalculation () | |
| Constructor. | |
| ~ElectricCalculation () | |
| Destructor. | |
| virtual void | GetElementsFromList (std::vector< Element * > elementList) |
| Separate the power elements from a generic list. | |
| virtual bool | GetYBus (std::vector< std::vector< std::complex< double > > > &yBus, double systemPowerBase, YBusSequence sequence=POSITIVE_SEQ, bool includeSyncMachines=false, bool allLoadsAsImpedances=false, bool usePowerFlowVoltagesOnImpedances=false) |
| Get the admittance matrix from the list of elements (use GetElementsFromList first). | |
| virtual bool | InvertMatrix (std::vector< std::vector< std::complex< double > > > matrix, std::vector< std::vector< std::complex< double > > > &inverse) |
| Invert a matrix. | |
| 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. | |
| 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) |
| std::vector< double > | GaussianElimination (std::vector< std::vector< double > > matrix, std::vector< 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) |
| bool | GetParentBus (Element *childElement, Bus *&parentBus) |
| bool | GetParentBus (Element *childElement, Bus *&parentBus1, Bus *&parentBus2) |
| const std::vector< PowerElement * > | GetPowerElementList () const |
| Get the power elements of the system (use GetElementsFromList first). | |
| const std::vector< Bus * > | GetBusList () const |
| Get the buses of the system (use GetElementsFromList first). | |
| const std::vector< Capacitor * > | GetCapacitorList () const |
| Get the capacitors of the system (use GetElementsFromList first). | |
| const std::vector< IndMotor * > | GetIndMotorList () const |
| Get the induction motors of the system (use GetElementsFromList first). | |
| const std::vector< Inductor * > | GetInductorList () const |
| Get the inductors of the system (use GetElementsFromList first). | |
| const std::vector< Line * > | GetLineList () const |
| Get the lines of the system (use GetElementsFromList first). | |
| const std::vector< Load * > | GetLoadList () const |
| Get the loads of the system (use GetElementsFromList first). | |
| const std::vector< SyncGenerator * > | GetSyncGeneratorList () const |
| Get the synchronous generators of the system (use GetElementsFromList first). | |
| const std::vector< SyncMotor * > | GetSyncMotorList () const |
| Get the synchronous motors of the system (use GetElementsFromList first). | |
| const std::vector< Transformer * > | GetTransformerList () const |
| Get the transformers of the system (use GetElementsFromList first). | |
| const std::vector< HarmCurrent * > | GetHarmCurrentList () const |
| Get the harmonic current source of the system (use GetElementsFromList first). | |
Protected Member Functions | |
| void | SetEventTimeList () |
| bool | HasEvent (double currentTime) |
| void | SetEvent (double currentTime) |
| bool | EventTrigger (double eventTime, double currentTime) |
| void | InsertSyncMachinesOnYBus () |
| bool | InsertIndMachinesOnYBus () |
| bool | CalculateIndMachinesTransientValues (IndMotor *motor) |
| std::complex< double > | GetSyncMachineAdmittance (SyncGenerator *generator) |
| std::complex< double > | GetIndMachineAdmittance (IndMotor *motor) |
| bool | InitializeDynamicElements () |
| bool | CalculateInjectedCurrents () |
| void | CalculateIntegrationConstants (SyncGenerator *syncGenerator, double id, double iq, double k=1.0) |
| void | CalculateIntegrationConstants (IndMotor *indMotor, double ir, double im, double k=1.0) |
| bool | SolveMachines () |
| void | SetSyncMachinesModel () |
| SyncMachineModelData | GetSyncMachineModelData (SyncGenerator *syncMachine) |
| double | CalculateIntVariables (SyncGenerator *syncGenerator, double id, double iq, double sd, double sq, double pe, double k=1.0) |
| double | CalculateIntVariables (IndMotor *indMotor, double ir, double im, double te, double k=1.0) |
| bool | CalculateNonIntVariables (SyncGenerator *syncGenerator, double &id, double &iq, double &sd, double &sq, double &pe, double k=1.0) |
| bool | CalculateNonIntVariables (IndMotor *indMotor, double &ir, double &im, double &te, 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 () |
| void | PreallocateVectors () |
Protected Member Functions inherited from ElectricCalculation | |
| void | GetNextConnection (const unsigned int &checkBusNumber, const std::vector< std::vector< std::complex< double > > > &yBus, std::vector< bool > &connToSlack) |
Protected Attributes | |
| wxWindow * | m_parent = nullptr |
| 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_currentTime = 0.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 |
| int | m_currentPoint = 0 |
| std::vector< double > | m_eventTimeList |
| std::vector< bool > | m_eventOccurrenceList |
| std::vector< double > | m_timeVector |
| int | m_iterationsNum = 0.0 |
| std::vector< double > | m_iterationsNumVector |
| wxString | m_debugMessage = "" |
Protected Attributes inherited from ElectricCalculation | |
| 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 |
| std::vector< HarmCurrent * > | m_harmCurrentList |
Calculates the electromechanical transient based on disturbances (e.g. system fault).