OpenFOAMGPT: A retrieval-augmented large language model (LLM) agent for OpenFOAM-based computational fluid dynamics

์ €์ž: Sandeep Pandey, Ran Xu, Wenkang Wang, Xu Chu | ๋‚ ์งœ: 2025 | DOI: 10.1063/5.0257555 📄 PDF


Essence

๋ณธ ๋…ผ๋ฌธ์€ OpenFOAM ๊ธฐ๋ฐ˜ ์ „์‚ฐ์œ ์ฒด์—ญํ•™(CFD) ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•ด ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ(RAG) ๊ธฐ์ˆ ๋กœ ๊ฐ•ํ™”๋œ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด๋ชจ๋ธ(LLM) ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ OpenFOAMGPT๋ฅผ ์ œ์‹œํ•œ๋‹ค. GPT-4o์™€ o1 preview ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ์˜์  ์ƒท(zero-shot) ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„ค์ •๋ถ€ํ„ฐ ๊ฒฝ๊ณ„์กฐ๊ฑด ์ˆ˜์ •, ๋‚œ๋ฅ˜ ๋ชจ๋ธ ์กฐ์ •, ์ฝ”๋“œ ๋ฒˆ์—ญ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ž๋™ํ™”ํ•œ๋‹ค.

Motivation

Achievement

Figure 1: OpenFOAMGPT ์—์ด์ „ํŠธ ๊ตฌ์กฐ

๋‹ค์ธต ๊ตฌ์กฐ์˜ ์—์ด์ „ํŠธ ์„ค๊ณ„: ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ + ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ โ†’ Builder (RAG ์ƒ๋‹ด) โ†’ Executor (์›Œํฌํ”Œ๋กœ์šฐ ์กฐ์œจ) โ†’ OpenFOAM Agent (์‹คํ–‰)

  1. ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์„ฑ๊ณต์  ์ž‘๋™:
    • ๋‹จ์ผ์ƒ ๋ฐ ๋‹ค์ค‘์ƒ ์œ ๋™, ์ธต๋ฅ˜ ๋ฐ ๋‚œ๋ฅ˜, RANS/LES ๋“ฑ 6๊ฐ€์ง€ OpenFOAM ํŠœํ† ๋ฆฌ์–ผ ์ผ€์ด์Šค ์„ฑ๊ณต
    • Cavity flow, PitzDaily (k-ฮต ๋‚œ๋ฅ˜), Hotroom (์ž์—ฐ๋Œ€๋ฅ˜), Dambreak (VOF), Particle column (MPPIC) ํฌํ•จ
  2. ๋ฐ˜๋ณต ์ˆ˜์ • ๋ฃจํ”„๋ฅผ ํ†ตํ•œ ์ˆ˜๋ ด:
    • ์˜ค๋ฅ˜ ๊ฐ์ง€ ์‹œ ์—๋Ÿฌ ๋กœ๊ทธ๋ฅผ ์ฟผ๋ฆฌ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ž๋™ ์žฌ์‹œ๋„
    • ์ œํ•œ๋œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋กœ ๋‚ฎ์€ ํ† ํฐ ๋น„์šฉ์—์„œ ์ˆ˜๋ ด
  3. ๋ชจ๋ธ ์„ฑ๋Šฅ ๋น„๊ต:
    • o1 ๋ชจ๋ธ: ํ† ํฐ ๋น„์šฉ 6๋ฐฐ ๋†’์Œ(์ž…๋ ฅ $15/M vs $2.5/M, ์ถœ๋ ฅ $60/M vs $10/M)
    • o1์˜ ์—ฐ์‡„์  ์‚ฌ๊ณ (Chain-of-Thought) ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๋ณต์žกํ•œ ์ž‘์—…์—์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ
  4. ๋„๋ฉ”์ธ ํŠนํ™” ๊ฐ€๋Šฅ์„ฑ:
    • RAG ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์žฅ์œผ๋กœ ์—๋„ˆ์ง€, ํ•ญ๊ณต์šฐ์ฃผ ๋“ฑ ๋ถ€๋ถ„ ์˜์—ญ ํŠนํ™” ๊ฐ€๋Šฅ
    • 1536์ฐจ์› ๋ฒกํ„ฐ๋กœ ์ž„๋ฒ ๋”ฉ๋œ OpenFOAM ํŠœํ† ๋ฆฌ์–ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ

How

Figure 2: RAG ๊ตฌ์กฐ

์‚ฌ์šฉ์ž ์งˆ๋ฌธ โ†’ ์—”์ง„์ด ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ โ†’ ๊ฒ€์ƒ‰ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ด€๋ จ ํ…์ŠคํŠธ ๊ฒ€์ƒ‰ โ†’ LLM ์‘๋‹ต ์ƒ์„ฑ

Originality

Limitation & Further Study

ํ›„์† ์—ฐ๊ตฌ:

Evaluation

์ดํ‰: ๋ณธ ๋…ผ๋ฌธ์€ LLM ๊ธฐ๋ฐ˜ CFD ์ž๋™ํ™”์˜ ์‹ค์šฉ์  ์‹œ๋„๋กœ์„œ ๊ฐ€์น˜ ์žˆ์œผ๋‚˜, ํ‰๊ฐ€์˜ ์™„์ „์„ฑ๊ณผ ์ •๋Ÿ‰์  ์„ฑ๋Šฅ ๊ฒ€์ฆ์ด ๊ฐœ์„ ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ธ๊ฐ„ ๊ฐ์‹œ์˜ ํ•„์ˆ˜ ์š”๊ตฌ์™€ ๋†’์€ ์šด์˜ ๋น„์šฉ์€ ์‚ฐ์—… ์ ์šฉ์˜ ์ฃผ์š” ๊ณผ์ œ๋กœ ๋‚จ์•„ ์žˆ๋‹ค.

๊ฐ™์ด ๋ณด๋ฉด ์ข‹์€ ๋…ผ๋ฌธ

๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
Retrieval-augmented LLMs๋ฅผ ํ™œ์šฉํ•œ OpenFOAM ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๊ณผํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ž๋™ํ™” ๋ถ„์•ผ์˜ ์ด๋ก ์ ยท๊ธฐ์ˆ ์  ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•จ.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
OpenFOAMGPT ๋…ผ๋ฌธ์€ CFD ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์˜์—ญ์—์„œ LLM-RAG ๊ธฐ๋ฐ˜ ์ž๋™ํ™”์™€ ์‹ ๋ขฐ ํ™•๋ณด ๊ธฐ๋ฒ•์„ ์ œ๊ณตํ•ด ์ž๋™์ฐจ ์„ค๊ณ„ ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ด๋ก ์  ๊ทผ๊ฐ„์ด ๋ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
589๋ฒˆ(OpenFOAMGPT)์€ retrieval-augmented LLM์ด ํ™œ์šฉ๋œ ํŠน์ • ์‘์šฉ์‚ฌ๋ก€๋กœ, 569๋ฒˆ์ด ์ œ์•ˆํ•œ RAG ์‹œ์Šคํ…œ์˜ ๊ตฌ์ฒด์  ์ ์šฉ ์˜ˆ์‹œ๋กœ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์˜คํ”ˆ์†Œ์Šค CFD ์ž๋™ํ™” ์‹œ์Šคํ…œ์ธ MetaOpenFOAM์„ ์ œ์•ˆํ•˜์—ฌ, OpenFOAMGPT์™€ ์œ ์‚ฌํ•œ ์‹คํ—˜ ์„ค๊ณ„ ์ž๋™ํ™”๋ฅผ LLM ๊ธฐ๋ฐ˜์—์„œ ์‹คํ˜„ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
GPT-4o ๊ธฐ๋ฐ˜ LLM ์—์ด์ „ํŠธ ๊ตฌ์กฐ์˜ OpenFOAMGPT์™€ MatPilot์˜ ๋ถ„์•ผ๋ณ„ ๊ฐ•ํ™” ํ•™์Šต ํ”„๋ ˆ์ž„ ์„ค๊ณ„ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์žฌ๋ฃŒ๊ณผํ•™ ํŠนํ™” retrieval-augmented LLM ์•„ํ‚คํ…์ฒ˜๋กœ, HiPerRAG์˜ HPC ๊ธฐ๋ฐ˜ ํ™•์žฅ์„ฑ๊ณผ ๋Œ€์กฐ์ ์ž…๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
๋ณต์ˆ˜์˜ LLM ๊ธฐ๋ฐ˜ OpenFOAM ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ž๋™ํ™” ๋ฐฉ๋ฒ•๋ก ์„ ๋น„๊ตํ•จ์œผ๋กœ์จ, ์‹ ๋ขฐ์„ฑยท์ž๋™ํ™” ํšจ์œจ์„ฑ๋ณ„ ์ฐจ์ด์ ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
589๋ฒˆ ๋…ผ๋ฌธ์€ PINN ๋Œ€์‹  CFD ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ LLM ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ๋กœ ์ž๋™ํ™”ํ•˜์—ฌ, 456๋ฒˆ '์ˆ˜์‹๊ธฐ๋ฐ˜ ์ฝ”๋“œ์ƒ์„ฑ'๊ณผ ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ ์‘์šฉ๋ถ„์•ผ์˜ ์ฐจ์ด์ ์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
589๋Š” ๋„๋ฉ”์ธ ํŠนํ™” LLM๊ณผ retrieval ๊ธฐ๋ฐ˜ materials workflow ์ž๋™ํ™”๋ฅผ ์ง€ํ–ฅํ•˜์—ฌ, 3160์˜ code-first agentic ์ ‘๊ทผ๊ณผ ๊ทผ๋ณธ์ ์ธ ์ฐจ๋ณ„์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
OpenFOAMGPT์˜ ์ฐจ์„ธ๋Œ€ ๋ชจ๋ธ๋กœ ๋ณด๋‹ค ์‹ ๋ขฐ๋„ ๋†’์€ CFD ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ์‹œํ•ด, ๊ธฐ์กด ์—ฐ๊ตฌ์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
589๋ฒˆ ๋…ผ๋ฌธ์€ OpenFOAM ๊ธฐ๋ฐ˜์˜ retrieval-augmented LLM ์‹œ์Šคํ…œ์„ ๋‹ค๋ฃจ์–ด 130๋ฒˆ๊ณผ ์œ ์‚ฌํ•œ ๊ฐœ๋…์˜ ์ฝ”๋“œ ์ž๋™ํ™” ์—ฐ๊ตฌ๋ฅผ ๋”์šฑ ๋ฐœ์ „์‹œํ‚จ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
495๋ฒˆ์˜ ์—”ํŠธ๋กœํ”ผ ๊ธฐ๋ฐ˜ ์žฅ๋ฌธ ํ…์ŠคํŠธ ์ƒ์„ฑ ๋ฐ ํ†ตํ•ฉ์  ์ตœ์ ํ™” ์•„์ด๋””์–ด๊ฐ€ 589๋ฒˆ ๋…ผ๋ฌธ์˜ CFD ๋ฐ์ดํ„ฐ ์‘์šฉ ์˜ˆ์‹œ์™€ ๋งž๋‹ฟ์Šต๋‹ˆ๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

์ด ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํŒŸ์บ์ŠคํŠธํ˜• ์˜ค๋””์˜ค๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (Gemini ยท ํ‚ค๋Š” ๋ธŒ๋ผ์šฐ์ €์—๋งŒ ์ €์žฅ ยท ์™„์„ฑ๋ณธ์€ ์ด๋ฉ”์ผ๋กœ๋„ ์ „์†ก)
โ–ธ ๊ณ ๊ธ‰: ๊ตฌ์„ฑ ๋ฐฉํ–ฅ(๋Œ€๋ณธ ์ž‘์„ฑ ์ง€์นจ) ์ง์ ‘ ์ˆ˜์ •