KR20190113597A - 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법 - Google Patents

오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법 Download PDF

Info

Publication number
KR20190113597A
KR20190113597A KR1020190031570A KR20190031570A KR20190113597A KR 20190113597 A KR20190113597 A KR 20190113597A KR 1020190031570 A KR1020190031570 A KR 1020190031570A KR 20190031570 A KR20190031570 A KR 20190031570A KR 20190113597 A KR20190113597 A KR 20190113597A
Authority
KR
South Korea
Prior art keywords
analysis
information
module
setting
fluid
Prior art date
Application number
KR1020190031570A
Other languages
English (en)
Inventor
최청열
강승훈
손성만
박원만
오세홍
변영민
최대경
Original Assignee
주식회사 엘쏠텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘쏠텍 filed Critical 주식회사 엘쏠텍
Publication of KR20190113597A publication Critical patent/KR20190113597A/ko

Links

Images

Classifications

    • G06F17/5009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법에 관한 것으로, 오픈소스(Open Source) 코드를 이용하여 사용자가 쉽게 전산유체역학(CFD) 해석을 수행할 수 있도록 하는 전처리/해석/후처리를 하나의 환경에서 통합 관리할 수 있도록 하는 환경을 제공할 수 있으며, 그래픽 사용자 인터페이스(GUI) 기반 환경으로 제공함과 아울러 전처리와 후처리 소프트웨어와의 연계도 구축하여 하나의 환경에서 통합된 전산유체역학(CFD) 해석환경을 제공할 수 있는 효과가 있다.

Description

오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법{APPARATUS FOR DEVELOPMENT OF INTEGRATED COMPUTATIONAL FLUID DYNAMICS ENVIRONMENT USING OPEN SOURCE CODE AND METHOD THEREOF}
본 발명은 오픈소스(Open Source) 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법과 이를 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
일반적으로, 전산유체역학(Computational Fluid Dynamics, CFD)은 유체 흐름, 열 흐름 등을 기술한 비선형 편미분 방정식들을 FDM(Finite Difference Method), FEM(Finite Element Method) 또는 FVM(Finite Volume Method) 등의 방법들을 사용하여 이산화(Discretization)하여 대수 방정식으로 변환하고, 이를 수치해석기법(Numerical Analysis Methods)의 알고리즘을 사용하여 수치해석적인 방법으로 유체 흐름, 열 흐름과 관련된 현상을 해석하는 기술이다.
이러한 전산유체역학(CFD)은 다양한 산업분야에서 활용되고 있으며, 대표적으로 기계 설계 및 응용분야, 플랜트 혹은 엔지니어링 분야, 초소형 기계 및 회로 설계 분야에서 설계 시 문제점 파악 및 실험이나 계측이 어려운 분야에서의 사전 시뮬레이션 등에 이용되고 있다.
상기 전산유체역학(CFD)을 이용한 해석 시뮬레이션의 단계는 먼저 해석을 진행할 대상의 형상 디자인, 작업된 형상에 대해 해석을 진행할 최소 단위를 메쉬 형태로 구성하는 메쉬(Mesh 혹은 Grid) 생성을 전처리 작업(Pre-processing)이라고 한다.
그 후에 해당 메쉬와 해석조건을 설정한 후, 수치해석(계산)을 진행하게 되는데 이 작업을 해석 작업(Solving)이라 한다. 해석 작업이 완료되면 각각의 메쉬에는 해석결과가 저장되는데 이 결과들은 후처리 작업(Post-processing)을 통해 유체흐름, 온도분포 등의 물리적 현상이 실제 사용자가 인지할 수 있도록 가시화된다.
상기 전산유체역학(CFD) 해석을 위해서 연구자나 엔지니어들은 예컨대, Fluent, CFX, Star-CCM+와 같은 상용 전산유체역학(CFD) 소프트웨어를 사용하거나 자체적으로 개발한 인-하우스(in-house) 코드를 사용하고 있다.
그러나, 상기 전산유체역학(CFD) 해석을 위해 상용 소프트웨어를 사용하고자 하면 고가의 비용을 지불하여야 하고, 고 사양의 컴퓨팅 환경을 갖추어야 하기 때문에 실제 제품 개발이나 연구를 위해 사용자가 사용하기 위해서는 어려움이 있다.
또한, 상용 전산유체역학(CFD) 소프트웨어의 경우에 솔버에 대한 제한적인 설정만을 지원해 사용자의 의도를 정확히 반영한 해석을 수행하는 데에는 제한이 있다. 이러한 단점에도 불구하고 상용 전산유체역학(CFD) 해석 소프트웨어는 일반 사용자가 쉽게 접근이 가능하도록 하는 높은 수준의 사용자 인터페이스의 제공과 해석 환경 설정 및 해석 결과의 통합 분석이 가능하도록 하는 일원화된 환경을 구축하여 사용자에게 제공한다.
한편, 현대 컴퓨팅 환경에서 오픈소스 소프트웨어의 개발은 단순한 IT 분야에 국한되지 않고 다양한 산업분야에 적용되는 형태로 발전되고 있다. 단순한 라이브러리 프로그램부터 시작해 다양한 응용 프로그램, 웹 서비스 분야, 심지어는 운영체제조자도 오픈소스로 개발되고 있으며, 이러한 흐름은 더욱더 가속화 되고 있다.
이러한 오픈소스 소프트웨어의 시작은 1990년대 시작된 GNU 재단의 일반 공중 사용 허가서(General Public License, GPL)가 그 시초라 할 수 있으며, 그를 기반으로 제작된 소스 코드의 무상 공개 및 사용자에 의한 해당 소스 코드의 자유로운 사용 및 수정이 허가되는 것이 주 내용이다.
상기 전산유체역학(CFD) 분야에서도 최근 오픈소스 환경을 지원하기 위해 2000년대 초반 미국의 에너지기술연구소에서 개발된 MFiX라는 전산유체역학(CFD) 소프트웨어의 소스를 공개하여 일반 연구자 혹은 개발자들을 지원하고 있다.
또한, OpenFOAM의 경우, 1990년대 초반부터 개발되기 시작해 2004년 오픈소스로 공개되어 전산유체역학(CFD)을 연구하는 연구자들 사이에서 많은 사용자층을 확보하고 있다.
하지만, 오픈소스 전산유체해석(CFD) 소프트웨어의 경우에 대부분 실제 해석에 사용되는 해석 솔버에 대한 코드만을 제공하며, 전처리(형상 설계 및 해석용 메쉬 생성)와 후처리(해석 결과의 분석 및 리포트 작성)를 위해서는 별도의 소프트웨어를 사용하여야 한다. 이는 결국 오픈소스 소프트웨어에 대한 사용자의 접근성을 제한하는 요인이 되고 있다.
또한, 대부분의 오픈소스 소프트웨어가 그렇듯이 기반 환경 자체가 리눅스 등의 환경이라서 IT 전문가가 아닌 전산유체역학(CFD) 연구자 혹은 전자유체역학(CFD)을 이용하여 제품을 개발하고자 하는 산업계의 수요자의 접근을 막고 있는 것이 현실이다.
OpenFOAM의 경우는 오랜 기간 지속적인 개발로 해석 솔버의 안정성이 높고, 시스템의 구조가 간편하다는 장점으로 인해 많은 사용자층을 확보하고 있다. 하지만 초기 개발 환경에서 만들어진 문제점인 최근의 전자유체역학(CFD) 해석 환경 설정 트렌드를 반영하지 못하는 해석 케이스 구조를 갖는다. 특히 일반 상용 소프트웨어와는 달리 텍스트 기반 환경 설정만을 지원하며, 개개의 설정 환경도 분산되어 있어 일반 사용자가 쉽게 OpenFOAM을 이용해 전자유체역학(CFD) 해석을 수행하기는 어렵다.
국내등록특허 제10-1708168호(2017.02.20. 공고)
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 오픈소스(Open Source) 코드를 이용하여 사용자가 쉽게 전산유체역학(CFD) 해석을 수행할 수 있도록 하는 전처리/해석/후처리를 하나의 환경에서 통합 관리할 수 있도록 하는 환경을 제공할 수 있으며, 그래픽 사용자 인터페이스(GUI) 기반 환경으로 제공함과 아울러 전처리와 후처리 소프트웨어와의 연계도 구축하여 하나의 환경에서 통합된 전산유체역학(CFD) 해석환경을 제공할 수 있도록 한 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 사용자가 원하는 해석 대상객체의 3차원 형상을 설계 및 생성하는 해석 대상객체 형상생성모듈; 상기 해석 대상객체 형상생성모듈로부터 생성된 해당 해석 대상객체의 3차원 형상정보를 제공받아 이를 기반으로 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 해석용 격자망 생성모듈; 상기 해석용 격자망 생성모듈로부터 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 제공받아 이를 기반으로 해당 해석 대상객체의 시간적 및 물리적 특성 설정에 따라 전산유체역학(Computational Fluid Dynamics, CFD) 해석 작업을 위한 오픈소스(OpenSource) 코드의 해석 솔버(Solver)를 선택하는 해석 솔버 선택모듈; 상기 해석 솔버 선택모듈로부터 선택된 해석 솔버 정보를 제공받아 이를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하기 위한 해석 파라미터들을 입력하는 해석 파라미터 입력모듈; 상기 해석 솔버 선택모듈로부터 선택된 해석 솔버 정보와 상기 해석 파라미터 입력모듈로부터 입력된 해석 파라미터 정보를 각각 제공받아 이를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하는 해석수행모듈; 및 상기 해석수행모듈로부터 해석수행 완료된 해당 해석 대상객체에 대한 해석 평가정보 데이터를 생성하고, 상기 생성된 평가정보 데이터를 시각화하여 해당 해석 대상객체에 대한 평가결과 보고서를 생성하는 해석평가모듈을 포함하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 제공하는 것이다.
여기서, 상기 해석 대상객체 형상생성모듈은, 오픈소스 캐드(CAD) 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 설계 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상을 설계 및 생성함이 바람직하다.
상기 해석용 격자망 생성모듈은, 오픈소스 격자망 생성 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 격자망 생성 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성할 수 있다.
상기 해석 솔버 선택모듈은, 시간에 대해 변화가 없는 안정적인 상태 또는 입력 변수가 서로 지속적으로 변화하여 과거와 현재의 상태가 언제나 달라질 수 있는 일시적인 상태인지를 설정하기 위한 시간특성 설정부와, 압력의 변화에 따라 체적이 변화하는 압축성 또는 비압축성 물질(유체)인지를 설정하기 위한 유동특성 설정부와, 유체의 움직임 특성에 따른 세부 형태를 설정하기 위한 난류특성 설정부와, 유체의 운동 속도에 따라 빠른 흐름을 갖는 유체인지 아닌지를 설정하기 위한 마하(Mach) 수 설정부와, 난류특성에 따라 난류의 움직임을 모사한 복수의 난류 운동방정식들 중 어느 하나를 설정하기 위한 난류모델 설정부와, 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지를 설정하기 위한 단상/다상유동 설정부와, 유체의 운동 변화에 따른 온도 조건을 설정할 것인지를 파악하기 위한 열조건 설정부와, 유체의 운동에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하기 위한 중력영향 설정부와, 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬(Mesh)가 해석 단계에 따라 움직이도록 설정하는 메쉬변화특성 설정부를 포함할 수 있다.
상기 해석 솔버 선택모듈은, 상기 시간특성 설정부, 상기 유동특성 설정부, 상기 난류특성 설정부, 상기 마하 수 설정부, 상기 난류모델 설정부, 상기 단상/다상유동 설정부, 상기 열조건 설정부, 상기 중력영향 설정부, 및 상기 메쉬변화특성 설정부를 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 형태로 디스플레이 화면에 단계적으로 표시되도록 제어할 수 있다.
상기 해석 파라미터 입력모듈은, 상기 해석용 격자망 생성모듈로부터 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 읽어 들인 후 이를 기 설정된 오픈소스 형식으로 변환하여 디스플레이 화면에 출력되도록 격자 형식을 설정하기 위한 격자정보 설정부와, 유체의 종류에 따라 온도, 밀도, 비열, 열전도도, 동점성계수(Dynamic Viscosity), 및 프랜틀(Prandtl) 수 중 적어도 하나의 유체 특성을 입력하기 위한 물성치 입력부와, 유체의 움직임에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대하여 정보를 입력하기 위한 중력정보 입력부와, 상기 해석 솔버 선택모듈로부터 선택된 해석 솔버 정보 중 난류모델 설정정보에 대해 난류모델별로 서로 다른 해석용 변수 파라미터 세부정보를 입력하기 위한 난류모델정보 입력부와, 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달할 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하기 위한 경계조건 설정부와, 해석 솔버가 풀고자 하는 해석 방정식에 대한 이산화의 스킴(scheme)을 설정 및 입력하기 위한 이산화 스킴 입력부와, 해석 대상이 되는 방정식을 계산할 때 어떠한 계산 솔버(matrix solver)를 이용해서 계산해야 하는지를 선택하기 위한 대수방정식 솔버 선택부와, 해석을 진행하기 위한 시작 및 종료 조건을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 설정하기 위한 계산제어정보 설정부를 포함할 수 있다.
상기 해석 파라미터 입력모듈은, 상기 격자정보 설정부, 상기 물성치 입력부, 상기 중력정보 입력부, 상기 난류모델정보 입력부, 상기 경계조건 설정부, 상기 이산화 스킴 입력부, 상기 대수방정식 솔버 선택부, 및 상기 계산제어정보 설정부를 그래픽 사용자 인터페이스(GUI) 형태로 디스플레이 화면에 표시되도록 제어할 수 있다.
본 발명의 제2 측면은, (a) 해석 대상객체 형상생성모듈을 통해 사용자가 원하는 해석 대상객체의 3차원 형상을 설계 및 생성하는 단계; (b) 해석용 격자망 생성모듈을 통해 상기 단계(a)에서 생성된 해당 해석 대상객체의 3차원 형상정보를 기반으로 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 단계; (c) 해석 솔버 선택모듈을 통해 상기 단계(b)에서 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 기반으로 해당 해석 대상객체의 시간적 및 물리적 특성 설정에 따라 전산유체역학(Computational Fluid Dynamics, CFD) 해석 작업을 위한 오픈소스(OpenSource) 코드의 해석 솔버(Solver)를 선택하는 단계; (d) 해석 파라미터 입력모듈을 통해 상기 단계(c)에서 선택된 해석 솔버 정보를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하기 위한 해석 파라미터들을 입력하는 단계; (e) 해석수행모듈을 통해 상기 단계(c)에서 선택된 해석 솔버 정보와 상기 단계(d)에서 입력된 해석 파라미터 정보를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하는 단계; 및 (f) 해석평가모듈을 통해 상기 단계(e)에서 해석수행 완료된 해당 해석 대상객체에 대한 해석 평가정보 데이터를 생성한 후, 상기 생성된 평가정보 데이터를 시각화하여 해당 해석 대상객체에 대한 평가결과 보고서를 생성하는 단계를 포함하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 제공하는 것이다.
상기 단계(a)에서, 상기 해석 대상객체 형상생성모듈은 오픈소스 캐드(CAD) 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 설계 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상을 설계 및 생성할 수 있다.
상기 단계(b)에서, 상기 해석용 격자망 생성모듈은 오픈소스 격자망 생성 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 격자망 생성 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성할 수 있다.
상기 단계(c)에서, 상기 해석 솔버 선택모듈을 통해 해당 해석 대상객체의 시간적 및 물리적 특성을 설정하는 과정은, 상기 해석 솔버 선택모듈에 구비된 시간특성 설정부를 통해 시간에 대해 변화가 없는 안정적인 상태 또는 입력 변수가 서로 지속적으로 변화하여 과거와 현재의 상태가 언제나 달라질 수 있는 일시적인 상태인지를 설정하는 제1 단계와, 상기 해석 솔버 선택모듈에 구비된 유동특성 설정부를 통해 압력의 변화에 따라 체적이 변화하는 압축성 또는 비압축성 물질(유체)인지를 설정하는 제2 단계와, 상기 해석 솔버 선택모듈에 구비된 난류특성 설정부를 통해 유체의 움직임 특성에 따른 세부 형태를 설정하는 제3 단계와, 상기 해석 솔버 선택모듈에 구비된 마하(Mach) 수 설정부를 통해 유체의 운동 속도에 따라 빠른 흐름을 갖는 유체인지 아닌지를 설정하는 제4 단계와, 상기 해석 솔버 선택모듈에 구비된 난류모델 설정부를 통해 난류특성에 따라 난류의 움직임을 모사한 복수의 난류 운동방정식들 중 어느 하나를 설정하는 제5 단계와, 상기 해석 솔버 선택모듈에 구비된 단상/다상유동 설정부를 통해 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지를 설정하는 제6 단계와, 상기 해석 솔버 선택모듈에 구비된 열조건 설정부를 통해 유체의 운동 변화에 따른 온도 조건을 설정할 것인지를 파악하는 제7 단계와, 상기 해석 솔버 선택모듈에 구비된 중력영향 설정부를 통해 유체의 운동에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하는 제8 단계와, 상기 해석 솔버 선택모듈에 구비된 메쉬변화특성 설정부를 통해 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬(Mesh)가 해석 단계에 따라 움직이도록 설정하는 제9 단계를 포함할 수 있다.
상기 제1 내지 제9 단계는 상기 해석 솔버 선택모듈을 통해 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 형태로 디스플레이 화면에 단계적으로 표시할 수 있다.
상기 단계(d)는, (d-1) 상기 해석 파라미터 입력모듈에 구비된 격자정보 설정부를 통해 상기 단계(b)에서 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 읽어 들인 후 이를 기 설정된 오픈소스 형식으로 변환하여 디스플레이 화면에 출력되도록 격자 형식을 설정하는 단계; (d-2) 상기 해석 파라미터 입력모듈에 구비된 물성치 입력부를 통해 유체의 종류에 따라 온도, 밀도, 비열, 열전도도, 동점성계수(Dynamic Viscosity), 및 프랜틀(Prandtl) 수 중 적어도 하나의 유체 특성을 입력하는 단계; (d-3) 상기 해석 파라미터 입력모듈에 구비된 중력정보 입력부를 통해 유체의 움직임에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대하여 정보를 입력하는 단계; (d-4) 상기 해석 파라미터 입력모듈에 구비된 난류모델정보 입력부를 통해 상기 단계(c)에서 선택된 해석 솔버 정보 중 난류모델 설정정보에 대해 난류모델별로 서로 다른 해석용 변수 파라미터 세부정보를 입력하는 단계; (d-5) 상기 해석 파라미터 입력모듈에 구비된 경계조건 설정부를 통해 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달할 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하는 단계; (d-6) 상기 해석 파라미터 입력모듈에 구비된 이산화 스킴 입력부를 통해 해석 솔버가 풀고자 하는 해석 방정식에 대한 이산화의 스킴(scheme)을 설정 및 입력하는 단계; (d-7) 상기 해석 파라미터 입력모듈에 구비된 대수방정식 솔버 선택부를 통해 해석 대상이 되는 방정식을 계산할 때 어떠한 계산 솔버(matrix solver)를 이용해서 계산해야 하는지를 선택하는 단계; 및 (d-8) 상기 해석 파라미터 입력모듈에 구비된 계산 제어정보 설정부를 통해 해석을 진행하기 위한 시작 및 종료 조건을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 설정하는 단계를 포함할 수 있다.
상기 단계(d-1) 내지 단계(d-8)는 상기 해석 파라미터 입력모듈을 통해 그래픽 사용자 인터페이스(GUI) 형태로 디스플레이 화면에 순차적으로 표시할 수 있다.
본 발명의 제3 측면은, 상술한 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법은 컴퓨터로 판독할 수 있는 기록매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
이상에서 설명한 바와 같은 본 발명의 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법에 따르면, 오픈소스(Open Source) 코드를 이용하여 사용자가 쉽게 전산유체역학(CFD) 해석을 수행할 수 있도록 하는 전처리/해석/후처리를 하나의 환경에서 통합 관리할 수 있도록 하는 환경을 제공할 수 있으며, 그래픽 사용자 인터페이스(GUI) 기반 환경으로 제공함과 아울러 전처리와 후처리 소프트웨어와의 연계도 구축하여 하나의 환경에서 통합된 전산유체역학(CFD) 해석환경을 제공할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 컴퓨터 시스템에 적용하여 구현한 일 예를 설명하기 위한 전체적인 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 컴퓨터 시스템에 적용할 경우 각 레이어 간의 데이터 전달을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 적용된 GUI 레이어 내부의 데이터 흐름을 설명하기 위한 블록 구성도이다.
도 5는 본 발명의 일 실시예에 적용된 외부 프로그램 인터페이스 레이어의 데이터 흐름을 설명하기 위한 블록 구성도이다.
도 6은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 설명하기 위한 전체적인 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 수행하기 위한 메인 인터페이스의 화면 구성 예를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중 해석 객체 형상 디자인 과정에서 CAD 소프트웨어를 이용하여 설계된 파이프 지오메트리(Geometry)를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중에서 해석용 격자망(메쉬) 생성 과정을 위한 외부 프로그램의 NETGEN 메쉬 생성기의 설정 화면(3D, 2D, 1D)을 나타낸 도면이다.
도 10은 도 9에서 적용된 외부 프로그램의 NETGEN 메쉬 생성기를 이용하여 생성된 배관 파이프에 대한 메쉬의 일 예를 나타낸 도면이다.
도 11은 도 10의 배관 파이프 내부의 메쉬 구조(clipping 된 영역)를 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중에서 해석 솔버 선택 과정을 구체적으로 설명하기 위한 흐름도이다.
도 13 내지 도 15는 도 12의 해석 솔버 선택을 위한 사용자 입력 GUI 화면을 나타낸 도면이다.
도 16은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중에서 해석 파라미터 입력 과정을 구체적으로 설명하기 위한 흐름도이다.
도 17은 도 16의 해석 파라미터 입력 과정 중에서 지원되는 메쉬 리스트 및 격자 정보 설정 화면을 나타낸 도면이다.
도 18은 도 16의 해석 파라미터 입력 과정 중에서 물성치 입력 과정을 위한 물성치 데이터베이스 출력 화면을 나타낸 도면이다.
도 19 및 도 20은 도 16의 해석 파라미터 입력 과정 중 난류 모델 정보 입력 과정에서 선택된 k-Epsilon 모델의 해석용 변수 파라미터 설정 화면을 나타낸 도면이다.
도 21 및 도 22은 도 16의 해석 파라미터 입력 과정 중 난류 모델 정보 입력과정에서 선택된 k-Omega SST 모델의 해석용 변수 파라미터 설정 화면을 나타낸 도면이다.
도 23은 도 16의 해석 파라미터 입력 과정 중에서 경계 조건 설정 과정을 위한 경계 영역의 설정 화면을 나타낸 도면이다.
도 24는 도 16의 해석 파라미터 입력 과정 중에서 이산화 스킴 입력 과정을 위한 이산화 스킴 정의 화면을 나타낸 도면이다
도 25는 도 16의 해석 파라미터 입력 과정 중에서 대수방정식 솔버 선택 과정을 위한 경계 특성 값 중 속도 계산 방정식 솔버 및 기본 파라미터 정의를 나타낸 도면이다.
도 26는 도 16의 해석 파라미터 입력 과정 중에서 계산 제어 정보 설정 과정을 위한 패러렐(Parallel) 설정(CPU 4개 이용시) 화면을 나타낸 도면이다.
도 27은 도 16의 해석 파라미터 입력 과정 중에서 계산 제어 정보 설정 과정을 위한 계산 제어 설정 GUI 화면을 나타낸 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 설명하기 위한 전체적인 블록 구성도이고, 도 2는 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 컴퓨터 시스템에 적용하여 구현한 일 예를 설명하기 위한 전체적인 블록 구성도이며, 도 3은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 컴퓨터 시스템에 적용할 경우 각 레이어 간의 데이터 전달을 설명하기 위한 도면이며, 도 4는 본 발명의 일 실시예에 적용된 GUI 레이어 내부의 데이터 흐름을 설명하기 위한 블록 구성도이며, 도 5는 본 발명의 일 실시예에 적용된 외부 프로그램 인터페이스 레이어의 데이터 흐름을 설명하기 위한 블록 구성도이다.
도 1 내지 도 5를 참조하면, 본 발명의 일 실시예에 따른 오픈소스(OpenSource) 코드를 이용한 통합 전산유체역학 환경 구축 장치는, 크게 해석 대상객체 형상생성모듈(100), 해석용 격자망 생성모듈(200), 해석 솔버 선택모듈(300), 해석 파라미터 입력모듈(400), 해석수행모듈(500), 및 해석평가모듈(600) 등을 포함하여 이루어진다. 한편, 도 1 내지 도 5에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치는 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
해석 대상객체 형상생성모듈(100)은 사용자가 원하는 해석 대상객체의 3차원 형상을 설계 및 생성하는 기능을 수행한다.
이러한 해석 대상객체 형상생성모듈(100)은 예컨대, 오픈소스 캐드(CAD) 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 설계 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상을 설계 및 생성함이 바람직하다.
해석용 격자망 생성모듈(200)은 해석 대상객체 형상생성모듈(100)로부터 생성된 해당 해석 대상객체의 3차원 형상정보를 제공받아 이를 기반으로 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 기능을 수행한다.
이러한 해석용 격자망 생성모듈(200)은 예컨대, 오픈소스 격자망 생성 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 격자망 생성 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성함이 바람직하다.
해석 솔버 선택모듈(300)은 해석용 격자망 생성모듈(200)로부터 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 제공받아 이를 기반으로 해당 해석 대상객체의 시간적 및 물리적 특성 설정에 따라 전산유체역학(Computational Fluid Dynamics, CFD) 해석 작업을 위한 오픈소스 코드의 해석 솔버(Solver)를 선택하는 기능을 수행한다.
이러한 해석 솔버 선택모듈(300)은, 시간에 대해 변화가 없는 안정적인 상태 또는 입력 변수가 서로 지속적으로 변화하여 과거와 현재의 상태가 언제나 달라질 수 있는 일시적인 상태인지를 설정하기 위한 시간특성 설정부(310)와, 압력의 변화에 따라 체적이 변화하는 압축성 또는 비압축성 물질(예컨대, 유체)인지를 설정하기 위한 유동특성 설정부(320)와, 유체의 움직임 특성에 따른 세부 형태를 설정하기 위한 난류특성 설정부(330)와, 유체의 운동 속도에 따라 빠른 흐름을 갖는 유체인지 아닌지를 설정하기 위한 마하(Mach) 수 설정부(340)와, 난류특성에 따라 난류의 움직임을 모사한 복수의 난류 운동방정식들 중 어느 하나를 설정하기 위한 난류모델 설정부(350)와, 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지를 설정하기 위한 단상/다상유동 설정부(360)와, 유체의 운동 변화에 따른 온도 조건을 설정할 것인지를 파악하기 위한 열조건 설정부(370)와, 유체의 운동에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하기 위한 중력영향 설정부(380)와, 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬(Mesh)가 해석 단계에 따라 움직이도록 설정하는 메쉬변화특성 설정부(390) 등을 포함할 수 있다.
또한, 해석 솔버 선택모듈(300)은 시간특성 설정부(310), 유동특성 설정부(320), 난류특성 설정부(330), 마하 수 설정부(340), 난류모델 설정부(350), 단상/다상유동 설정부(360), 열조건 설정부(370), 중력영향 설정부(380), 및 메쉬변화특성 설정부(390)를 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 형태로 디스플레이 화면에 단계적으로 표시되도록 제어하는 기능을 수행할 수 있다.
해석 파라미터 입력모듈(400)은 해석 솔버 선택모듈(300)로부터 선택된 해석 솔버 정보를 제공받아 이를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하기 위한 해석 파라미터들을 입력하는 기능을 수행한다.
이러한 해석 파라미터 입력모듈(400)은 해석용 격자망 생성모듈(200)로부터 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 읽어 들인 후 이를 기 설정된 오픈소스 형식으로 변환하여 디스플레이 화면에 출력되도록 격자 형식을 설정하기 위한 격자정보 설정부(410)와, 유체의 종류에 따라 온도, 밀도, 비열, 열전도도, 동점성계수(Dynamic Viscosity), 및 프랜틀(Prandtl) 수 중 적어도 하나의 유체 특성을 입력하기 위한 물성치 입력부(420)와, 유체의 움직임에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대하여 정보를 입력하기 위한 중력정보 입력부(430)와, 해석 솔버 선택모듈(300)로부터 선택된 해석 솔버 정보 중 난류모델 설정정보에 대해 난류모델별로 서로 다른 해석용 변수 파라미터 세부정보를 입력하기 위한 난류모델정보 입력부(440)와, 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달할 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하기 위한 경계조건 설정부(450)와, 해석 솔버가 풀고자 하는 해석 방정식에 대한 이산화의 스킴(scheme)을 설정 및 입력하기 위한 이산화 스킴 입력부(460)와, 해석 대상이 되는 방정식을 계산할 때 어떠한 계산 솔버(matrix solver)를 이용해서 계산해야 하는지를 선택하기 위한 대수방정식 솔버 선택부(470)와, 해석을 진행하기 위한 시작 및 종료 조건을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 설정하기 위한 계산제어정보 설정부(480) 등을 포함할 수 있다.
또한, 해석 파라미터 입력모듈(400)은 격자정보 설정부(410), 물성치 입력부(420), 중력정보 입력부(430), 난류모델정보 입력부(440), 경계조건 설정부(450), 이산화 스킴 입력부(460), 대수방정식 솔버 선택부(470), 및 계산제어정보 설정부(480)를 그래픽 사용자 인터페이스(GUI) 형태로 디스플레이 화면에 표시되도록 제어하는 기능을 수행할 수 있다.
해석수행모듈(500)은 해석 솔버 선택모듈(300)로부터 선택된 해석 솔버 정보와 해석 파라미터 입력모듈(400)로부터 입력된 해석 파라미터 정보를 각각 제공받아 이를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하는 기능을 수행한다.
해석평가모듈(600)은 해석수행모듈(500)로부터 해석수행 완료된 해당 해석 대상객체에 대한 해석 평가정보 데이터를 생성하고, 상기 생성된 평가정보 데이터를 시각화하여 해당 해석 대상객체에 대한 평가결과 보고서를 생성하는 기능을 수행한다.
한편, 전술한 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치를 통상의 컴퓨터(Computer) 시스템에 적용하여 구현할 경우, 도 2에 도시된 바와 같이, 크게 GUI 레이어(Graphic User Interface Layer) 모듈, 해석 레이어(Layer) 모듈, 외부 프로그램 인터페이스 레이어(Interface Layer) 모듈, 오픈소스 모듈(예컨대, OpenFOAM 시스템) 등을 포함하여 이루어질 수 있다.
여기서, 상기 GUI 레이어(Graphic User Interface Layer) 모듈은 도 3에 도시되 바와 같이, 솔버 설정값, 해석 속성정보 설정값(예컨대, 물성치, 난류모델, Matric Solver, 이산화 스킴 등), 실행 제어조건 설정값, 해석 제어조건 설정값 등의 데이터들을 상기 해석 레이어(Layer) 모듈로 전달하는 기능을 수행한다.
또한, 상기 GUI 레이어 모듈은 상기 해석 레이어 모듈로부터 전달된 솔버 속성 리스트, 해석 속성정보 리스트, 실행 제어조건 리스트, 해석 제어조건 리스트, 해석 진행 로그 등을 제공받는 기능을 수행한다.
또한, 상기 GUI 레이어 모듈은 예컨대, 미리 정의된(Pre-defined) 외부 프로그램 정보, 메쉬 타입(Mesh Type) 정보, 후처리 변환 명령 등의 데이터들을 상기 외부 프로그램(예컨대, 외부 전처리 프로그램 및/또는 외부 후처리 프로그램) 인터페이스 레이어(Interface Layer) 모듈로 전달하는 기능을 수행한다.
또한, 상기 GUI 레이어 모듈은 상기 외부 프로그램 인터페이스 레이어 모듈로부터 전달된 실행 정보 및 메쉬(Mesh) 변환정보 데이터 등을 제공받는 기능을 수행한다.
즉, 상기 GUI 레이어 모듈에서는 해석 환경 설정을 위해 오픈소스 모듈(예컨대, OpenFOAM 시스템) 정보를 이용해 사용자의 간편한 해석 환경 설정을 지원하며, 해석과 관련된 3차원 객체출력모듈, 그래프 생성모듈 등으로 구성될 수 있다.
상기 GUI 레이어 모듈은 해석을 위한 설정정보 입력을 위해 상기 외부 프로그램 인터페이스 레이어 모듈 내부의 오픈소스(OpenFOAM) 인터페이스 모듈을 이용하여 오픈소스 모듈(예컨대, OpenFOAM 시스템)의 정보를 얻어온다. 하지만 해석 환경이 설정된 후에는 상기 해석 레이어 모듈에서 전산유체역학(CFD) 해석을 위해 직접 상기 오픈소스 모듈에 접근할 수 있다. 이는 해석 환경이 설정된 후에는 보다 빠르고, 정교한 상기 오픈소스 모듈의 접근을 지원하도록 하기 위함이다.
이러한 상기 GUI 레이어 모듈은 도 2 및 도 4에 도시된 바와 같이, 크게 해석정보 GUI 생성모듈, 속성 표시모듈, 3D 객체출력모듈, 그래프 생성모듈, 로그 출력모듈 등을 포함하여 이루어진다.
즉, 상기 해석정보 GUI 생성모듈은 전산유체역학(CFD) 해석에 필요한 다양한 정보를 프로젝트 파일에 기록된 적절한 형식(예컨대, 숫자, 문자열, Dimension, 특정 문자열 그룹에서의 문자열 선택, 2D 벡터형, 3D 벡터형, Size 형식 등)의 속성 입/출력을 지원하도록 GUI를 자동으로 생성하는 기능을 수행한다.
또한, 상기 해석정보 GUI 생성모듈은 경계 조건 입력창의 경우 경계 이름에 따라 다양한 속성 값 설정을 하나의 통합 창으로 생성하는 기능을 수행한다.
또한, 상기 해석정보 GUI 생성모듈은 해석 모듈에서 각 솔버(Solver)에 맞는 GUI에 입력되어야 하는 정보를 전달 받고, 사용자가 설정에 대한 정보 값을 저장한 프로젝트 파일에서 설정 값을 입력 받는 기능을 수행한다.
이러한 상기 해석정보 GUI 생성모듈은 해석 진행시 생성되는 로그 정보 데이터를 생성하여 상기 로그 출력모듈로 전달하고, 솔버/물성치/난류모델/경계조건의 속성리스트 및 기본 입력값을 바탕으로 GUI를 생성하여 상기 속성 표시모듈로 전달하는 기능을 수행한다.
또한, 상기 해석정보 GUI 생성모듈은 메쉬 정보 데이터를 생성하여 상기 3D 객체출력모듈로 전달하며, 해석 정보(Residual 정보) 데이터 등을 생성하여 상기 그래프 생성모듈로 전달하는 기능을 수행한다.
상기 속성 표시모듈은 상기 해석정보 GUI 생성모듈로부터 생성된 그래픽 사용자 인터페이스(GUI)를 실제 화면에 출력하는 기능을 수행한다.
상기 3D 객체출력모듈은 상기 해석정보 GUI 생성모듈로부터 전달된 메쉬 정보 데이터를 이용하여 3차원 형태의 물체로 화면에 출력하는 기능을 수행한다. 즉, 상기 3D 객체출력모듈은 입력으로 메쉬 정보 데이터를 제공받아 이를 화면에 출력하는 기능을 수행한다.
상기 그래프 생성모듈은 상기 해석정보 GUI 생성모듈로부터 해석시 발생된 잔여(residual) 정보를 제공받아 이를 기반으로 사용자가 쉽게 올바른 해석 진행 여부를 판단할 수 있도록 매 단계별 해석 결과에 따른 잔여(residual) 값들을 그래프로 표현하는 기능을 수행한다.
한편, 상기 해석정보 GUI 생성모듈을 통해 해석이 진행되는 동안 해석시 발생하는 잔여(residual) 정보는 해석 종료를 판단하는 조건임과 동시에 해석의 진행이 적절한 방향으로 진행되는지를 판단하는데 사용된다.
이때, 상기 잔여(residual) 정보는 숫자의 형태로 표시되며, 다양한 해석 특성값에 따라 서로 다르게 나타나기 때문에 사용자가 쉽게 그 숫자를 인지하고, 해석의 올바른 진행 여부를 판단하기 어렵다. 이러한 부분을 해결하기 위해 매 단계별 해석 결과에 따른 잔여(residual) 값들을 그래프로 표현하여 사용자가 쉽게 올바른 해석 진행 여부를 판단하게 된다.
또한, 상기 잔여(residual) 정보는 사용자가 특수 종료 조건으로 설정할 수 있는데 해당 값이 일정 값 이하로 지속적으로 유지되는 경우 해석이 종료되게 정의할 수 있다.
그리고, 이 조건은 후술하는 대수방정식 선택 과정의 공차(tolerance) 값과 계산 제어 설정-계산 제어 설정, 계산 제어 설정-종료 조건 부분에서 정의가 가능하다.
상기 로그 출력모듈은 상기 해석정보 GUI 생성모듈로부터 해석 진행시 생성되는 로그 정보를 제공받아 이를 기반으로 해석이 진행되는 동안 솔버(Solver)가 출력하는 해석 정보 전체를 출력하는 기능을 수행한다.
또한, 상기 로그 출력모듈은 해석 모듈에서 해석 정보를 전달 받는 기능을 수행한다.
그리고, 상기 해석 레이어 모듈은 도 3에 도시된 바와 같이, 상기 GUI 레이어 모듈로부터 전달된 솔버 설정값, 해석 속성정보 설정값(예컨대, 물성치, 난류모델, Matric Solver, 이산화 스킴 등), 실행 제어조건 설정값, 해석 제어조건 설정값 등의 데이터들을 제공받아 이를 기반으로 솔버 속성 리스트, 해석 속성정보 리스트, 실행 제어조건 리스트, 해석 제어조건 리스트, 해석 진행로그 등을 생성하여 상기 GUI 레이어 모듈로 전달하는 기능을 수행한다.
또한, 상기 해석 레이어 모듈은 솔버 설정정보 및 해석 명령 등을 생성하여 상기 오픈소스 모듈(예컨대, OpenFOAM 시스템)로 전달하는 기능을 수행하며, 상기 오픈소스 모듈로부터 전달된 솔버 실행 결과를 제공받는 기능을 수행한다.
이러한 해석 레이어 모듈은 도 2에 도시된 바와 같이, 크게 솔버 자동 제안 모듈, 및 해석 모듈 등을 포함하여 이루어진다.
여기서, 상기 솔버 자동 제안 모듈은 사용자의 입력에 따라 단계적으로 해석에 사용할 솔버 선택을 지원하는 기능을 수행한다.
그리고, 상기 해석 모듈은 해석 정보 설정이 완료되면 해석 솔버(예컨대, OpenFOAM 솔버)를 호출하여 실제 해석을 진행하는 기능을 수행한다.
또한, 상기 해석 모듈은 입력으로 해석 정보 값을 제공받아 이를 상기 해석 솔버(예컨대, OpenFOAM 솔버)에 전달하여 해석을 요청하고, 출력으로는 상기 해석 솔버(예컨대, OpenFOAM 솔버)가 해석을 진행하면서 생성한 해석 진행 로그 정보데이터를 상기 GUI 레이어 모듈로 전달한다.
상기 외부 프로그램 인터페이스 레이어 모듈은 도 3에 도시된 바와 같이, 상기 GUI 레이어 모듈로부터 전달된 예컨대, 미리 정의된(Pre-defined) 외부 프로그램 정보, 메쉬 타입(Mesh Type) 정보, 후처리 변환 명령 등의 데이터들을 제공받아 이를 기반으로 실행 정보, 메쉬(Mesh) 변환 정보데이터 등을 생성하여 상기 GUI 레이어 모듈로 전달하는 기능을 수행한다.
또한, 상기 외부 프로그램 인터페이스 레이어 모듈은 메쉬 변환 라이브러리 호출 정보, 후처리 변환 명령, 오픈소스 솔버 라이브러리 호출 정보 등의 데이터들을 생성하여 상기 오프소스 모듈로 전달하며, 상기 오픈소스 모듈로부터 전달된 메쉬 변환 라이브러리, 후처리 변환 라이브러리 등의 정보데이터를 제공받는 기능을 수행한다.
즉, 상기 외부 프로그램 인터페이스 레이어 모듈은 기본 정의된 외부 전처리/후처리 뿐만 아니라 사용자가 정의한 전처리 혹은 후처리 프로그램을 지원하기 위해 별도의 모듈로 구성하여 확장성을 고려할 수 있다. 같은 이유로 오픈소스(OpenFOAM) 인터페이스 모듈 또한 향후 새로운 오픈소스 기반의 전산유체역학(CFD) 코드의 이용이 가능하도록 하기 위해 모듈화할 수 있다.
이러한 상기 외부 프로그램 인터페이스 레이어 모듈은 도 2 및 도 5에 도시된 바와 같이, 크게 전처리 인터페이스 모듈, 후처리 인터페이스 모듈, 오픈소스(OpenFOAM) 인터페이스 모듈 등을 포함하여 이루어진다.
여기서, 상기 전처리 인터페이스 모듈은 해석을 위해 설계되는 지오메트리(geometry) 정보와 메쉬(mesh) 정보를 생성하는 외부 프로그램(예컨대, 외부 전처리 프로그램)을 호출하고, 데이터를 관리하는 기능을 수행한다.
또한, 상기 전처리 인터페이스 모듈은 사전에 사용자가 정의한 전처리 모듈의 호출을 지원하는 기능을 수행한다. 한편, 정의하지 않은 경우 자동으로 정의하도록 하는 입력 창이 나타나도록 구현할 수 있다.
상기 후처리 인터페이스 모듈은 해석된 결과 데이터를 가시화하거나 추가적인 계산을 진행하기 위해 사용되는 가시화 프로그램(예컨대, 외부 후처리 프로그램)을 호출 관리하는 기능을 수행한다.
또한, 상기 후처리 인터페이스 모듈은 사전에 사용자가 정의한 후처리 모듈의 호출을 지원하는 기능을 수행한다. 한편, 정의하지 않은 경우 자동으로 정의하도록 하는 입력 창이 나타나도록 구현할 수 있다.
상기 오픈소스(OpenFOAM) 인터페이스 모듈은 에컨대, 메쉬 변환, 스케일링, 좌표 변환 및 기타 메쉬 및 후처리 입/출력(I/O) 작업 중에서 오픈소스(OpenFOAM) 라이브러리의 사용이 필요한 기능들에 대해 오픈소스(OpenFOAM) 라이브러리 입/출력(I/O)을 관리하는 기능을 수행한다.
그리고, 상기 오프소스(OpenFOAM) 모듈은 도 2에 도시된 바와 같이, 크게 해석 솔버 모듈, 관련 라이브러리(Library) 모듈 등을 포함하여 이루어진다.
여기서, 상기 해석 솔버 모듈은 사용자가 설정한 정보에 따라 전산유체역학(CFD) 해석을 진행하는 기능을 수행한다.
또한, 상기 해석 솔버 모듈에는 기본으로 제공하는 해석 솔버가 구비되어 있고, 사용자가 특정 솔버 코드를 수정하여 자신만의 새로운 솔버를 만들어 등록이 가능하도록 구비되어 있다.
상기 관련 라이브러리 모듈은 타 시스템과의 인터페이스를 위해 해석시 사용자 편의를 위해 제공되는 인터페이스 라이브러리를 제공하는 기능을 수행한다.
또한, 상기 관련 라이브러리 모듈에는 예컨대, 메쉬 생성 및 변환 라이브러리 등이 구비되어 있다.
전술한 본 발명의 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치에서는 오프소스 전산유체역학(CFD) 해석 솔버를 제공하는 오픈소스 모듈(예컨대, OpenFOAM)을 이용해 사용자가 쉽게 전산유체 해석을 수행할 수 있도록 하는 전처리/해석/후처리를 하나의 환경에서 통합 관리할 수 있도록 하는 환경을 제공한다.
즉, 본 발명의 장치는 오픈소스 모듈(예컨대, OpenFOAM) 환경의 가장 큰 어려움인 텍스트 기반 해석 환경의 설정을 그래픽 사용자 인터페이스(GUI) 기반 환경으로 제공하며, 전처리와 후처리 소프트웨어와 연계도 구축하여 하나의 환경에서 통합된 전산유체역학(CFD) 해석환경을 제공할 수 있는 효과가 있다.
도 6은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 설명하기 위한 전체적인 흐름도이고, 도 7은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 수행하기 위한 메인 인터페이스의 화면 구성 예를 나타낸 도면이고, 도 8은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중 해석 객체 형상 디자인 과정에서 CAD 소프트웨어를 이용하여 설계된 파이프 지오메트리(Geometry)를 나타낸 도면이고, 도 9는 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중에서 해석용 격자망(메쉬) 생성 과정을 위한 외부 프로그램의 NETGEN 메쉬 생성기의 설정 화면(3D, 2D, 1D)을 나타낸 도면이고, 도 10은 도 9에서 적용된 외부 프로그램의 NETGEN 메쉬 생성기를 이용하여 생성된 배관 파이프에 대한 메쉬의 일 예를 나타낸 도면이고, 도 11은 도 10의 배관 파이프 내부의 메쉬 구조(clipping 된 영역)를 나타낸 도면이고, 도 12는 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중에서 해석 솔버 선택 과정을 구체적으로 설명하기 위한 흐름도이고, 도 13 내지 도 15는 도 12의 해석 솔버 선택을 위한 사용자 입력 GUI 화면을 나타낸 도면이고, 도 16은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법 중에서 해석 파라미터 입력 과정을 구체적으로 설명하기 위한 흐름도이고, 도 17은 도 16의 해석 파라미터 입력 과정 중에서 지원되는 메쉬 리스트 및 격자 정보 설정 화면을 나타낸 도면이고, 도 18은 도 16의 해석 파라미터 입력 과정 중에서 물성치 입력 과정을 위한 물성치 데이터베이스 출력 화면을 나타낸 도면이고, 도 19 및 도 20은 도 16의 해석 파라미터 입력 과정 중 난류 모델 정보 입력 과정에서 선택된 k-Epsilon 모델의 해석용 변수 파라미터 설정 화면을 나타낸 도면이고, 도 21 및 도 22는 도 16의 해석 파라미터 입력 과정 중 난류 모델 정보 입력과정에서 선택된 k-Omega SST 모델의 해석용 변수 파라미터 설정 화면을 나타낸 도면이고, 도 23은 도 16의 해석 파라미터 입력 과정 중에서 경계 조건 설정 과정을 위한 경계 영역의 설정 화면을 나타낸 도면이고, 도 24는 도 16의 해석 파라미터 입력 과정 중에서 이산화 스킴 입력 과정을 위한 이산화 스킴 정의 화면을 나타낸 도면이고, 도 25는 도 16의 해석 파라미터 입력 과정 중에서 대수방정식 솔버 선택 과정을 위한 경계 특성 값 중 속도 계산 방정식 솔버 및 기본 파라미터 정의를 나타낸 도면이고, 도 26은 도 16의 해석 파라미터 입력 과정 중에서 계산 제어 정보 설정 과정을 위한 패러렐(Parallel) 설정(CPU 4개 이용시) 화면을 나타낸 도면이고, 도 27은 도 16의 해석 파라미터 입력 과정 중에서 계산 제어 정보 설정 과정을 위한 계산 제어 설정 GUI 화면을 나타낸 도면이다.
도 1 내지 도 27을 참조하면, 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법은, 먼저, 해석 대상객체 형상생성모듈(100)을 통해 사용자가 원하는 해석 대상객체의 3차원 형상을 설계 및 생성한다(S100).
이때, 상기 단계S100에서, 해석 대상객체 형상생성모듈(100)은 예컨대, 오픈소스 캐드(CAD) 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 설계 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상을 설계 및 생성함이 바람직하다.
이후에, 해석용 격자망 생성모듈(200)을 통해 상기 단계S100에서 생성된 해당 해석 대상객체의 3차원 형상정보를 기반으로 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성한다(S200).
이때, 상기 단계S200에서, 해석용 격자망 생성모듈(200)은 예컨대, 오픈소스 격자망 생성 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 격자망 생성 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성함이 바람직하다.
그런 다음, 해석 솔버 선택모듈(300)을 통해 상기 단계S200에서 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 기반으로 해당 해석 대상객체의 시간적 및 물리적 특성 설정에 따라 전산유체역학(Computational Fluid Dynamics, CFD) 해석 작업을 위한 오픈소스(OpenSource) 코드의 해석 솔버(Solver)를 선택한다(S300).
즉, 상기 단계S300에서, 해석 솔버 선택모듈(300)을 통해 해당 해석 대상객체의 시간적 및 물리적 특성을 설정하는 과정은, 도 12에 도시된 바와 같이, 해석 솔버 선택모듈(300)에 구비된 시간특성 설정부(310)를 통해 시간에 대해 변화가 없는 안정적인 상태 또는 입력 변수가 서로 지속적으로 변화하여 과거와 현재의 상태가 언제나 달라질 수 있는 일시적인 상태인지를 설정하는 제1 단계(S310)와, 해석 솔버 선택모듈(300)에 구비된 유동특성 설정부(320)를 통해 압력의 변화에 따라 체적이 변화하는 압축성 또는 비압축성 물질(예컨대, 유체)인지를 설정하는 제2 단계(S320)와, 해석 솔버 선택모듈(300)에 구비된 난류특성 설정부(330)를 통해 유체의 움직임 특성에 따른 세부 형태를 설정하는 제3 단계(S330)와, 해석 솔버 선택모듈(300)에 구비된 마하(Mach) 수 설정부(340)를 통해 유체의 운동 속도에 따라 빠른 흐름을 갖는 유체인지 아닌지를 설정하는 제4 단계(S340)와, 해석 솔버 선택모듈(300)에 구비된 난류모델 설정부(350)를 통해 난류특성에 따라 난류의 움직임을 모사한 복수의 난류 운동방정식들 중 어느 하나를 설정하는 제5 단계(S350)와, 해석 솔버 선택모듈(300)에 구비된 단상/다상유동 설정부(360)를 통해 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지를 설정하는 제6 단계(S360)와, 해석 솔버 선택모듈(300)에 구비된 열조건 설정부(370)를 통해 유체의 운동 변화에 따른 온도 조건을 설정할 것인지를 파악하는 제7 단계(S370)와, 해석 솔버 선택모듈(300)에 구비된 중력영향 설정부(380)를 통해 유체의 운동에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하는 제8 단계(S380)와, 해석 솔버 선택모듈(300)에 구비된 메쉬변화특성 설정부(390)를 통해 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬(Mesh)가 해석 단계에 따라 움직이도록 설정하는 제9 단계(S390)를 포함할 수 있다.
그리고, 전술한 제1 내지 제9 단계(S310 내지 S390)는 해석 솔버 선택모듈(300)을 통해 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 형태로 디스플레이 화면에 단계적으로 표시함이 바람직하다(도 13 내지 도 15 참조).
다음으로, 해석 파라미터 입력모듈(400)을 통해 상기 단계S300에서 선택된 해석 솔버 정보를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하기 위한 해석 파라미터들을 입력한다(S400).
즉, 상기 단계S400은, 도 16에 도시된 바와 같이, 해석 파라미터 입력모듈(400)에 구비된 격자정보 설정부(410)를 통해 상기 단계S200에서 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 읽어 들인 후 이를 기 설정된 오픈소스 형식으로 변환하여 디스플레이 화면에 출력되도록 격자 형식을 설정하는 단계(S410)와, 해석 파라미터 입력모듈(400)에 구비된 물성치 입력부(420)를 통해 유체의 종류에 따라 온도, 밀도, 비열, 열전도도, 동점성계수(Dynamic Viscosity), 및 프랜틀(Prandtl) 수 중 적어도 하나의 유체 특성을 입력하는 단계(S420)와, 해석 파라미터 입력모듈(400)에 구비된 중력정보 입력부(430)를 통해 유체의 움직임에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대하여 정보를 입력하는 단계(S430)와, 해석 파라미터 입력모듈(400)에 구비된 난류모델정보 입력부(440)를 통해 상기 단계S300에서 선택된 해석 솔버 정보 중 난류모델 설정정보에 대해 난류모델별로 서로 다른 해석용 변수 파라미터 세부정보를 입력하는 단계(S440)와, 해석 파라미터 입력모듈(400)에 구비된 경계조건 설정부(450)를 통해 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달할 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하는 단계(S450)와, 해석 파라미터 입력모듈(400)에 구비된 이산화 스킴 입력부(460)를 통해 해석 솔버가 풀고자 하는 해석 방정식에 대한 이산화의 스킴(scheme)을 설정 및 입력하는 단계(S460)와, 해석 파라미터 입력모듈(400)에 구비된 대수방정식 솔버 선택부(470)를 통해 해석 대상이 되는 방정식을 계산할 때 어떠한 계산 솔버(matrix solver)를 이용해서 계산해야 하는지를 선택하는 단계(S470)와, 해석 파라미터 입력모듈(400)에 구비된 계산 제어정보 설정부(480)를 통해 해석을 진행하기 위한 시작 및 종료 조건을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 설정하는 단계(S480)를 포함할 수 있다.
그리고, 상기 단계S410 내지 단계S480은 해석 파라미터 입력모듈(400)을 통해 그래픽 사용자 인터페이스(GUI) 형태로 디스플레이 화면에 순차적으로 표시함이 바람직하다(도 17 내지 도 27 참조).
이후에, 해석수행모듈(500)을 통해 상기 단계S300에서 선택된 해석 솔버 정보와 상기 단계S400에서 입력된 해석 파라미터 정보를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행한다(S500).
그런 다음, 해석평가모듈(600)을 통해 상기 단계S500에서 해석수행 완료된 해당 해석 대상객체에 대한 해석 평가정보 데이터를 생성한 후, 상기 생성된 평가정보 데이터를 시각화하여 해당 해석 대상객체에 대한 평가결과 보고서를 생성한다(S600).
이하에는 전술한 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 실제 구현 예를 통해 좀 더 구체적으로 설명하기로 한다.
즉, 전처리 과정(즉, 해석 객체 형상 디자인, 해석용 격자망(메쉬) 생성)(S100 및 S200), 해석 정보 설정(즉, 해석 솔버 선택, 해석 파라미터 입력)(S300 및 S400), 해석(S500), 후처리(즉, 해석 평가/보고서 작성)(S600) 등의 순차적 과정을 거쳐 진행한다.
먼저, 상기 전처리(Pre-processing) 과정은 해석 객체 형상 디자인, 해석용 격자망(메쉬) 생성 과정(S100 및 S200)으로 이루어질 수 있다.
이때, 상기 해석 객체 형상 디자인(CAD, Geometry 작업) 과정(S100)은, 해석을 진행하고자 하는 물체 혹은 환경 등에 대한 3차원 형상을 설계하는 단계로서, 예를 들어 파이프 내부에 흐르는 유체의 흐름에 대한 전산유체역학(CFD) 해석을 한다면 파이프를 모양을 설계하는 것을 말한다(도 8 참조).
즉, 상기 해석 객체 형상 디자인 단계(S100)는 개발된 소프트웨어에서 오픈소스(OpenSource) CAD 소프트웨어 혹은 사용자가 사전에 개발된 소프트웨어에 등록(별도의 등록 화면을 제공)한 상용/비상용 설계 프로그램을 호출하여 실행하는 기능을 제공할 수 있다.
그리고, 상기 해석용 격자망(메쉬 작업) 생성 과정(S200)은, 상기 설계된 3차원 형상에서 유체의 흐름이 발생하는 영역을 작은 조각(메쉬: 사면체, 오면체, 육면체, …)의 연속적인 형태로 표현하는 단계로서, 전산유체역학(CFD) 해석은 이러한 연속된 메쉬 조각 내부의 영역에 대해 사용자가 원하는 수학 계산을 연속적으로 수행하여 각 메쉬에 대해 원하는 해석 값을 얻는 작업이다(도 9 내지 도 11 참조).
즉, 상기 해석용 격자망(메쉬 작업) 생성 단계(S200)는, 역시 개발된 소프트웨어에서 오픈소스(OpenSource) 메쉬 생성 소프트웨어 혹은 사용자가 사전에 개발된 소프트웨어에 등록(별도의 등록 화면을 제공)한 상용/비상용 메쉬 생성 프로그램을 호출하여 실행하는 기능을 제공할 수 있다.
한편, 메쉬 생성 방법은 다양하게 존재하며, 가장 기본적으로 사용되는 NETGEN 알고리즘의 메쉬 생성기를 사용하여 도 8의 배관 파이프에 대해 배관 파이프 내부의 유체의 흐름 영역에 대한 메쉬를 생성한 예를 보여준다(도 10 참조).
다음으로, 상기 해석 정보 설정 및 해석 과정으로서, 상기 해석 정보 설정 과정에서는 해석 솔버 선택 및 해석 파라미터 입력 과정을 수행한다(S300 및 S400).
먼저, 상기 해석 솔버 선택 과정(S300)에 대하여 도 12 내지 도 15를 참조하여 구체적으로 설명하면 다음과 같다.
즉, 상기 해석 솔버 선택 과정(S300)은, 타임(Time)특성(S310), 플로우(Flow)특성(S320), 난류특성(S330), 마하(Mach) 수(S340), 난류모델(S350), 단상/다상유동(S360), 열(Thermal)조건(S370), 중력영향(S380), 메쉬변환 특성(S390), 솔버 선택의 순차적인 단계를 거쳐 수행할 수 있다.
여기서, 상기 타임(Time)특성 단계(S310)에서는 정상 상태(steady state) 해석 및/또는 일시적인(Transient) 해석의 종류를 정의할 수 있다.
상기 정상 상태(Steady State) 해석은 일반적으로, 시간에 대해 변화가 없는 상태를 일컫는 말로 움직임 없는 정적인 상태보다는 규칙성을 갖는 동적인 상태를 의미하며, 어떤 유체가 움직이는데 있어서 안정적인 상태를 유지한다는 의미이다.
예를 들어, 파이프에 물이 흐를 때 처음 물이 들어가면 파이프 내부의 위치마다 속도와 물의 양, 압력 등이 다르지만 일정 시간 지속적으로 동일한 양과 속도의 물이 파이프에 들어가게 되면 어느 순간 파이프 내부의 모든 곳의 물의 움직임은 이전 시간의 상태와 현재 시간의 상태, 그리고 미래의 특정 시간의 상태는 동일하기 때문에 이러한 종류의 해석을 정상 상태(steady state) 해석이라 한다.
그리고, 상기 일시적인(Transient) 해석은 상기의 정상 상태(steady state)와 반대의 개념으로 입력 변수가 서로 지속적으로 변화하여 과거의 상태와 현재의 상태가 언제나 달라질 수 있는 상태의 해석으로서, 상기 정상 상태(Steady state) 해석보다 훨씬 더 많은 해석 자원과 시간이 필요하다.
상기 플로우(Flow)특성 단계(S320)를 설명하면, 유체 역학에서는 주로 압축성/비압축성으로 구분하며 압축성 물체는 공기가 대표적이며 비압축성 유체는 물과 같은 물질로 압력의 변화에 따라 체적이 변화하는 물체인지 아닌지를 구분한다.
상기 난류특성 단계(S330)는 유체의 움직임 특성에 대한 세부 형태를 표현하는 단계로서, 유체의 운동 특성에 따라 정확도를 보면 DNS > LES > RANS의 순으로 좀 더 나을 결과를 보이지만 모든 조건에서 그러한 것이 아니기 때문에 경험적으로 마크로(macro) 영역의 해석/마이크로(micro) 영역의 해석/그 둘의 중간정도 영역의 해석에 따라 주로 LES/RANS를 구분하여 선택한다.
상기 마하(Mach) 수 단계(S340)는 유체의 운동 속도에 대한 정의로 빠른 흐름을 갖는 유체인지 아닌지를 정의하는 단계이다.
상기 난류모델 단계(S350)는 난류 특성에 따라 난류의 움직임을 모사한 다양한 난류 운동방정식 중 적절한 것을 선택하는 단계이다(예컨대, LES, RANS, DNS에 따라 서로 다른 난류모델 리스트가 지원됨).
상기 단상/다상유동 단계(S360)에서는 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지 구분하여, 유체가 2개 이상의 물질로 이루어져 있는 경우 각각의 유체의 운동 특성이 다르기 때문에 개별적으로 해석을 진행해야 한다. 즉, 이러한 설정을 정의해 주는 단계이다.
상기 열(Thermal)조건 단계(S370)를 설명하면, 전산유체역학(CFD) 해석은 주로 유체의 운동에 따른 압력이나 속도의 변화를 측정하는데 주로 사용되지만 이러한 유체의 운동 변화에 따라 유체 운동 영역 혹은 경계(예를 들어, 배관 파이프의 외관(철제 관) 영역의 온도 변화) 등을 파악하고자 하는데 사용되기도 한다. 즉, 이때는 운동방정식에 열전달 방정식을 혼용해서 전산유체역학(CFD) 해석을 해야 하기 때문에 열 조건을 설정할 것인지를 파악하는 단계이다.
상기 중력영향 단계(S380)는 유체의 운동에 중력 혹은 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하는 단계이다.
상기 메쉬변화 특성 단계(S390)란 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬가 해석 단계에 따라 움직이도록 설정하는 단계로서, 대표적인 예로 파이프 내부에 터빈과 같은 물체가 있는 경우 물의 이동 압력 혹은 속도에 따라 터빈이 회전하기 때문에 해당 물체를 해석시 고려하도록 하기 위한 부분이다.
다음으로, 상기 해석 파라미터 입력 과정(S400)에 대하여 도 16 내지 도 27을 참조하여 설명하면 다음과 같다.
즉, 상기 해석 파라미터 입력 과정(S400)은, 격자정보 설정(S410), 물성치 입력(S420), 중력정보 입력(S430), 난류모델정보 입력(S440), 경계조건 설정(S450), 이산화 스킴 입력(S460), 대수방정식 솔버 선택(S470), 계산 제어정보 설정(S480)의 순차적인 단계를 거쳐 수행할 수 있다.
여기서, 상기 격자정보 설정 단계(S410)는, 이전 단계(S200)에서 생성한 메쉬(격자 정보)를 해석 모듈에서 읽어오는 단계이다.
즉, 격자정보의 경우 다양한 소프트웨어가 다양한 형식으로 저장하기 때문에 서로 다른 파일 포맷을 갖는다. 개발된 소프트웨어는 대표적인 6개 형식의 메쉬 파일을 읽어 들이는 기능을 지원하며, Original OpenFOAM 형식의 데이터 읽기도 지원한다. 메쉬 파일을 읽고 이를 Original OpenFOAM 형식으로 변환한 후 이를 화면에 출력하는 기능을 지원한다(도 17 참조).
상기 물성치 입력 단계(S420)는, 해석을 진행하는 유체의 특성을 정의하는 단계로서, 예컨대, 유체의 질량, 점도, 밀도, 열전도도 등의 정보를 사용자가 선택하는 단계이다. 이는 유체에 따라 해당 정보가 다르며, 유체의 종류가 다양하기 때문에 개발된 시스템에서는 데이터베이스에 대표적인 유체에 대한 정보를 저장해 놓고 사용자가 해당 정보를 참조할 수 있도록 하고 있다(도 18 참조).
상기 중력정보 입력 단계(S430)는, 유체의 움직임이 중력에 영향을 받는 경우 해당 정보를 입력하는 단계로서, 상황에 따라서는 기본 중력의 n배를 설정하거나, 설계된 형상의 형태에 따라 축 방향이 z축 방향이 아닌 x축 혹은 y축 방향으로 해당 정보를 입력하기도 한다. 이 정보는 초기 솔버 선택에서 진행된 정보를 이용한다.
상기 난류모델정보 입력 단계(S440)는, 솔버 선택시 정의된 난류모델에 대해 세부 정보를 입력하는 단계로서, 각 모델별로 서로 다른 해석용 변수 파라미터에 대한 정보를 입력하는 단계이다. 즉, 난류모델별로 다른 파라미터 이름 및 기본 설정 값 정보는 데이터베이스를 이용하여 해당 정보를 제공할 수 있다(도 19 내지 도 22 참조).
즉, 상기 난류모델이란 유체유동 시 난류 효과를 고려하기 위한 수치해석 모델로서 유체의 흐름 특성에 따라 다양한 난류모델이 존재하기 때문에 유체 흐름 특성에 따라 적절한 난류모델이 선택되어야 한다.
제안된 본 발명에서는 오픈소스 모듈(예컨대, OpenFOAM)에서 지원하는 다양한 난류모델에 대한 정보를 데이터베이스화하여 기본 난류특성에 따라 자동으로 사용 가능한 난류모델의 선택 및 해당 난류모델에 따른 사용자의 입력이 필요한 변수 및 변수의 기본값이 자동으로 입력되도록 구현하였다.
상기 경계조건 설정 단계(S450)는, 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달한 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하는 단계이다.
즉, 파이프 배관을 예로 들면 일반적으로 인렛(inlet)이라는 경계 이름을 갖는 영역은 파이프 배관에 유체(예를 들어, "물")가 입력되는 영역을 의미하며, 아웃렛(outlet)이라는 영역은 유체가 빠져 나가는 영역을 의미한다. 또한, 배관 외곽 영역의 경우 유체에 대해 특별한 반응(zeroGradient)을 하지 않거나 아니면 유체가 미끄러지게 한다(slip)는 등의 특성을 지정할 수 있다. 또한, 유체가 입력 혹은 출력으로 나가는 속도를 지정하여 유체의 기본 흐름 정보를 제어할 수 있도록 하는 정보를 입력하는 단계이다.
기존의 오픈소스(OpenFOAM)는 이러한 정보를 텍스트(text) 입력창에서 해당 내용을 입력해야 하지만 제안된 본 발명에서는 그래픽 사용자 인터페이스(GUI) 기반으로 구현하였으며, 기존의 방식은 하나의 특성값에 대해 모든 경계 영역을 하나의 파일에서 관리하여 상용 소프트웨어 대비 불편하였으나 제안된 본 발명에서는 상용 소프트웨어처럼 경계 영역 기준으로 작업할 수 있도록 구성하였다.
도 23은 아웃렛(outlet) 경계 영역에 대해 특정 솔버의 모든 경계 특성값을 통합 관리하는 화면을 보여준다. 이러한 화면은 솔버 단위로 동적으로 실행단계에서 자동으로 그래픽 사용자 인터페이스(GUI)가 생성되도록 개발되어 확장성을 극대화 할 수 있다.
즉, 해석조건 설정 시 가장 중요한 부분은 해석대상의 경계면에 해석조건(경계 조건: Boundary condition)을 설정하는 부분이다. 상용 전산유체역학(CFD) 해석 소프트웨어에서는 개별 경계에 대해 해석이 필요한 정보(예컨대, 압력, 속도, 에너지 등의 물리량)에 대해 통합 설정을 지원하는 구조를 갖는다. 이는 경계에 따라 특정 정보를 설정하지 않는 경우가 있기 때문이다.
하지만, 오픈소스 모듈(예컨대, OpenFOAM)에서는 개개의 정보에 따라 설정 파일이 분리되어 있어 사용자에게 혼동을 줄 수 있는 여지가 많다. 또한, 사용자는 해석을 하고자 하는 객체가 갖는 모든 경계의 이름을 기억해야 하며, 입력 오류가 존재하는 경우에 별도의 에러 메시지를 보여주지 않고, 해석을 강제 종료하는 등 사용자에 대한 고려가 부족하다.
상기와 같은 오픈소스 모듈(예컨대, OpenFOAM)의 단점을 해소하고자 제안된 본 발명에서는 각각의 경계에 대해 사용자가 통합된 인터페이스에서 경계 조건을 설정할 수 있도록 구성하였다.
또한, 사용자에게 현재 객체에 존재하는 모든 경계 이름을 자동으로 표시하여 사용자가 쉽게 경계조건을 설정할 수 있도록 구성하였다. 한 화면에서 하나의 경계에 대해 모든 경계조건의 설정을 지원하는 통합된 인터페이스 화면을 구성하였다(도 23 참조).
본 발명에서 제공되는 인터페이스에서는 솔버에 따라 해석정보의 종류 및 입력값이 바뀌는 경우에 자동으로 해당 정보에 맞는 인터페이스가 동적으로 구성되도록 구현하였다.
상기 이산화스킴 입력 단계(S460)에서 상기 이산화 스킴이란 솔버(Solver)가 풀고자 하는 해석 방정식을 이산화의 스킴(scheme)을 설정하는 부분으로 전산유체역학(CFD)이 사용하는 표준 방정식인 나비에-스토크스 방정식의 각 변수항을 푸는 방식을 정의하는 부분이다(도 24 참조).
상기 대수 방정식 솔버 선택 단계(S470)는, 해석 대상이 되는 방정식(예컨대, 압력, 속도, 에너지, …)의 계산할 때 어떠한 계산 솔버(Matrix solver)를 이용해서 계산해야 하는지를 정의하는 단계로서, 계산 솔버(Matrix solver)에 따라 추가적인 파라미터를 갖기도 한다(도 25 참조).
상기 계산 제어 설정 단계(S480)는, 크게 패러렐(Parallel) 설정, 계산 제어 설정, 종료 조건/모니터링 설정 단계 등으로 이루어질 수 있다.
즉, 상기 패러렐(Parallel) 설정 단계를 설명하면, MPI(Massage Passing Interface)는 다중 CPU 해석을 위한 CPU 사이의 계산 결과를 상호 연결 국제 표준 프로토콜의 이름이며, 전산유체역학(CFD) 해석에서는 해석을 위한 메쉬 정보를 적절한 크기(사용되는 CPU 수 만큼)로 분리하고, 이 영역을 기준으로 CPU를 할당하여 해석속도를 향상시킬 수 있도록 설정하는 단계이다.
상기 계산 제어 설정 단계는, 해석을 진행하기 위한 시작 및 종료 조건(표준 종료)을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 정의하는 단계이다.
상기 종료 조건/모니터링 설정 단계는, 비표준 종료(표준 종료 조건이 아닌 더 이상 해석을 진행해도 전체 결과에 미치는 영향이 미미할 경우의 종료 조건 : 잔여(Residual) 조건)의 설정과 특정 해석 결과를 사용자가 원하는 형태로 가공하여 정리하도록 설정해 주는 단계이다.
그런 다음, 상기 후처리(Post-Processing) 단계(S600)를 수행한다.
즉, 상기 후처리(Post-processing) 단계(S600)는, 해석 과정(S500)이 종료된 후 해석된 데이터를 사용자가 쉽게 해석 결과를 인지할 수 있도록 가시화하거나 해석 결과 자료를 재처리 하는 단계이다.
이때, 상기 가시화 단계에 대하여 설명하면, 해석된 데이터는 각 메쉬 영역에 대해 사용자가 원하는 해석 결과(각 메쉬영역별 압력, 속도, 온도, …) 정보를 갖는데 이 정보를 화면에 색깔로 표현하는 단계이다.
상기 결과 재처리 단계는, 해석된 결과 데이터에서 사용자가 원하는 형태의 정보로 해당 정보를 가공하는 단계로서, 일반적으로 사용자가 직접 해당 데이터를 읽어와 처리한다.
한편, 도 7은 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법을 수행하기 위한 메인 인터페이스의 화면 구성 예를 나낸 도면으로서, 개발된 시스템은 총 4개의 분할된 화면 구성을 갖는다.
즉, 좌측 상단 화면에 전산유체역학(CFD) 해석 환경 설정 프로세스가 트리화된 것을 볼 수 있다. 사용자가 해당 트리를 선택하면 각 트리에 맞는 사용자 설정 정보 입력창이 나타나도록 구성되어 있다.
그리고, 좌측 하단의 속성 정보 출력창에는 사용자가 선택한 트리의 메뉴 중 단순한 속성값이 표시되도록 구성되어 있다. 우측 창은 2개의 탭으로 구성되어 있으며, 첫 번째 탭은 현재 해석을 진행할 대상의 3차원 형상을 보여주는 화면과 연결된 탭이다. 두 번째 탭은 해석이 진행되는 동안 해석 진행 과정을 보여주는 해석 결과에 대한 잔여(residual) 정보를 출력하는 창이다.
사용자는 해석이 진행되는 동안 잔여(residual) 정보의 변화를 모니터링하며 해석 진행의 적절성을 판단할 수 있다. 아래의 창은 현재 솔버가 해석되는 정보를 텍스트로 출력하여 주는 창이다. 이 창에 출력되는 정보 중 일부가 우측의 두 번째 탭에서 잔여(residual) 그래프로 표시된다.
다른 한편, 본 발명의 일 실시예에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100 : 해석 대상객체 형상생성모듈,
200 : 해석용 격자망 생성모듈,
300 : 해석 솔버 선택모듈,
400 : 해석 파라미터 입력모듈,
500 : 해석수행모듈,
600 : 해석평가모듈

Claims (11)

  1. 사용자가 원하는 해석 대상객체의 3차원 형상을 설계 및 생성하는 해석 대상객체 형상생성모듈;
    상기 해석 대상객체 형상생성모듈로부터 생성된 해당 해석 대상객체의 3차원 형상정보를 제공받아 이를 기반으로 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 해석용 격자망 생성모듈;
    상기 해석용 격자망 생성모듈로부터 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 제공받아 이를 기반으로 해당 해석 대상객체의 시간적 및 물리적 특성 설정에 따라 전산유체역학(Computational Fluid Dynamics, CFD) 해석 작업을 위한 오픈소스(OpenSource) 코드의 해석 솔버(Solver)를 선택하는 해석 솔버 선택모듈;
    상기 해석 솔버 선택모듈로부터 선택된 해석 솔버 정보를 제공받아 이를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하기 위한 해석 파라미터들을 입력하는 해석 파라미터 입력모듈;
    상기 해석 솔버 선택모듈로부터 선택된 해석 솔버 정보와 상기 해석 파라미터 입력모듈로부터 입력된 해석 파라미터 정보를 각각 제공받아 이를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하는 해석수행모듈; 및
    상기 해석수행모듈로부터 해석수행 완료된 해당 해석 대상객체에 대한 해석 평가정보 데이터를 생성하고, 상기 생성된 평가정보 데이터를 시각화하여 해당 해석 대상객체에 대한 평가결과 보고서를 생성하는 해석평가모듈을 포함하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치.
  2. 제1 항에 있어서,
    상기 해석 대상객체 형상생성모듈은, 오픈소스 캐드(CAD) 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 설계 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상을 설계 및 생성하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치.
  3. 제1 항에 있어서,
    상기 해석용 격자망 생성모듈은, 오픈소스 격자망 생성 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 격자망 생성 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치.
  4. 제1 항에 있어서,
    상기 해석 솔버 선택모듈은, 시간에 대해 변화가 없는 안정적인 상태 또는 입력 변수가 서로 지속적으로 변화하여 과거와 현재의 상태가 언제나 달라질 수 있는 일시적인 상태인지를 설정하기 위한 시간특성 설정부와, 압력의 변화에 따라 체적이 변화하는 압축성 또는 비압축성 물질인지를 설정하기 위한 유동특성 설정부와, 유체의 움직임 특성에 따른 세부 형태를 설정하기 위한 난류특성 설정부와, 유체의 운동 속도에 따라 빠른 흐름을 갖는 유체인지 아닌지를 설정하기 위한 마하(Mach) 수 설정부와, 난류특성에 따라 난류의 움직임을 모사한 복수의 난류 운동방정식들 중 어느 하나를 설정하기 위한 난류모델 설정부와, 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지를 설정하기 위한 단상/다상유동 설정부와, 유체의 운동 변화에 따른 온도 조건을 설정할 것인지를 파악하기 위한 열조건 설정부와, 유체의 운동에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하기 위한 중력영향 설정부와, 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬(Mesh)가 해석 단계에 따라 움직이도록 설정하는 메쉬변화특성 설정부를 포함하며,
    상기 시간특성 설정부, 상기 유동특성 설정부, 상기 난류특성 설정부, 상기 마하 수 설정부, 상기 난류모델 설정부, 상기 단상/다상유동 설정부, 상기 열조건 설정부, 상기 중력영향 설정부, 및 상기 메쉬변화특성 설정부를 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 형태로 디스플레이 화면에 단계적으로 표시되도록 제어하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치.
  5. 제1 항에 있어서,
    상기 해석 파라미터 입력모듈은, 상기 해석용 격자망 생성모듈로부터 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 읽어 들인 후 이를 기 설정된 오픈소스 형식으로 변환하여 디스플레이 화면에 출력되도록 격자 형식을 설정하기 위한 격자정보 설정부와, 유체의 종류에 따라 온도, 밀도, 비열, 열전도도, 동점성계수(Dynamic Viscosity), 및 프랜틀(Prandtl) 수 중 적어도 하나의 유체 특성을 입력하기 위한 물성치 입력부와, 유체의 움직임에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대하여 정보를 입력하기 위한 중력정보 입력부와, 상기 해석 솔버 선택모듈로부터 선택된 해석 솔버 정보 중 난류모델 설정정보에 대해 난류모델별로 서로 다른 해석용 변수 파라미터 세부정보를 입력하기 위한 난류모델정보 입력부와, 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달할 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하기 위한 경계조건 설정부와, 해석 솔버가 풀고자 하는 해석 방정식에 대한 이산화의 스킴(scheme)을 설정 및 입력하기 위한 이산화 스킴 입력부와, 해석 대상이 되는 방정식을 계산할 때 어떠한 계산 솔버(matrix solver)를 이용해서 계산해야 하는지를 선택하기 위한 대수방정식 솔버 선택부와, 해석을 진행하기 위한 시작 및 종료 조건을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 설정하기 위한 계산제어정보 설정부를 포함하며,
    상기 격자정보 설정부, 상기 물성치 입력부, 상기 중력정보 입력부, 상기 난류모델정보 입력부, 상기 경계조건 설정부, 상기 이산화 스킴 입력부, 상기 대수방정식 솔버 선택부, 및 상기 계산제어정보 설정부를 그래픽 사용자 인터페이스(GUI) 형태로 디스플레이 화면에 표시되도록 제어하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치.
  6. (a) 해석 대상객체 형상생성모듈을 통해 사용자가 원하는 해석 대상객체의 3차원 형상을 설계 및 생성하는 단계;
    (b) 해석용 격자망 생성모듈을 통해 상기 단계(a)에서 생성된 해당 해석 대상객체의 3차원 형상정보를 기반으로 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 단계;
    (c) 해석 솔버 선택모듈을 통해 상기 단계(b)에서 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 기반으로 해당 해석 대상객체의 시간적 및 물리적 특성 설정에 따라 전산유체역학(Computational Fluid Dynamics, CFD) 해석 작업을 위한 오픈소스(OpenSource) 코드의 해석 솔버(Solver)를 선택하는 단계;
    (d) 해석 파라미터 입력모듈을 통해 상기 단계(c)에서 선택된 해석 솔버 정보를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하기 위한 해석 파라미터들을 입력하는 단계;
    (e) 해석수행모듈을 통해 상기 단계(c)에서 선택된 해석 솔버 정보와 상기 단계(d)에서 입력된 해석 파라미터 정보를 기반으로 해당 해석 대상객체의 전산유체역학(CFD) 해석 작업을 수행하는 단계; 및
    (f) 해석평가모듈을 통해 상기 단계(e)에서 해석수행 완료된 해당 해석 대상객체에 대한 해석 평가정보 데이터를 생성한 후, 상기 생성된 평가정보 데이터를 시각화하여 해당 해석 대상객체에 대한 평가결과 보고서를 생성하는 단계를 포함하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법.
  7. 제6 항에 있어서,
    상기 단계(a)에서, 상기 해석 대상객체 형상생성모듈은 오픈소스 캐드(CAD) 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 설계 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상을 설계 및 생성하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법.
  8. 제6 항에 있어서,
    상기 단계(b)에서, 상기 해석용 격자망 생성모듈은 오픈소스 격자망 생성 프로그램이나 사용자에 의해 미리 설정된 상용 또는 비상용 격자망 생성 프로그램을 호출하여 해당 해석 대상객체의 3차원 형상에 대한 격자망 정보를 생성하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법.
  9. 제6 항에 있어서,
    상기 단계(c)에서, 상기 해석 솔버 선택모듈을 통해 해당 해석 대상객체의 시간적 및 물리적 특성을 설정하는 과정은,
    상기 해석 솔버 선택모듈에 구비된 시간특성 설정부를 통해 시간에 대해 변화가 없는 안정적인 상태 또는 입력 변수가 서로 지속적으로 변화하여 과거와 현재의 상태가 언제나 달라질 수 있는 일시적인 상태인지를 설정하는 제1 단계와,
    상기 해석 솔버 선택모듈에 구비된 유동특성 설정부를 통해 압력의 변화에 따라 체적이 변화하는 압축성 또는 비압축성 물질인지를 설정하는 제2 단계와,
    상기 해석 솔버 선택모듈에 구비된 난류특성 설정부를 통해 유체의 움직임 특성에 따른 세부 형태를 설정하는 제3 단계와,
    상기 해석 솔버 선택모듈에 구비된 마하(Mach) 수 설정부를 통해 유체의 운동 속도에 따라 빠른 흐름을 갖는 유체인지 아닌지를 설정하는 제4 단계와,
    상기 해석 솔버 선택모듈에 구비된 난류모델 설정부를 통해 난류특성에 따라 난류의 움직임을 모사한 복수의 난류 운동방정식들 중 어느 하나를 설정하는 제5 단계와,
    상기 해석 솔버 선택모듈에 구비된 단상/다상유동 설정부를 통해 유체가 하나의 물질로 이루어져 있는지 2개 이상의 물질로 이루어져 있는지를 설정하는 제6 단계와,
    상기 해석 솔버 선택모듈에 구비된 열조건 설정부를 통해 유체의 운동 변화에 따른 온도 조건을 설정할 것인지를 파악하는 제7 단계와,
    상기 해석 솔버 선택모듈에 구비된 중력영향 설정부를 통해 유체의 운동에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대한 설정을 진행하는 제8 단계와,
    상기 해석 솔버 선택모듈에 구비된 메쉬변화특성 설정부를 통해 유체 유동 영역에 해석 시간 단위로 움직임이 존재하는 물체가 있는 경우 해당 물체의 외곽 경계 메쉬(Mesh)가 해석 단계에 따라 움직이도록 설정하는 제9 단계를 포함하되,
    상기 제1 내지 제9 단계는 상기 해석 솔버 선택모듈을 통해 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 형태로 디스플레이 화면에 단계적으로 표시하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법.
  10. 제6 항에 있어서,
    상기 단계(d)는,
    (d-1) 상기 해석 파라미터 입력모듈에 구비된 격자정보 설정부를 통해 상기 단계(b)에서 생성된 해당 대상객체의 3차원 형상에 대한 격자망 정보를 읽어 들인 후 이를 기 설정된 오픈소스 형식으로 변환하여 디스플레이 화면에 출력되도록 격자 형식을 설정하는 단계;
    (d-2) 상기 해석 파라미터 입력모듈에 구비된 물성치 입력부를 통해 유체의 종류에 따라 온도, 밀도, 비열, 열전도도, 동점성계수(Dynamic Viscosity), 및 프랜틀(Prandtl) 수 중 적어도 하나의 유체 특성을 입력하는 단계;
    (d-3) 상기 해석 파라미터 입력모듈에 구비된 중력정보 입력부를 통해 유체의 움직임에 중력 또는 특정 방향으로의 힘이 가해지는 경우에 대하여 정보를 입력하는 단계;
    (d-4) 상기 해석 파라미터 입력모듈에 구비된 난류모델정보 입력부를 통해 상기 단계(c)에서 선택된 해석 솔버 정보 중 난류모델 설정정보에 대해 난류모델별로 서로 다른 해석용 변수 파라미터 세부정보를 입력하는 단계;
    (d-5) 상기 해석 파라미터 입력모듈에 구비된 경계조건 설정부를 통해 유체가 이동되는 영역의 최외곽 영역에 대해 유체가 해당 영역에 도달할 경우 어떠한 동작을 해야 하는지에 대한 정보와 해당 영역이 유체 운동에 어떠한 영향을 주어야 하는지에 대한 정보를 설정하는 단계;
    (d-6) 상기 해석 파라미터 입력모듈에 구비된 이산화 스킴 입력부를 통해 해석 솔버가 풀고자 하는 해석 방정식에 대한 이산화의 스킴(scheme)을 설정 및 입력하는 단계;
    (d-7) 상기 해석 파라미터 입력모듈에 구비된 대수방정식 솔버 선택부를 통해 해석 대상이 되는 방정식을 계산할 때 어떠한 계산 솔버(matrix solver)를 이용해서 계산해야 하는지를 선택하는 단계; 및
    (d-8) 상기 해석 파라미터 입력모듈에 구비된 계산 제어정보 설정부를 통해 해석을 진행하기 위한 시작 및 종료 조건을 설정하고 결과 데이터를 어떤 방식으로 저장하고 관리할 지를 설정하는 단계를 포함하되,
    상기 단계(d-1) 내지 단계(d-8)는 상기 해석 파라미터 입력모듈을 통해 그래픽 사용자 인터페이스(GUI) 형태로 디스플레이 화면에 순차적으로 표시하는 것을 특징으로 하는 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 방법.
  11. 제6 항 내지 제10 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020190031570A 2018-03-27 2019-03-20 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법 KR20190113597A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180035000 2018-03-27
KR20180035000 2018-03-27

Publications (1)

Publication Number Publication Date
KR20190113597A true KR20190113597A (ko) 2019-10-08

Family

ID=68208832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190031570A KR20190113597A (ko) 2018-03-27 2019-03-20 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20190113597A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210080984A (ko) 2019-12-23 2021-07-01 (주)미래환경플랜건축사사무소 건축물 맞춤형 전산유체역학 모델 최적 격자 설계 시스템 및 최적 격자 방법
KR20210111011A (ko) 2020-03-02 2021-09-10 오성배 오픈 폼 솔버의 전후처리 가시화 서비스 제공 시스템
CN113688487A (zh) * 2021-08-16 2021-11-23 苏州同元软控信息技术有限公司 乘用车二维空调管路流体动力学的仿真方法及装置
CN117195761A (zh) * 2023-08-15 2023-12-08 中国船舶集团有限公司第七一九研究所 一种基于流场离散度自适应的计算加速方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101708168B1 (ko) 2015-04-30 2017-02-20 주식회사 엘쏠텍 3차원 전산유체해석 기반의 배관 감육 예측 및 평가 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101708168B1 (ko) 2015-04-30 2017-02-20 주식회사 엘쏠텍 3차원 전산유체해석 기반의 배관 감육 예측 및 평가 장치 및 그 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210080984A (ko) 2019-12-23 2021-07-01 (주)미래환경플랜건축사사무소 건축물 맞춤형 전산유체역학 모델 최적 격자 설계 시스템 및 최적 격자 방법
KR20210111011A (ko) 2020-03-02 2021-09-10 오성배 오픈 폼 솔버의 전후처리 가시화 서비스 제공 시스템
CN113688487A (zh) * 2021-08-16 2021-11-23 苏州同元软控信息技术有限公司 乘用车二维空调管路流体动力学的仿真方法及装置
CN113688487B (zh) * 2021-08-16 2024-01-02 苏州同元软控信息技术有限公司 乘用车二维空调管路流体动力学的仿真方法及装置
CN117195761A (zh) * 2023-08-15 2023-12-08 中国船舶集团有限公司第七一九研究所 一种基于流场离散度自适应的计算加速方法
CN117195761B (zh) * 2023-08-15 2024-02-13 中国船舶集团有限公司第七一九研究所 一种基于流场离散度自适应的计算加速方法

Similar Documents

Publication Publication Date Title
KR20190113597A (ko) 오픈소스 코드를 이용한 통합 전산유체역학 환경 구축 장치 및 그 방법
Tummescheit Design and implementation of object-oriented model libraries using modelica
US11373026B2 (en) Deep learning surrogate for turbulent flow
Daniels et al. A suite of computationally expensive shape optimisation problems using computational fluid dynamics
CN108573090A (zh) 用于将流体模型与计算机辅助设计(cad)图重叠和整合的系统和方法
Singh et al. Utilising building component data from BIM for formwork planning
De Donno et al. Shape optimization of the ERCOFTAC centrifugal pump impeller using open-source software
Marchenko et al. A new method of visualization and documentation of parametric information of 3D CAD models
Yan Parametric BIM SIM: integrating parametric modeling, BIM, and simulation for architectural design
Kulkarni et al. Virtual Gas Turbines part II: an automated whole-engine secondary air system model generation
Kelsick et al. Discrete event simulation implemented in a virtual environment
Agarwal et al. A comparative study of three-dimensional discrete velocity set in LBM for turbulent flow over bluff body
Pauwels et al. Linking a game engine environment to architectural information on the semantic web
Yan WP-BIM: Web-based parametric BIM towards online collaborative design and optimization
KR102440740B1 (ko) 오픈 폼 솔버의 전후처리 가시화 서비스 제공 시스템
Newberry et al. Software tools to enable immersive simulation
Du et al. Computer-aided optimal design for flexible cable in aerospace products based on dynamic analogy modeling
Osorio-Sandoval et al. Discrete-event simulation and building information modelling based animation of construction activities
Agarwal et al. Reveal: An extensible reduced-order model builder for simulation and modeling
WO2020056107A1 (en) Automated simulation pipeline for fast simulation driven computer aided design
Krappel et al. Scale resolving flow simulations of a Francis turbine using highly parallel CFD simulations
Wenisch et al. Interactive indoor air flow analysis using high performance computing and virtual reality techniques
Chabibi et al. Model integration approach from SysML to MATLAB/simulink
Paeres et al. Visualization of Turbulent Events via Virtual/Augmented Reality
Badkilaya et al. The need for a system to benefit the implementation of digital twin, by helping visualize the virtual dynamics remotely

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application