Stage 1 of 4 completed
Large loads on a transmission network: a staged study on the IEEE 24-bus Reliability Test System
I'm studying how much room a transmission network has for a large new load such as a data center, in four stages. The first stage is complete and is reported in detail below.
데이터센터 같은 큰 신규 부하를 송전망이 얼마나 받아낼 여유가 있는지 네 단계로 나눠 연구하고 있습니다. 첫 단계를 마쳤고, 아래에 자세히 정리했습니다.
Roadmap
- 1
Operating margin at one bus Completed, Nov 2026
Do generator settings chosen for a data center of about 100 MW keep the network within its limits, with margin to spare, as that demand moves?
약 100 MW 데이터센터에 맞춰 정한 발전기 설정이, 수요가 변해도 계통의 한계를 지키고 여유를 남기는가?
Read the stage 1 results1단계 결과 보기 - 2
N-1 security Up next
Repeat the check after each single line or generator outage, with post-outage limits and redispatch rules defined before any calculation is run.
선로나 발전기 하나씩이 탈락한 뒤에도 같은 판정을 반복합니다. 사고 후 허용 한계와 재급전 규칙은 계산 전에 먼저 정합니다.
- 3
Hosting capacity Planned
Under a stated operating policy, find how much load the bus can take before the first violation, in normal operation and after outages.
명시한 운전 정책 아래에서, 정상 상태와 사고 후 각각 첫 위반이 나기 전까지 모선이 받아낼 수 있는 부하를 찾습니다.
- 4
Other locations Planned
Compare candidate buses to see whether a setting or a capacity found at one location carries over to others.
후보 모선들을 비교해, 한 위치에서 찾은 설정이나 수용용량이 다른 위치에서도 통하는지 확인합니다.
Stages 2 to 4 are planned work. Results will be added to this page as each stage is finished.
2~4단계는 계획된 작업입니다. 각 단계를 마칠 때마다 결과를 이 페이지에 추가합니다.
Stage 1 of 4, completed November 2026
Operating margin for a data center load at one bus
The question
Data centers are the largest new loads utilities are planning for today, so I used one as the test case for a general operating question: when a large load is added, how much room is left before the network reaches its limits?
데이터센터는 지금 유틸리티가 계획에 반영해야 하는 가장 큰 신규 부하입니다. 그래서 "큰 부하가 추가되면 계통이 한계에 닿기까지 여유가 얼마나 남는가"라는 일반적인 운전 문제의 시험 사례로 삼았습니다.
A power-flow calculation that converges only tells you the equations were solved. It does not tell you that every generator and line stayed inside its rating, and it says nothing about how close to the edge the system is running. I kept those three questions separate throughout.
조류계산이 수렴했다는 것은 방정식이 풀렸다는 뜻일 뿐입니다. 모든 발전기와 선로가 정격 안에 있었다는 뜻도 아니고, 계통이 한계에 얼마나 가깝게 운전되는지도 알려주지 않습니다. 이 연구에서는 이 세 가지 질문을 끝까지 분리해서 다뤘습니다.
Model
- Network: the IEEE 24-bus Reliability Test System, a public benchmark.계통: 공개 벤치마크인 IEEE 24모선 신뢰도 시험계통.
- Data center: a constant-power load at bus 4, with reactive demand assumed to be 0.25 times active demand.데이터센터: 4번 모선의 일정 전력 부하. 무효전력 수요는 유효전력의 0.25배로 가정.
- Generation: 22 fixed injections keep their input values. Eleven sources respond: ten generators and the reference source at bus 13.발전: 고정 주입원 22개는 입력값 유지. 반응하는 전원은 일반 발전기 10개와 13번 모선의 기준 전원을 합친 11개.
- Control: each generator's active power and voltage target are held fixed, and its reactive power responds. The reference source balances active power, losses included.제어: 각 발전기의 유효전력과 전압 목표를 고정하고 무효전력이 반응. 기준 전원이 손실을 포함한 유효전력 수지를 맞춤.
These are modelling assumptions on a test network, not measurements from a real data center or a real grid.
시험 계통에서의 모델링 가정이며, 실제 데이터센터나 실제 전력망의 측정값이 아닙니다.
Three checks
| Check | What it asks | Threshold used here |
|---|---|---|
| Convergence | Did the solver reach a solution?풀이가 해에 도달했는가? | Recorded separately from the limits below아래 한계 판정과 별도로 기록 |
| Criterion A | Are the original physical limits respected?원래의 물리 한계를 지키는가? | Generator P and Q, bus voltages, line and transformer ratings, power balance발전기 P와 Q, 모선 전압, 선로와 변압기 정격, 전력 수지 |
| Criterion B | Is there reactive and voltage margin left?무효전력과 전압 여유가 남는가? | At least 0.25 Mvar on every responding source and 0.001 pu on every bus모든 반응 전원에서 0.25 Mvar 이상, 모든 모선에서 0.001 pu 이상 |
| Criterion C | Is there active-power margin on the reference source?기준 전원의 유효전력 여유가 남는가? | At least 1 MW from either limit양쪽 한계에서 1 MW 이상 |
The margins in B and C are buffers I chose for this study. They are not a regulatory requirement or a guarantee of operating reserve.
B와 C의 여유는 이 연구를 위해 제가 정한 버퍼입니다. 규정상의 요구나 실제 예비력의 보장이 아닙니다.
Result 1: four candidate settings
An optimal power flow at 100 MW produced four candidate generator settings. They differ only in the active and reactive range the reference source was designed to stay within. Each setting was then held fixed and checked by a separate power flow at 95, 100 and 105 MW.
100 MW에서 최적조류계산으로 발전기 설정 후보 네 개를 만들었습니다. 네 후보는 기준 전원이 머물도록 설계한 유효전력과 무효전력 범위만 다릅니다. 그다음 각 설정을 고정하고 95, 100, 105 MW에서 별도의 조류계산으로 확인했습니다.
| Setting | P design (MW) | Q design (Mvar) | 95 MW | 100 MW | 105 MW |
|---|---|---|---|---|---|
| P0Q0 | 69 to 197 | 0.98 to 79.02 | A ✓B ✓C – | A ✓B ✓C – | A ✕B ✕C – |
| P1Q0 | 76 to 190 | 0.98 to 79.02 | A ✓B ✓C ✓ | A ✓B ✓C ✓ | A ✓B ✕C ✓ |
| P0Q1 | 69 to 197 | 1.5 to 78.5 | A ✓B ✓C ✓ | A ✓B ✓C ✕ | A ✕B ✓C ✕ |
| P1Q1 | 76 to 190 | 1.5 to 78.5 | A ✓B ✓C ✓ | A ✓B ✓C ✓ | A ✓B ✓C ✓ |
P and Q design: the range the reference source was designed to stay within.P, Q 설계: 기준 전원이 머물도록 설계한 범위. ✓ pass합격 ✕ fail불합격 – not applied미적용
How I read this
Only P1Q1, which narrows both ranges, met all three criteria at all three demand levels. The two settings that narrow just one range fail in different ways. With only the active range narrowed (P1Q0), the smallest reactive margin at 105 MW is 0.1833 Mvar, short of the 0.25 Mvar buffer. With only the reactive range narrowed (P0Q1), the reference source reaches 202.494 MW at 105 MW, above its 197 MW limit.
두 범위를 모두 좁힌 P1Q1만 세 수요 전부에서 세 기준을 충족했습니다. 한 범위만 좁힌 두 설정은 서로 다른 방식으로 실패합니다. 유효전력 범위만 좁힌 P1Q0은 105 MW에서 최소 무효전력 여유가 0.1833 Mvar로, 버퍼 0.25 Mvar에 못 미칩니다. 무효전력 범위만 좁힌 P0Q1은 105 MW에서 기준 전원 출력이 202.494 MW로, 상한 197 MW를 넘습니다.
Leaving headroom in active power and in reactive power are separate design decisions, and here both were needed. This is one candidate per setting, so it shows what happened in these four cases and not a general rule. Criterion C did not exist when P0Q0 was run, so it is left as not applied.
유효전력의 여유와 무효전력의 여유는 서로 다른 설계 결정이고, 이 사례에서는 둘 다 필요했습니다. 설정마다 후보 하나씩만 본 결과이므로 이 네 경우에서 일어난 일을 보여줄 뿐 일반 법칙은 아닙니다. 기준 C는 P0Q0을 실행할 당시에는 없던 기준이어서 미적용으로 두었습니다.
Result 2: one setting, seventeen demand levels
I held the P1Q1 setting fixed and checked 17 demand levels chosen in advance, 1.25 MW apart from 90 to 110 MW. 13 met all three criteria. The last 4 broke at least one physical limit.
P1Q1 설정을 고정하고, 90~110 MW 사이에 1.25 MW 간격으로 미리 정한 17개 수요를 확인했습니다. 13개는 세 기준을 모두 충족했고, 마지막 4개는 물리 한계를 하나 이상 넘었습니다.
Met criteria A, B and CA, B, C 기준 충족 Broke a physical limit물리 한계 위반
As demand grows, Gen 1 at bus 2 supplies more reactive power to hold its voltage target, by about half a megavar per step. At 106.25 MW it would need 10.2557 Mvar against a limit of 10. That single violation is the first one in the series.
수요가 늘수록 2번 모선의 Gen 1은 전압 목표를 유지하려고 무효전력을 더 공급하며, 한 단계마다 약 0.5 Mvar씩 늘어납니다. 106.25 MW에서는 상한 10 Mvar에 대해 10.2557 Mvar가 필요해집니다. 이 위반 하나가 전체에서 첫 번째 위반입니다.
Met criteria A, B and CA, B, C 기준 충족 Broke a physical limit물리 한계 위반
The reference source picks up the added demand and the added losses, so its output rises almost in a straight line. At 106.25 MW it is at 196.869 MW, still inside its 197 MW limit but inside the 1 MW buffer. At 107.5 MW it is at 198.246 MW and over the limit. From there the violations accumulate: 1/3/4/6 across the last four points.
기준 전원은 늘어난 수요와 손실을 떠맡기 때문에 출력이 거의 직선으로 올라갑니다. 106.25 MW에서는 196.869 MW로, 상한 197 MW 안쪽이지만 1 MW 버퍼는 이미 침범했습니다. 107.5 MW에서는 198.246 MW로 상한을 넘습니다. 그 뒤로는 위반이 누적되어 마지막 네 점에서 각각 1/3/4/6건이 됩니다.
Show the numbers behind both charts
| Demand (MW) | Gen 1 Q (Mvar) | Reference P (MW) | Smallest Q margin (Mvar) | Smallest voltage margin (pu) | Violations | Verdict |
|---|---|---|---|---|---|---|
| 90 | 3.6684 | 179.068 | 0.2695 | 0.001000 | 0 | Pass합격 |
| 91.25 | 4.1634 | 180.431 | 0.2706 | 0.001000 | 0 | Pass합격 |
| 92.5 | 4.6603 | 181.794 | 0.2717 | 0.001000 | 0 | Pass합격 |
| 93.75 | 5.1591 | 183.159 | 0.2727 | 0.001000 | 0 | Pass합격 |
| 95 | 5.6599 | 184.525 | 0.2738 | 0.001000 | 0 | Pass합격 |
| 96.25 | 6.1626 | 185.892 | 0.2748 | 0.001000 | 0 | Pass합격 |
| 97.5 | 6.6673 | 187.260 | 0.2758 | 0.001000 | 0 | Pass합격 |
| 98.75 | 7.1739 | 188.630 | 0.2767 | 0.001000 | 0 | Pass합격 |
| 100 | 7.6826 | 190.000 | 0.2777 | 0.001000 | 0 | Pass합격 |
| 101.25 | 8.1932 | 191.371 | 0.2786 | 0.001000 | 0 | Pass합격 |
| 102.5 | 8.7058 | 192.744 | 0.2795 | 0.001000 | 0 | Pass합격 |
| 103.75 | 9.2204 | 194.118 | 0.2804 | 0.001000 | 0 | Pass합격 |
| 105 | 9.7370 | 195.493 | 0.2566 | 0.001000 | 0 | Pass합격 |
| 106.25 | 10.2557 | 196.869 | -0.2557 | 0.000424 | 1 | Physical violation물리 위반 |
| 107.5 | 10.7764 | 198.246 | -0.7764 | -0.000172 | 3 | Physical violation물리 위반 |
| 108.75 | 11.2991 | 199.624 | -1.2991 | -0.000771 | 4 | Physical violation물리 위반 |
| 110 | 11.8239 | 201.003 | -1.8239 | -0.001371 | 6 | Physical violation물리 위반 |
How I read this
The setting passes at 105 MW, but only just. Its smallest reactive margin there is 0.2566 Mvar against a 0.25 buffer, and its smallest voltage margin is 0.001000 pu against 0.001. A setting optimized for one demand level sits close to its limits, so it does not carry far to other levels.
이 설정은 105 MW에서 합격하지만 아슬아슬합니다. 그 점의 최소 무효전력 여유는 버퍼 0.25에 대해 0.2566 Mvar이고, 최소 전압 여유는 0.001에 대해 0.001000 pu입니다. 한 수요에 맞춰 최적화한 설정은 한계 가까이에 놓이기 때문에, 다른 수요로 멀리 옮겨 쓸 수 없습니다.
These are seventeen separate test points. They do not prove that every demand between them passes, and 105 MW is not a maximum capacity for this bus.
이 결과는 서로 떨어진 17개 시험점입니다. 그 사이의 모든 수요가 합격한다는 증명이 아니며, 105 MW가 이 모선의 최대 수용량이라는 뜻도 아닙니다.
Result 3: enforcing reactive limits
A power-flow solver can be told to enforce generator reactive limits. When a generator reaches its limit, the solver pins its reactive power there and stops holding its voltage target, which changes the bus from PV to PQ. I compared the same inputs with that option off and on.
조류계산 풀이에는 발전기 무효전력 제한을 강제하는 옵션이 있습니다. 발전기가 한계에 닿으면 무효전력을 그 값에 묶고 전압 목표 유지를 포기하며, 그 모선은 PV에서 PQ로 바뀝니다. 같은 입력에서 이 옵션을 껐을 때와 켰을 때를 비교했습니다.
| Case | Gen 1 Q (Mvar) | Gen 1 bus type | Criteria |
|---|---|---|---|
| 105.5 MW, limits off | 9.9442 | PV | A ✓B ✕C ✕ |
| 105.5 MW, limits on | 9.9442 | PV | A ✓B ✕C ✕ |
| 106.25 MW, limits off | 10.2557 | PV | A ✕B ✕C ✕ |
| 106.25 MW, limits on | 10.0000 | PQ | A ✓B ✕C ✕ |
How I read this
At 105.5 MW no generator reaches a limit, so the option changes nothing and the two rows are identical. At 106.25 MW, turning it on pins Gen 1 at 10 Mvar and the physical violation disappears. The bus 2 voltage ends slightly below its target, and criteria B and C still fail because a generator sitting on its limit has no margin left.
105.5 MW에서는 한계에 닿는 발전기가 없어서 옵션이 아무것도 바꾸지 않고, 두 행이 정확히 같습니다. 106.25 MW에서는 옵션을 켜면 Gen 1이 10 Mvar에 묶이면서 물리 위반이 사라집니다. 대신 2번 모선 전압이 목표보다 약간 낮아지고, 한계에 붙은 발전기에는 여유가 남지 않으므로 기준 B와 C는 여전히 불합격입니다.
Removing a violation is not the same as passing. The PV to PQ switch is a rule inside a static calculation, and not a simulation of how a real voltage regulator behaves over time.
위반이 사라졌다고 합격이 되는 것은 아닙니다. PV에서 PQ로의 전환은 정적 계산 안의 규칙이며, 실제 전압조정기가 시간에 따라 동작하는 모습을 모의한 것이 아닙니다.
What stage 1 does not show
- N-1 security. Outages were screened earlier for selected cases only. This is stage 2.N-1 안전성. 상정사고는 이전에 선택한 사례만 검토했습니다. 2단계에서 다룹니다.
- A maximum hosting capacity, or a continuous range of acceptable demand. This is stage 3.최대 수용용량, 또는 허용 수요의 연속 구간. 3단계에서 다룹니다.
- Other locations. The data center stays at bus 4 throughout. This is stage 4.다른 위치. 데이터센터는 계속 4번 모선에 있습니다. 4단계에서 다룹니다.
- Dynamic behaviour. Every result is a steady-state snapshot.동특성. 모든 결과는 정상상태의 한 시점입니다.
- A real system. Open questions about some benchmark reactive limits were inherited and not resolved.실제 계통. 벤치마크의 일부 무효전력 한계에 대한 출처 의문은 해결하지 못한 채 이어받았습니다.
How it was done
Stage 1 shows 33 stored results that come from 29 unique power-flow runs, since four results are reused between sections. The four optimal power flows that produced the settings are counted separately. Tools: Python with pandapower, and MATPOWER in MATLAB.
1단계에서 표시한 저장 결과는 33개이고, 섹션 사이에 네 개가 재사용되어 고유한 조류계산은 29회입니다. 설정을 만든 최적조류계산 4회는 따로 셉니다. 도구는 Python의 pandapower와 MATLAB의 MATPOWER입니다.
I set the direction, scope and pass or fail criteria and reviewed the results. ChatGPT supported planning and review, and Claude Code and Codex implemented and ran the calculations. I did not write all of the code by hand.
연구 방향과 범위, 합격 기준을 정하고 결과를 검토했습니다. 기획과 검토에는 ChatGPT의 도움을 받았고, 계산의 구현과 실행은 Claude Code와 Codex가 맡았습니다. 모든 코드를 직접 작성한 것은 아닙니다.
The stage 1 report and code will be linked here once I have finished reviewing them for public release.
1단계 보고서와 코드는 공개용 검토를 마친 뒤 이곳에 연결할 예정입니다.
End of stage 1.1단계 끝. Back to the roadmap로드맵으로 돌아가기