오픈 소스 CFD의 활용은 단순히 상용 프로그램을 대체하여 라이선스 비용을 줄이는 문제가 아닙니다. 오픈 소스를 이용함으로써 CFD Workflow를 혁신할 수 있는 방법입니다. 2025년 OKUCC(OpenFOAM Korea Users’ Community Conference)에서 발표된 내용을 정리했습니다.
OpenFOAM 혹은 BARAM에 대한 질문들
OpenFOAM 혹은 BARAM에 대한 질문들은 거의가 다음과 같은 것들입니다.
- 계산 결과는 정확한가요?
- 계산 속도는 빠른가요?
- 기능은 충분히 있나요?
- 안정적인가요?
- 다른 사람이 믿어 주나요?
이런 질문에 대한 답은 시장 지배적인 상용 코드와 크게 다르지 않다는 것입니다. 이런 질문들의 배경에는 High End CFD Code/Low Level CFD Code라는 구분이 있는 것 같습니다. 이런 구분은 많은 사람들의 인식에 스며들어 있는데요, 사실 이것은 소수 상용 코드들의 굉장히 성공한 마케팅 전략의 성과물일 뿐입니다.
위의 질문들은 모두 소프트웨어의 성능에 대한 질문입니다. 오픈 소스 소프트웨어를 사용한다는 것은 단순한 소프트웨어의 성능 문제가 아니라, workflow의 혁신입니다. 다른 질문들이 필요합니다. 소총 밖에 없는 나라의 군대가 기관총의 도입을 검토할 때는, 총의 사거리와 정확도가 아니라 그로 인한 전술의 변화를 우선 검토해야 하는 것처럼 오픈 소스를 통한 CFD workflow의 혁신을 고려해야 합니다.
Why Open Source – CFD 환경의 변화
CAD, CFD, HPC 기술의 발전으로 CFD 환경은 매우 빠른 속도로 변하고 있습니다.
- 예전에는 많은 계산 시간이 중요한 문제였다면, 지금은 많은 계산 조건이 중요한 문제가 되고 있습니다.
- 과거 소수의 전문 인력이 사용하는 도구였던 것이 다양한 분야의 많은 사람들이 활용할 수 있는 기술이 되었습니다.
- 연구를 위한 CFD 해석에서 설계 프로세스에 통합된 하나의 과정이 되어가고 있습니다.
- 단순 열유동 해석을 넘어 다양한 물리 현상과 결합된 multi-physics 시뮬레이션의 필요성이 점점 커지고 있습니다.
- HPC 사용은 일반화 되었고 클라우드의 사용도 확대되고 있습니다.
- 디지털 트윈, 인공지능, 다목적 설계 최적화와 CFD의 결합이 요구되고 있습니다.
이런 변화된 환경 속에서 CFD workflow는 여전히 상용 코드의 라이선스와 닫힌 구조에 갇혀 있는 곳이 아직 너무 많은 것 같습니다.

Workflow
CFD에 국한된 Workflow는 전처리-계산-후처리로 구성되는 CFD 해석 과정을 뜻하지만, 전체 업무 시스템과의 연동의 관점에서도 볼 수 있습니다.

CFD 해석 과정은 Geometry – Meshing – Solver setup – Solving – Post-processing – Reporting 과정이 한 방향으로 순차적으로 진행되는 것으로 많이 인식되어 있습니다. 그렇지만 많은 경우 각 단계마다 분기 되어 많은 순환 고리들이 만들어질 수 있습니다. 이것 때문에 상용 코드들도 work bench 등의 이름으로 나름의 솔루션을 제공합니다. 그렇지만 상용 코드의 솔루션은 자사의 제품들, 엄밀히 말하면 우리가 구매한 솔루션들만을 사용할 수 있는 경우가 대부분입니다. 오픈 소스의 사용은 다양한 workflow를 구현하고 자동화할 수 있는 반면, 상용 코드의 닫힌 구조는 workflow의 유연성과 자동화에 한계가 있을 수 밖에 없습니다.
이런 문제는 전체 업무 시스템에서 CFD가 어떻게 동작하는지에 관한 workflow를 설계할 때도 발생하게 됩니다.

CAD cleanup, Meshing, CFD solver, post-processor, CAE solution, AI, Digital Twin, MDO, SPDM, System analysis 등의 모든 과정을 한 회사의 제품으로 통일해서 사용하게 하는 것이 현재 상용 코드들의 전략입니다. 그것이 그들의 가치를 극대화 할 수 있는 방법이며 이를 위해 많은 엔지니어링 솔루션 기업들이 소수의 회사로 병합되고 있습니다. 하나의 기업에서 모든 솔루션을 구매하고 전체 workflow를 설계하는 것도 한 가지 방법이지만, 절대 좋은 방법이라고 생각되지는 않습니다.
기존 workflow의 한계는 다음과 같이 정리할 수 있습니다.
- 고비용 상용 라이선스, 불투명한 알고리즘, 자동화의 어려움, 확장성의 한계, 협업과 데이터 관리의 어려움
- 단절적이고 수동적인 workflow
- 제한된 사용자 수와 코어 수에 의해 workflow가 결정됨
오픈 소스를 이용한 workflow는 다음과 같은 장점이 있습니다.
- 자동화된 파이프라인, 데이터 관리 연계(SPDM), 클라우드/HPC 확장성, ML/AI 연계
- 반복 업무 자동화, 대규모 파라메트릭 스터디, 최적화와 실시간 피드백
- 단순히 도구의 교체가 아니라, 일하는 방식 자체를 혁신하는 것
Workflow 설계 시 고려할 점
Workflow 설계 시 많은 고려 사항이 있겠지만 다음과 같은 항목들이 중요한 것으로 생각됩니다. 만약 상용 코드를 주로 사용한다면 이 고려 사항 중 많은 것들이 불필요한 고민이 될 것입니다. 답이 정해져 있거나 고민해도 답이 없는 것들이 있으니까요.
- 어느 단계(분야)에서 사용할 것인가?
- 각 단계(분야)에서 어떤 사람들이 사용할 것인가?
- 적절한 UX는 어떤 것인가?
- 계산 장비의 운용 전략은? – On-premise/Cloud
- ML/AI 연계 혹은 시험 데이터와 해석 데이터의 융합 방법은?
- 디지털 트윈 연동 방안은?
- 다른 솔루션 혹은 시스템과의 연동 방안은?
- 필요 소프트웨어와 적정 라이선스 규모는?
CFD 해석을 누가 할 것인가 – 해석팀 vs 실무팀?
많은 기관들이 CFD/CAE 해석을 전문적으로 하는 소위 해석팀을 구성하고 있습니다. 설계 등의 실무팀에서 업무를 의뢰 받아 계산 및 결과 분석을 하여 결과를 제공합니다. 이런 방식은 고급 전문가들이 해석하기 때문에 좋은 결과를 효율적으로 얻을 수 있는 장점이 있습니다. 반면 외뢰가 많아지면 원하는 기간에 결과를 얻을 수 없게 되거나, 실무에 대한 전문 지식이 상대적으로 부족해 목적에 비해 비 효율적인 계산을 하게 될 위험이 있습니다. 그리고 CFD 엔지니어가 단순한 CFD 모델러가 되어 버릴 수도 있습니다.
필요한 사람이 직접 계산하는 것이 가장 좋은 방법이지만 CFD에 대한 전문 지식 부족, 상용 코드의 라이선스 비용, 계산 장비의 효율적 운용 등의 문제가 있습니다.
이 문제에 대해 두 가지 방법이 많이 사용되고 있습니다.
- 방법 1 – 전용 프로그램 개발
- CFD 전문가는 해석 검증을 통해 최적 해석 방법을 정립
- Human error 최소화, 일정 수준의 정확도 확보가 가능하도록 프로세스와 UX를 설계/제작해서 전달
- 현업에서 사용하면서 지속적인 피드백과 개선
- 방법 2 – 대리(Surrogate) 모델 구축
- 다양한 조건에 대한 해석 데이터를 구축하고 Surrogate 모델을 구축해서 전달
- Kriging, Reduced Order Model, Machine Learning 등의 방법을 사용
- 지속적인 모델 업데이트
두 가지 방법 모두 오픈 소스의 사용이 필수적입니다.
Workflow 혁신의 사례
전용 프로그램 개발
전용 프로그램 개발은 실무팀에 해석 업무를 넘겨 주기 위한 목적 뿐 아니라, 해석팀의 업무 효율화를 위해서도 많이 개발되고 있습니다.
전용 프로그램의 개발은 대상 문제에 대한 검증, 최적의 해석 조건 결정, 자동화 전략 수립, UX 제작 등의 단계로 구성됩니다. 넥스트폼이 개발한 사례들은 에어컨 실외기, 유해 물질 확산, 데이터 센터 냉각, 선박 저항 해석 및 부가물 설계, 자동차 HVAC, 열교환기, 터널 화재, Dispensing, MLCC, Slot Die Coating, 플랫폼 스크린 도어(PSD) 등이 있습니다.

비행체 CFD 해석 및 설계 통합 자동화 인터페이스
비행체 개발의 핵심인 공력해석 전 과정을 자동화하는 기술을 개발하고, 이를 설계 프레임워크와 연동시켜 통합 인터페이스를 개발하였습니다. 해석 프로세스 자동화를 위해 매개변수를 이용한 비행체 형상 자동생성, 표면 및 공간격자 자동생성, 계산을 위한 솔버 설정과 후처리 자동화 모듈을 개발하였습니다. 형상 매개변수는 Missile DATCOM을 사용하였으며 형상 생성은 OpenCascade를, 격자 생성은 Salome를 사용하였습니다. 유동장 분포와 표면 이미지 생성은 ParaView 매크로를 이용하여 자동 생성 되고, 공력 DB는 설계 프레임워크와 연동을 위해 SQL, csv 파일 형식으로 생성됩니다. 통합 GUI에서 파라미터 입력, job monitoring, 3D/2D image viewer 등의 기능이 제공되고, 통합 CLI를 통해 각 모듈을 파이썬에서 실행할 수 있습니다.

비행체 공력 DB 구축 framework
CFD 기반의 공력 DB 구축을 위해 대체모델 기반의 공력 DB 구축 자동화 프레임워크와 GUI 환경의 프로그램을 개발하였습니다. 대체모델 기법은 상대적으로 적은 비용으로 실제 모델의 반응을 모델링함으로써, DB 구축에 필요한 비용과 기간을 크게 줄일 수 있고 실험점 외의 연속적인 모든 조합의 조건에 대해 공력 특성을 도출할 수 있습니다. 대체모델 구축은 DOE 기반 해석점 선정, 유동해석, 대체모델 생성 및 검증 등 여러 층위의 작업이 필요한데, 상호 이질적인 작업들을 하나의 프레임워크로 통합하여 작업 효율성과 확장성을 얻을 수 있습니다. 비행체의 마하수, AOA, Bank angle, Fin deflection angle 등의 변수에 대해 적절한 해석점을 도출하고 크리킹 모델 생성을 통해 공력 DB를 구축합니다. 상세 내용 보기

다목적 최적설계 framework
차세대 고속열차의 공력성능 최적화를 위한 전두부 형상최적설계 framework를 개발하였습니다. 베지에 (Bezier) 곡선 및 곡면을 활용하여 고속열차 전두부를 모사할 수 있는 형상 모델 및 27개의 형상매개변수를 도출하였습니다. 500개의 sample case를 해석하여 Surrogate model을 생성하였으며, NSGA-II 기법으로 항력/미기압파/전도모멘트 등 여러 목적함수에 대해 단일 목적 최적화 및 다목적 최적화를 수행하였습니다. 모든 목적함수에서 5~20%의 전반적 성능 개선이 가능함을 확인하였으며, 사용자가 목적함수 가중치를 조작하면 그에 맞는 최적 형상을 도출하는 프레임워크를 구현하였습니다. 상세 내용 보기

오염물 확산 디지털 트윈 연동
대기 오염 확산 예측을 위해 CFD 분석 환경을 한국국토정보공사의 디지털 트윈 플랫폼 상에 SaaS 서비스로 구현함으로써 활용성과 접근성을 극대화 하였으며, 센서 계측 데이터와 시뮬레이션 데이터를 융합하였습니다. 대상지의 지형, 건축물, 지표면 인근 구조물의 CAD 데이터를 자동으로 생성합니다. 기상 정보 연계를 통해 실제 기상 정보를 시뮬레이션에 반영하며, 자동 격자 생성 및 시뮬레이션 수행으로 전문적 지식이 없이도 시뮬레이션이 가능한 SaaS를 구축하였습니다. 상세 내용 보기

3D CAD 메타 데이터를 이용한 해석 자동화 및 웹 플랫폼
선박용 엔진의 배가스 유동 해석 자동화는 배관 시스템의 형상 모델링이 가장 어려운 문제입니다. 배관 시스템의 3차원 CAD cleanup은 매우 힘든 작업이기 때문에 CAD 형상을 사용하지 않고, 3차원 CAD의 메타 데이터를 이용해 유동 영역의 형상과 격자를 Salome 스크립트를 이용해 자동으로 생성합니다. 여러 설계자가 직접 사용할 수 있도록 자체 웹 플랫폼에 UX를 구현하였습니다.

엑셀 파일을 이용한 드론 해석
무인이동체 매개변수 기반 형상 자동화 프레임워크에서 생성된 CAD 파일을 이용하여, 격자 생성과 유동해석의 자동화 모듈을 개발하였습니다. 계산 결과로부터 압력장, 각 모듈에 작용하는 힘과 공력계수를 자동으로 추출하는 후처리 모듈이 포함됩니다. 형상 파일은 propeller, boom, fuselage, spinner, motor, carnard, wing 등으로 구성되는데 각 부분들에 대해 표면격자 크기 및 feature edge 추출 옵션을 자동으로 설정합니다. 해석 조건은 excel 파일에서 비행조건(속도, 받음각, 옆미끄럼각), Actuator disk 적용을 위한 로터 특성(Cp, Ct, lift direction), 계산조건 등의 값을 입력받습니다. 격자생성 – 유동해석 – 후처리의 전과정은 하나의 파이썬 스크립트로 실행됩니다.

넥스트폼의 사례
넥스트폼은 CFD 컨설팅 기업으로 BARAM, OpenFOAM, OpenCascade, Salome, ParaView, VTK, FreeCAD, OpenScad, Pyside, Python 등의 오픈 소스 프로그램을 사용하고 있으며, 직접 개발하는 BARAM과 OpenFOAM 코드 개선은 Github와 Gitlab을 이용해 관리하고 있습니다.
넥스트폼이 지난 15년간 오픈 소스를 사용함으로써 절감한 라이선스 비용은, 15명이 각자 3개의 코어수 무제한 사용자 라이선스를 사용한다고 봤을 때 300억원 이상이 됩니다.

CFD Code
CFD code는 OpenFOAM을 기반으로 성능을 개선하고 필요한 기능을 개발하고 있습니다. 개발된 코드는 NextFOAM이라는 OpenFOAM 포크로 통합하여 관리하고 있으며 NextFOAM은 OpenCFD의 코드와 연동하여 OpenCFD 최신 버전의 기능을 사용할 수 있게 합니다.
Geometry
- OpenCascade를 기반으로 형상 생성 자동화
- 전용 CAD 프로그램 개발
- 수치지형도를 이용한 지형과 건축물 자동 형상 생성 프로그램 개발
- Bezier Surface를 이용한 형상 생성
- 상용 코드(ANSA)를 이용한 CAD Cleanup

Mesh
- snappyHexMesh와 각종 유틸리티를 이용한 baramMesh 개발
- Salome를 이용하여 사면체 격자 생성, 사면체 격자의 polyhedral 격자로 변환 프로그램 개발
- Mesh deforming 유틸리티 개발(deformMesh)
- snappyHexMesh를 위한 STEP 파일 입력 및 경계면 분리 기능 개발
- 상용 코드 격자 변환
- 파이썬을 이용한 StarCCM+ 격자 변환 프로그램 개발
- Fluent 격자의 multi-region 격자로 자동 분할 기능 개발

Solver Setup
- baramFlow UX 개발
- LLM을 이용한 baramFlow 케이스 자동 생성
Post-processing
- baramFlow 후처리 기능 개발
- ParaView를 이용한 자동화 프로세스 개발
- 보고서 자동 생성 기능 개발
- VR/AR 연동 기능 개발
AI, Data based simulation
- baramFlow의 batch run 기능
- POD/ROM을 이용한 실시간 시뮬레이터 개발 – baramFlow에 통합
- ML을 이용한 surrogate model 개발
- PINN을 이용한 시뮬레이션 기법 개발
- Gappy POD를 이용한 계측 데이터와 연동

오픈 소스 CFD의 확산
오픈 소스 CFD의 사용은 급격하게 확산되고 있습니다. 넥스트폼이 운영하는 Baram Portal(baramcfd.org) 사이트의 2025년 1월부터 8월까지 현황은 활성 사용자 수 9,700명, 이벤트 수 26만입니다. 전체 117개 나라에 활성 사용자가 있으며 한국이 30% 정도를 차지하고 있습니다. 다운로드 회수는 988번이고 다운로드한 사람은 534명입니다.


미래 전망 및 결론
앞으로의 CFD는 단순한 해석을 넘어서 디지털 트윈과 연결될 것입니다. 실시간 센서 데이터와 CFD 모델을 융합하여 운영 중인 시스템의 상태를 예측하는 것이 가능해 지고, 머신러닝과 결합해 surrogate model을 만들어 수 초 만에 CFD 수준의 결과를 예측할 수 있을 것입니다. 이 모든 것은 오픈 소스 생태계와 함께 발전하여, 기업과 학계, 커뮤니티가 함께 혁신을 이끌어갈 것입니다
오픈 소스는 단순히 무료 대안이 아니라, CFD workflow 자체를 혁신하는 도구입니다. 투명성, 확장성, 자동화가 그 핵심 가치이며 더 빠른 설계 사이클, 낮은 비용, 높은 혁신성으로 이어질 것입니다.
오픈 소스 CFD 프로그램 개발에 여러분의 참여를 기다립니다.
오픈 소스 도입 시 주의 사항
많은 분들이 OpenFOAM, BARAM 교육을 받고 직접 POC(Proof Of Concept)를 진행하려고 하시는데 그리 좋은 방법은 아닌 것 같습니다. OpenFOAM은 그리 쉽지 않습니다. 굳이 OpenFOAM으로 하실 필요는 없습니다. BARAM으로도 생각만큼 빨리 되지 않습니다. 아마 상용 코드를 처음 도입할 때와 비슷한 시간과 노력이 소요될 것입니다. 시간이 지나다 보면 다른 일이 생기고 유야무야 되기 쉽습니다. 혼자 하지 마시고 전문가와 같이 하는 것이 좋습니다.
오픈 소스 도입을 꼭 하고 싶어하지 않는 경우도 많습니다. 이미 상용 프로그램으로 셋업 된 프로세스는 힘이 무척 셉니다. 기존 프로세스 개선에는 여러가지 비 기술적 요소들이 장벽으로 작용합니다. 안되는 무엇인가를 찾기 위해 노력하는 경우도 생깁니다.
너무 “무료”에 집착하지 마세요. 중요한 것은 무료가 아니라 혁신입니다