-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata_types.h
165 lines (137 loc) · 2.69 KB
/
data_types.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#ifndef DATA_TYPES_H_MINE
#define DATA_TYPES_H_MINE
#include "read_header.h"
#include <gsl/gsl_blas.h>
#include <gsl/gsl_complex.h>
#include <gsl/gsl_complex_math.h>
#define PI acos(-1.0)
#define Rval 9
struct Constant_getter
{
int NumberofGens,Number_of_lines,LOAD_FLOW_number;
};
typedef struct Constant_getter CONSTANT;
struct Machine_Data
{ // 0 is for Steady state,1 is for transient,2 is for Sub transient
double H,
Xd0,
Xd1,
Xd2,
Xq0,
Xq1,
Xq2,
Tdo1,
Tdo2,
Tqo1,
Tqo2;
};
typedef struct Machine_Data MCD;
struct exciter
{
double ka,
ta,
ke,
te,
kf,
tf;
};
typedef struct exciter EXCT;
struct TX_PARA_all
{
int bus1,
bus2;
double
R,
X,
B;
};
typedef struct TX_PARA_all TX_PARA;
struct LOAD_FLOW_STRUCTURE
{ int bus_number;
int bus_type;
double V,
theta,
Pg,
Qg,
Pl,
Ql;
};
typedef struct LOAD_FLOW_STRUCTURE LOAD_FLOW;
struct STRUCTURE_OF_STRUCT
{ CONSTANT * constants;
MCD * Generator_ps;
EXCT * exciter_ps;
LOAD_FLOW * Load_flow_ps;
TX_PARA * trans_line_para;
};
typedef struct STRUCTURE_OF_STRUCT COMB_STRUCT;
struct INITIAL_VALUES
{
gsl_complex I_0,
Eq_0,
id_0,
iq_0,
vd_0,
vq_0,
Efd_0,
Eq_dash_0,
Ed_dash_0,
Pe_0,
Pm_0;
double Ed_das_das,
Eq_das_das,
delta_0,
VQ,
VD;
gsl_complex I_0_DQFRAME;
};
typedef struct INITIAL_VALUES INITIAL;
struct Y_BUS_MATRIX
{
gsl_complex MAT[Rval][Rval];
};
typedef struct Y_BUS_MATRIX Y_STRUCT;
struct STATE_VARIABLE
{
double
Ed_das,
Eq_das,
Ed_das_das,
Eq_das_das,
delta,
slip,
Efd,
E_dummy;
};
typedef struct STATE_VARIABLE STATES;
struct NETWORK_VARIABLES_STATES
{
double VQ,
VD;
};
typedef struct NETWORK_VARIABLES_STATES NW_STATES;
struct CURRENT_DQ
{
double IQ,
ID;
};
typedef struct CURRENT_DQ I_in_DQ;
struct DIFFERENTIAL_OF_STATE
{
double
f_of_Ed_das,
f_of_Eq_das,
f_of_Ed_das_das,
f_of_Eq_das_das,
f_of_delta,
f_of_slip,
f_of_Efd,
f_of_E_dummy;
};
typedef struct DIFFERENTIAL_OF_STATE DIFF_STATES_VECTOR;
struct Y_block_2_2
{
double Y_2X2[2][2];
};
typedef struct Y_block_2_2 Y_2X2;
#endif