@@ -183,35 +183,35 @@ class FictionalGridGenerator {
183
183
input_.node .push_back (mv_busbar);
184
184
for (Idx i = 0 ; i != option_.n_parallel_hv_mv_transformer ; ++i) {
185
185
// transformer, 150/10.5kV, 60MVA, uk=20.3%
186
- TransformerInput const transformer{id_gen_++,
187
- id_source_node,
188
- id_mv_busbar,
189
- 1 ,
190
- 1 ,
191
- 150.0e3 ,
192
- 10.5e3 ,
193
- 60.0e6 ,
194
- 0.203 ,
195
- 200e3 ,
196
- 0.01 ,
197
- 40e3 ,
198
- WindingType::wye_n,
199
- WindingType::delta,
200
- 5 ,
201
- BranchSide::from,
202
- 0 ,
203
- -10 ,
204
- 10 ,
205
- 0 ,
206
- 2.5e3 ,
207
- nan ,
208
- nan ,
209
- nan ,
210
- nan ,
211
- nan ,
212
- nan ,
213
- nan ,
214
- nan };
186
+ TransformerInput const transformer{. id = id_gen_++,
187
+ . from_node = id_source_node,
188
+ . to_node = id_mv_busbar,
189
+ . from_status = 1 ,
190
+ . to_status = 1 ,
191
+ . u1 = 150.0e3 ,
192
+ . u2 = 10.5e3 ,
193
+ . sn = 60.0e6 ,
194
+ . uk = 0.203 ,
195
+ . pk = 200e3 ,
196
+ . i0 = 0.01 ,
197
+ . p0 = 40e3 ,
198
+ . winding_from = WindingType::wye_n,
199
+ . winding_to = WindingType::delta,
200
+ . clock = 5 ,
201
+ . tap_side = BranchSide::from,
202
+ . tap_pos = 0 ,
203
+ . tap_min = -10 ,
204
+ . tap_max = 10 ,
205
+ . tap_nom = 0 ,
206
+ . tap_size = 2.5e3 ,
207
+ . uk_min = nan ,
208
+ . uk_max = nan ,
209
+ . pk_min = nan ,
210
+ . pk_max = nan ,
211
+ . r_grounding_from = nan ,
212
+ . x_grounding_from = nan ,
213
+ . r_grounding_to = nan ,
214
+ . x_grounding_to = nan };
215
215
input_.transformer .push_back (transformer);
216
216
// shunt, Z0 = 0 + j7 ohm
217
217
ShuntInput const shunt{
@@ -220,10 +220,23 @@ class FictionalGridGenerator {
220
220
}
221
221
222
222
// template input
223
- NodeInput const mv_node{0 , 10.5e3 };
223
+ NodeInput const mv_node{. id = 0 , . u_rated = 10.5e3 };
224
224
SymLoadGenInput const mv_sym_load{0 , 0 , 1 , LoadGenType::const_i, 0.8e6 , 0.6e6 };
225
225
// cable 3 * 630Al XLPE 10kV, per km
226
- LineInput const mv_line{0 , 0 , 0 , 1 , 1 , 0.063 , 0.103 , 0.4e-6 , 0.0004 , 0.275 , 0.101 , 0.66e-6 , 0.0 , 1e3 };
226
+ LineInput const mv_line{.id = 0 ,
227
+ .from_node = 0 ,
228
+ .to_node = 0 ,
229
+ .from_status = 1 ,
230
+ .to_status = 1 ,
231
+ .r1 = 0.063 ,
232
+ .x1 = 0.103 ,
233
+ .c1 = 0.4e-6 ,
234
+ .tan1 = 0.0004 ,
235
+ .r0 = 0.275 ,
236
+ .x0 = 0.101 ,
237
+ .c0 = 0.66e-6 ,
238
+ .tan0 = 0.0 ,
239
+ .i_n = 1e3 };
227
240
228
241
// random generator
229
242
std::uniform_int_distribution<Idx> load_type_gen{0 , 2 };
@@ -295,49 +308,74 @@ class FictionalGridGenerator {
295
308
296
309
void generate_lv_grid (ID mv_node, double mv_base_load) {
297
310
ID const id_lv_busbar = id_gen_++;
298
- NodeInput const lv_busbar{id_lv_busbar, 400.0 };
311
+ NodeInput const lv_busbar{. id = id_lv_busbar, . u_rated = 400.0 };
299
312
input_.node .push_back (lv_busbar);
300
313
// transformer, 1500 kVA or mv base load, uk=6%, pk=8.8kW
301
- TransformerInput const transformer{id_gen_++,
302
- mv_node,
303
- id_lv_busbar,
304
- 1 ,
305
- 1 ,
306
- 10.5e3 ,
307
- 420.0 ,
308
- std::max (1500e3 , mv_base_load * 1.2 ),
309
- 0.06 ,
310
- 8.8e3 ,
311
- 0.01 ,
312
- 1e3 ,
313
- WindingType::delta,
314
- WindingType::wye_n,
315
- 11 ,
316
- BranchSide::from,
317
- 3 ,
318
- 5 ,
319
- 1 ,
320
- 3 ,
321
- 250.0 ,
322
- nan ,
323
- nan ,
324
- nan ,
325
- nan ,
326
- nan ,
327
- nan ,
328
- nan ,
329
- nan };
314
+ TransformerInput const transformer{. id = id_gen_++,
315
+ . from_node = mv_node,
316
+ . to_node = id_lv_busbar,
317
+ . from_status = 1 ,
318
+ . to_status = 1 ,
319
+ . u1 = 10.5e3 ,
320
+ . u2 = 420.0 ,
321
+ . sn = std::max (1500e3 , mv_base_load * 1.2 ),
322
+ . uk = 0.06 ,
323
+ . pk = 8.8e3 ,
324
+ . i0 = 0.01 ,
325
+ . p0 = 1e3 ,
326
+ . winding_from = WindingType::delta,
327
+ . winding_to = WindingType::wye_n,
328
+ . clock = 11 ,
329
+ . tap_side = BranchSide::from,
330
+ . tap_pos = 3 ,
331
+ . tap_min = 5 ,
332
+ . tap_max = 1 ,
333
+ . tap_nom = 3 ,
334
+ . tap_size = 250.0 ,
335
+ . uk_min = nan ,
336
+ . uk_max = nan ,
337
+ . pk_min = nan ,
338
+ . pk_max = nan ,
339
+ . r_grounding_from = nan ,
340
+ . x_grounding_from = nan ,
341
+ . r_grounding_to = nan ,
342
+ . x_grounding_to = nan };
330
343
input_.transformer .push_back (transformer);
331
344
332
345
// template
333
346
NodeInput const lv_node{.id = 0 , .u_rated = 400.0 };
334
347
AsymLoadGenInput const lv_asym_load{
335
348
0 , 0 , 1 , LoadGenType::const_i, RealValue<asymmetric_t >{0.0 }, RealValue<asymmetric_t >{0.0 }};
336
349
// 4*150 Al, per km
337
- LineInput const lv_main_line{0 , 0 , 0 , 1 , 1 , 0.206 , 0.079 , 0.72e-6 , 0.0004 , 0.94 , 0.387 , 0.36e-6 , 0.0 , 300.0 };
350
+ LineInput const lv_main_line{.id = 0 ,
351
+ .from_node = 0 ,
352
+ .to_node = 0 ,
353
+ .from_status = 1 ,
354
+ .to_status = 1 ,
355
+ .r1 = 0.206 ,
356
+ .x1 = 0.079 ,
357
+ .c1 = 0.72e-6 ,
358
+ .tan1 = 0.0004 ,
359
+ .r0 = 0.94 ,
360
+ .x0 = 0.387 ,
361
+ .c0 = 0.36e-6 ,
362
+ .tan0 = 0.0 ,
363
+ .i_n = 300.0 };
338
364
// 4*16 Cu, per km
339
- LineInput const lv_connection_line{0 , 0 , 0 , 1 , 1 , 1.15 , 0.096 ,
340
- 0.43e-6 , 0.0004 , 4.6 , 0.408 , 0.258e-6 , 0.0 , 80.0 };
365
+ LineInput const lv_connection_line{.id = 0 ,
366
+ .from_node = 0 ,
367
+ .to_node = 0 ,
368
+ .from_status = 1 ,
369
+ .to_status = 1 ,
370
+ .r1 = 1.15 ,
371
+ .x1 = 0.096 ,
372
+ .c1 = 0.43e-6 ,
373
+ .tan1 = 0.0004 ,
374
+ .r0 = 4.6 ,
375
+ .x0 = 0.408 ,
376
+ .c0 = 0.258e-6 ,
377
+ .tan0 = 0.0 ,
378
+ .i_n = 80.0 };
341
379
342
380
// generator
343
381
std::uniform_int_distribution<Idx> load_type_gen{0 , 2 };
0 commit comments