발전소 엔지니어링에서 “이 설비를 이렇게 바꾸면 효율이 얼마나 오를까?”라는 질문에 답하려면 어떤 도구가 필요할까? 수천억 원짜리 설비를 멈추고 실험할 수는 없는 노릇입니다. 발전소 엔지니어링의 표준 시뮬레이터로 자리 잡은 EBSILON® Professional의 원리와 활용법을 정리했습니다.
발전소 엔지니어링의 Thermoflow냐, EBSILON이냐
발전 시뮬레이션 업계의 양대 축, 미국의 Thermoflow(GT Pro/Steam Pro)와 독일의 EBSILON. 실무에서는 두 툴을 모두 쓰는 경우가 많지만, 용도에 따라 명확히 갈립니다. 결정적인 차이는 ‘자유도’에 있습니다.
Thermoflow는 빠른 초기 설계와 타당성 검토에 강점이 있습니다. 발전소 유형만 선택하면 자동으로 기본 사이클 구조가 생성되므로, 경험이 많지 않아도 단시간에 개략 성능 수치를 뽑아낼 수 있습니다. 반면 기존 발전소의 복잡한 계통이나 비표준 설비 구성을 그대로 재현하는 데는 한계가 있습니다. 이 경우 EBSILON이 유일한 대안이 되는 경우가 많습니다.
EBSILON을 선택하는 이유
- 무한한 커스터마이징 (Customization): Thermoflow는 미리 짜여진 템플릿 안에서 숫자만 바꾸는 형태라 편하지만, 신개념 열교환기나 복합적인 공정 같은 특이한 설비를 넣으려 하면 한계에 부딪힙니다. 반면 EBSILON은 터빈, 펌프, 파이프 하나하나를 레고 블록처럼 직접 조립합니다. 새로운 사이클을 연구하거나, 기존 발전소의 복잡한 개조 공사(Retrofit)를 모델링할 때 압도적으로 유리하죠.
- ‘현실’을 반영하는 Off-Design: 발전소는 설계점(Design Point, 100% 부하)에서만 운전하지 않습니다. EBSILON은 실제 기기의 성능 곡선(Characteristic Curve)을 입력하여 탈설계(Off-Design) 성능을 정밀하게 예측합니다. 실제 발전소 성능시험 결과와 비교했을 때 오차가 0.5% 미만인 사례도 보고됩니다.
반복 업무 자동화: EbsOpen과 EbsScript
외기 온도 -10℃부터 40℃까지 1도 간격으로 출력 변화를 계산하는 케이스 스터디를 수십 번 수동으로 돌려야 한다면? ‘EbsOpen’ 기능이 이 문제를 해결합니다. 실제로 500MW급 복합화력 발전소의 연간 성능 예측 업무에 이 방법을 적용하면, 수백 개의 외기 조건에 대한 발전 출력·열소비율·연료 소비량 계산을 수 분 내에 완료할 수 있습니다.
엑셀(Excel)과의 연동
EbsOpen은 엑셀 VBA를 통해 EBSILON을 제어하는 인터페이스입니다. 엑셀에 입력 조건(온도, 압력, 유량 등)을 수백 개 나열해두고 버튼 하나만 누르면, EBSILON이 백그라운드에서 자동으로 돌아가며 결과값을 엑셀 시트에 채워줍니다.
여기에 EbsScript(파스칼 기반 스크립트)까지 활용하면 “출력이 500MW가 될 때까지 연료량을 자동으로 조절하라”는 식의 고급 제어 로직도 구현할 수 있죠. 연간 성능 예측이나 민감도 분석(Sensitivity Analysis) 업무에 특히 효과적입니다.
모델링 에러와의 전쟁
EbsOpen 자동화를 본격적으로 활용하려면 단순한 VBA 루프 이상의 전략이 필요합니다. 외기 온도 시나리오처럼 단일 변수를 순환할 때는 기본 루프면 충분하지만, 연료 성분 변화와 부하율을 동시에 달리하는 2차원 매트릭스 케이스 스터디에서는 EBSILON 계산 중 수렴 실패가 발생한 셀을 별도 오류 로그로 저장하고 재시도 로직을 VBA에 넣어두지 않으면 수백 건 케이스 중 일부가 조용히 누락됩니다. 실무에서는 결과 엑셀 파일 내 특정 셀에 ‘−999’ 같은 오류 식별값을 약속해 두고 후처리 단계에서 이를 걸러내는 방법이 가장 안전합니다.
EbsScript를 활용한 수렴 제어도 중요합니다. 파스칼 기반이라 생소하게 느껴지지만, 구조는 단순합니다. 계산 전 컴포넌트의 초기값을 직전 케이스 결과로 자동 갱신하도록 스크립트를 짜두면 외기 온도가 급격히 변하는 케이스 사이에서도 초기값 불일치로 인한 수렴 실패를 크게 줄일 수 있습니다. 500MW급 복합화력 발전소 대상으로 외기 온도 −15℃에서 45℃까지 1℃ 단위 61개 케이스를 돌린 경험에서 이 방식을 적용하자 수렴 실패율이 기존 12%에서 1% 미만으로 떨어졌습니다.
EBSILON은 강력하지만 쉽지 않습니다. 복잡한 사이클을 공들여 그리고 실행 버튼을 눌렀는데 계산 자체가 시작되지 않고 에러(Error)를 뿜어낼 때가 있습니다. 연결되지 않은 라인(Open line)이 있거나, 압력/엔탈피 등 필수 물성치가 정의되지 않으면 툴은 아예 해석을 거부하죠.
모델링 오류를 완벽히 잡고 나서도 ‘초기값(Start Value) 설정’이라는 관문이 기다립니다. 프로그램이 계산의 방향을 잡을 수 있도록 압력이나 온도의 대략적인 값을 미리 지정해 주지 않으면 계산이 수렴하지 못하는 경우가 발생합니다. 이때 ‘Global Settings’에서 댐핑 팩터(Damping Factor)를 조절해 계산 보폭을 줄여주는 것이 유효합니다. 이렇게 쌓인 모델링 데이터는 나중에 가스터빈 연소 최적화나 설비 진단 시 귀중한 자산이 됩니다.
수렴 문제가 지속될 경우, 복잡한 모델을 서브시스템 단위로 분리하여 각각 수렴을 확인한 뒤 통합하는 Bottom-Up 방식이 효과적입니다. 특히 HRSG와 같이 다중 압력 시스템이 포함된 모델은 고압(HP) 계통부터 단독으로 수렴시킨 후 중압(IP), 저압(LP) 순으로 연결하면 초기 수렴 안정성이 높아집니다.
컴포넌트 라이브러리와 모델 버전 관리
프로젝트를 여러 건 수행하다 보면 비슷한 설비 구성을 반복적으로 모델링하는 상황이 발생합니다. 이때 시간을 절약해 주는 게 사용자 정의 컴포넌트 라이브러리(User Component Library)입니다. 자주 사용하는 터빈, 열교환기, 펌프 조합을 하나의 매크로(Macro) 블록으로 묶어두면, 새 프로젝트에서 드래그 앤 드롭만으로 즉시 재활용할 수 있죠. 복합화력 HRSG 모델, 석탄화력 급수가열기 트레인 등을 라이브러리로 관리하면 신규 프로젝트 착수 시 초기 모델링 시간을 절반 이하로 단축할 수 있습니다.
또한 모델 파일의 버전 관리를 소홀히 하면 낭패를 보기 쉽습니다. EBSILON 파일(.ebs)은 바이너리 포맷이라 일반 텍스트 비교(Diff)가 불가능하므로, 변경 이력을 별도 엑셀 시트에 기록하는 습관이 필수입니다. 날짜와 변경 사항을 파일명에 명기하고 주요 분기점마다 백업을 남기는 것이 기본 원칙이죠.
단순 설계를 넘어: 디지털 트윈(Digital Twin)으로의 진화
최근 발전소 현장에서는 EBSILON을 설계용으로만 쓰지 않습니다. 실시간 성능 감시 시스템(Performance Monitoring System)의 핵심 엔진으로 활용하고 있습니다. 기존에는 성능 저하를 인지하더라도 어느 설비가 원인인지 특정하기 어려웠으나, EBSILON 기반 온라인 모니터링 시스템은 실측값과 이론 계산값의 차이를 설비 단위로 분해하여 보여줍니다.
- Online Monitoring: 발전소 제어 시스템(DCS)에서 실시간 운전 데이터를 받아 EBSILON 모델에 넣습니다. 모델이 “현재 조건에서 나와야 할 이상적인 성능”을 계산하고, 이를 실제값과 비교하면 복수기 튜브 오염에 의한 효율 저하 같은 사항을 즉시 진단할 수 있습니다.
- What-if Simulation: “만약 수소 혼소율을 30%로 올리면 효율은 어떻게 될까?” 같은 가정을 사전에 시뮬레이션해 볼 수 있습니다. 이는 PI System 같은 데이터 분석 툴과 연계하여 발전소의 디지털 트윈(Digital Twin)을 구축하는 핵심 기술입니다.
- 무한한 자유도: 컴포넌트 조립 방식으로 어떤 복잡한 신규 사이클도 구현 가능
- 정교한 Off-Design: 부분 부하 및 환경 변화에 따른 설비 거동을 실제와 같이 예측
- 강력한 자동화: EbsOpen(엑셀 연동)과 스크립트로 반복 업무 자동화 실현
- 확장성: 물/증기 외에도 ORC, 수소, 초임계 CO2 등 차세대 유체 지원