[PowerSimCore / Models] 전력망 기초 컴포넌트(Load, Line, Bus) 구조 설계
• 1 min read
전력망 시뮬레이터의 핵심 연산을 담당하기 위해 가장 기본이 되는 부하(Load), 송전 선로(Line), 모선(Bus) 객체의 초기 구조를 설계하고 위상 연결성을 구현했다.
전력망 물리 요소 및 교류 계산 로직 구현
Load클래스를 설계하여 유효 전력(activePower)과 무효 전력(reactivePower)을 바탕으로std::complex<double>형태의 피상 전력을 반환하는getComplexPower()연산과 역률 계산 로직(getPowerFactor())을 구현했다.- 추후 단락 사고 계산 시 기여도를 분리하기 위해 일반 부하와 전동기 부하를 구분하는
LoadType열거형(General,Motor)을 적용했다. Line클래스는 송전 선로의 분포 정수 파라미터(저항, 인덕턴스, 컨덕턴스, 커패시턴스)를 받아 교류 임피던스와 어드미턴스를 도출하도록 모델링했다.- 주파수에 의존하는 리액턴스와 서셉턴스를 정확히 계산하기 위해 C++20 표준에 추가된
std::numbers::pi상수를 도입했다.
초기 토폴로지 구성을 위한 모선 객체 설계
- 전력망의 위상수학적 연결 거점 역할을 수행하는
Bus객체를 설계하여 고유 식별자(id)와 공칭 전압(nominalVoltage) 데이터를 관리하도록 했다. - 초기 아키텍처에서는 개별
Bus객체가 직접std::vector<std::shared_ptr<models::Load>>및Line포인터 컨테이너(loads_,lines_)를 내부적으로 소유하여, 자신과 인접한 하위 컴포넌트들의 위상 연결을 관리하는 방식을 채택했다.