summaryrefslogtreecommitdiffstats
path: root/Project/SyncGenerator.h
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-05-24 17:50:36 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-05-24 17:50:36 -0300
commitc91e58bb903adeff1e8c0fff1868e80783010e58 (patch)
treed9eaa3ff5b186cddb8bd658a8386e58591fd8174 /Project/SyncGenerator.h
parent2c60c7c13ecc8e45e072346193a820f697fb6fdf (diff)
downloadPSP.git-c91e58bb903adeff1e8c0fff1868e80783010e58.tar.gz
PSP.git-c91e58bb903adeff1e8c0fff1868e80783010e58.tar.xz
PSP.git-c91e58bb903adeff1e8c0fff1868e80783010e58.zip
Dynamic elements initialization implemented
Diffstat (limited to 'Project/SyncGenerator.h')
-rw-r--r--Project/SyncGenerator.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/Project/SyncGenerator.h b/Project/SyncGenerator.h
index 5fe078f..8cadddc 100644
--- a/Project/SyncGenerator.h
+++ b/Project/SyncGenerator.h
@@ -5,6 +5,7 @@
class SyncMachineForm;
class ControlElementContainer;
+class ControlElementSolver;
struct SyncGeneratorElectricalData {
// General
@@ -61,9 +62,44 @@ struct SyncGeneratorElectricalData {
double subTd0 = 0.0;
double subTq0 = 0.0;
+ // Machine state variables
+ std::complex<double> terminalVoltage;
+ std::vector<std::complex<double> > terminalVoltageVector;
+ std::complex<double> electricalPower;
+ std::vector<std::complex<double> > electricalPowerVector;
+ double pm;
+ std::vector<double> mechanicalPowerVector;
+ double speed;
+ std::vector<double> freqVector;
+ double fieldVoltage;
+ std::vector<double> fieldVoltageVector;
+ double delta;
+ std::vector<double> deltaVector;
+
+ double initialFieldVoltage;
+
+ // Internal machine variables
+ double tranEq;
+ double tranEd;
+ double subEq;
+ double subEd;
+ double pe;
+
+ // Integration constants
+ IntegrationConstant icSpeed;
+ IntegrationConstant icDelta;
+ IntegrationConstant icTranEq;
+ IntegrationConstant icTranEd;
+ IntegrationConstant icSubEq;
+ IntegrationConstant icSubEd;
+
// Control
ControlElementContainer* avr = NULL;
ControlElementContainer* speedGov = NULL;
+
+ // Control solvers
+ ControlElementSolver* avrSolver = NULL;
+ ControlElementSolver* speedGovSolver = NULL;
};
class SyncGenerator : public Machines