KR102436665B1 - Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation - Google Patents

Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation Download PDF

Info

Publication number
KR102436665B1
KR102436665B1 KR1020200090537A KR20200090537A KR102436665B1 KR 102436665 B1 KR102436665 B1 KR 102436665B1 KR 1020200090537 A KR1020200090537 A KR 1020200090537A KR 20200090537 A KR20200090537 A KR 20200090537A KR 102436665 B1 KR102436665 B1 KR 102436665B1
Authority
KR
South Korea
Prior art keywords
calculation
grid system
grid
flow data
simulation
Prior art date
Application number
KR1020200090537A
Other languages
Korean (ko)
Other versions
KR20220011513A (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 이에이트 주식회사
Priority to KR1020200090537A priority Critical patent/KR102436665B1/en
Publication of KR20220011513A publication Critical patent/KR20220011513A/en
Application granted granted Critical
Publication of KR102436665B1 publication Critical patent/KR102436665B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Abstract

LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션 장치에 있어서, 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받는 입력부, 상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계 및 해석 결과를 출력하기 위한 출력 격자계를 생성하는 격자 생성부, 상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하는 유동 데이터 계산부 및 상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하는 시뮬레이션 수행부를 포함하고, 상기 유동 데이터 계산부는 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용하여 상기 유동 데이터를 계산한다.In a fluid analysis simulation apparatus based on LBM (Lattice Boltzmann Method), an input unit for receiving data on an analysis target for fluid analysis simulation, a calculation grid system for calculating flow data based on the received data, and outputting an analysis result a lattice generating unit generating an output lattice system for , the flow data calculator calculates the flow data using a multi-relaxation time (MRT) model.

Description

고 레이놀즈 수의 유동 해석을 위한 다중 격자 LBM 및 LES 기반의 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER PROGRAM FOR MULTIGRID LATTICE BOLTZMANN METHOD AND LARGE EDDY SIMULATION BASED HIGH REYNOLDS NUMBER FLUID ANALYSIS SIMULATION}Apparatus, method and computer program for multi-lattice LBM and LES-based flow analysis of high Reynolds numbers

본 발명은 고 레이놀즈 수의 유동 해석을 위한 다중 격자 LBM(Lattice Boltzmann Method) 및 LES(Large Eddy Simulation) 기반의 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a multi-lattice LBM (Lattice Boltzmann Method) and LES (Large Eddy Simulation)-based analysis and simulation apparatus, method, and computer program for high Reynolds number flow analysis.

전산유체역학(Computational Fluid Dynamics, CFD)은 유체 역학의 한 분야로서, 컴퓨터를 이용하여 유체의 동적인 움직임을 수치해석적 방법으로 계산해 내는 것이다. 전산유체역학은 편미분방정식인 나비에-스토크스 방정식(Navier-Stokes Equations)을 FDM(Finite Difference Method), FEM(Finite Element Method), FVM(Finite Volume Method) 및 SPH(Smoothed Particle Hydrodynamics) 등의 방법을 통해 이산화함으로써 유체의 유동을 연산한다.Computational Fluid Dynamics (CFD) is a field of fluid mechanics that calculates the dynamic motion of a fluid using a computer in a numerical way. Computational fluid dynamics is a partial differential equation, Navier-Stokes Equations, FDM (Finite Difference Method), FEM (Finite Element Method), FVM (Finite Volume Method) and SPH (Smoothed Particle Hydrodynamics) methods such as Calculate the flow of the fluid by discretizing it through

나비에-스토크스 방정식을 계산하는 방법에는 공간 도메인을 작은 공간 격자(Mesh or Grid)로 이산화하여 연산하는 격자 기반 방법과 유체를 다수의 입자의 집합으로 표현하는 입자 기반 방법이 있다.There are two methods for calculating the Navier-Stokes equation: a grid-based method for discretizing a spatial domain into a small mesh or grid, and a particle-based method for expressing a fluid as a set of multiple particles.

입자 기반 방법은 해석 대상을 격자로 표현하는 대신 입자로 표현함으로써, 자연 현상이나 물리 현상에 대한 보다 자연스러운 시뮬레이션이 가능하다. 입자 기반 방법에는 SPH(Smoothed Particle Hydrodynamics), MPS(Moving Particle Semi-implicit), LBM(Lattice Boltzmann Method) 등이 있다.In the particle-based method, more natural simulations of natural or physical phenomena are possible by expressing the analysis target as particles instead of using a grid. Particle-based methods include Smoothed Particle Hydrodynamics (SPH), Moving Particle Semi-implicit (MPS), and Lattice Boltzmann Method (LBM).

입자 기반 방법 중 하나인 LBM(Lattice Boltzmann Method) 기반의 유체 해석은, 격자(lattice) 상에서 가상의 입자들의 확률분포함수를 이용하여 움직임을 예측한다. 2 차원 유동 해석은 9 개의 방향을 사용하고, 3 차원 유동 해석은 19 개의 방향을 사용하여 가상의 입자들의 움직임을 묘사한다. LBM 기반의 유체 해석은 시스템의 규모가 증가하여도 계산량을 줄이면서 정확한 결과를 도출할 수 있다.One of the particle-based methods, LBM (Lattice Boltzmann Method)-based fluid analysis predicts motion using probability distribution functions of virtual particles on a lattice. The 2D flow analysis uses 9 directions, and the 3D flow analysis uses 19 directions to describe the motion of virtual particles. LBM-based fluid analysis can produce accurate results while reducing the amount of computation even when the scale of the system is increased.

LBM 기반의 유체 해석은 물리량의 계산을 용이하게 수행할 수 있고, 복잡한 경계나 다상 유동의 해석을 비교적 용이하게 수행할 수 있다.LBM-based fluid analysis can easily perform the calculation of physical quantities and can relatively easily perform complex boundary or multiphase flow analysis.

이러한 장점들로 인해 유체의 유동을 시뮬레이션하는데 있어 최근 LBM이 많이 이용되고 있다.Due to these advantages, LBM has been widely used recently in simulating the flow of a fluid.

다만, 고 레이놀즈 수의 유동 해석에 있어서 솔버가 수치적으로 불안정성을 띠게 된다는 문제점이 있다. 완화 시간을 늘리기 위해 격자를 조밀하게 하는 경우에는 계산량과 해석 시간이 늘어난다는 문제점이 있다.However, there is a problem in that the solver becomes numerically unstable in the flow analysis of high Reynolds number. If the grid is made dense in order to increase the relaxation time, there is a problem in that the amount of calculation and the analysis time increase.

한편, 한국등록특허 제1489708호는 격자 볼츠만 기법 기반의 유체 수치 해석에서 이웃 노드로 정보를 확산시키는 구성을 개시하고 있다.Meanwhile, Korean Patent Registration No. 1489708 discloses a configuration for spreading information to neighboring nodes in fluid numerical analysis based on the lattice Boltzmann technique.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받고, 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계 및 해석 결과를 출력하기 위한 출력 격자계를 생성하고, 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용하여 계산 격자계에 기초하여 해석 대상에 관한 유동 데이터를 계산하고, 출력 격자계에 기초하여 유체 해석 시뮬레이션을 수행하고자 한다.The present invention is to solve the problems of the prior art described above, for receiving data on an analysis target for fluid analysis simulation, and outputting a calculation grid system for calculation of flow data and analysis results based on the received data It is intended to generate an output grid system, calculate flow data on an analysis target based on the computation grid system using a multi-relaxation time (MRT) model, and perform a fluid analysis simulation based on the output grid system.

또한, 고 레이놀즈 수의 유동 해석에 있어서 솔버의 수치적 안정성을 개선하고자 한다.In addition, we want to improve the numerical stability of the solver in high Reynolds number flow analysis.

또한, 난류 유동을 효율적으로 해석하는 방법을 제공하고자 한다.In addition, it is intended to provide a method for efficiently analyzing turbulent flow.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션 장치에 있어서, 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받는 입력부, 상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계 및 해석 결과를 출력하기 위한 출력 격자계를 생성하는 격자 생성부, 상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하는 유동 데이터 계산부 및 상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하는 시뮬레이션 수행부를 포함하고, 상기 유동 데이터 계산부는 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용하여 상기 유동 데이터를 계산할 수 있다.As a means for achieving the above-described technical problem, an embodiment of the present invention includes an input unit for receiving data on an analysis target for fluid analysis simulation in a fluid analysis simulation apparatus based on LBM (Lattice Boltzmann Method), the A grid generation unit for generating a calculation grid system for calculating flow data and an output grid system for outputting an analysis result based on the received data, a flow data calculation unit calculating flow data related to the analysis target based on the calculation grid system and a simulation performing unit configured to perform the fluid analysis simulation based on the output grid system, wherein the flow data calculation unit may calculate the flow data using a multi-relaxation time (MRT) model.

본 발명의 다른 실시예는, LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션 방법에 있어서, 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받는 단계, 상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계를 생성하는 단계, 해석 결과를 출력하기 위한 출력 격자계를 생성하는 단계, 상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하는 단계 및 상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하는 단계를 포함하고, 상기 유동 데이터를 계산하는 단계는 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용하여 상기 유동 데이터를 계산할 수 있다.In another embodiment of the present invention, in a fluid analysis simulation method based on LBM (Lattice Boltzmann Method), receiving data on an analysis target for fluid analysis simulation, calculating flow data based on the received data generating a calculation grid for outputting an analysis result, generating an output grid system for outputting analysis results, calculating flow data for the analysis target based on the calculation grid system, and performing the fluid analysis simulation based on the output grid system performing the step of calculating the flow data may include calculating the flow data using a multi-relaxation time (MRT) model.

본 발명의 또 다른 실시예는, LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션을 하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받고, 상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계를 생성하고, 해석 결과를 출력하기 위한 출력 격자계를 생성하고, 상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하고, 상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하도록 하는 명령어들의 시퀀스를 포함하고, 상기 유동 데이터의 계산은 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용할 수 있다. Another embodiment of the present invention is a computer program stored in a computer readable recording medium including a sequence of instructions for performing a fluid analysis simulation based on LBM (Lattice Boltzmann Method), wherein the computer program is executed by a computing device. , receives data on an analysis target for fluid analysis simulation, generates a calculation grid system for calculation of flow data based on the received data, generates an output grid system for outputting analysis results, and adds to the calculation grid system and a sequence of instructions for calculating the flow data for the analysis target based on the analysis target and performing the fluid analysis simulation based on the output grid system, wherein the calculation of the flow data is performed using a multi-relaxation time (MRT). ) model is available.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받고, 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계 및 해석 결과를 출력하기 위한 출력 격자계를 생성하고, 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용하여 계산 격자계에 기초하여 해석 대상에 관한 유동 데이터를 계산하고, 출력 격자계에 기초하여 유체 해석 시뮬레이션을 수행할 수 있다.According to any one of the above-described problem solving means of the present invention, data on an analysis target is input for fluid analysis simulation, and a calculation grid system for calculating flow data based on the received data and an output for outputting an analysis result A grid system may be generated, flow data about an analysis target may be calculated based on the calculation grid system using a multi-relaxation time (MRT) model, and fluid analysis simulation may be performed based on the output grid system.

또한, 고 레이놀즈 수의 유동 해석에 있어서 솔버의 수치적 안정성을 개선할 수 있다.In addition, the numerical stability of the solver can be improved in high Reynolds number flow analysis.

또한, 난류 유동의 해석에 소요되는 비용 및 시간을 절감할 수 있다.In addition, it is possible to reduce the cost and time required for the analysis of turbulent flow.

또한, 유체의 움직임을 효과적으로 예측함으로써, 다양한 기술분야에 응용할 수 있다.In addition, by effectively predicting the movement of a fluid, it can be applied to various technical fields.

도 1은 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 장치의 구성도이다.
도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 계산 격자계 및 출력 격자계를 예시적으로 나타낸다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따라 계산 격자계가 정보를 전달하는 방법을 설명하기 위한 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따라 계산 격자계가 정보를 전달하는 방법을 설명하기 위한 도면이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 3 차원의 계산 격자계 및 출력 격자계를 예시적으로 나타낸다.
도 6은 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 방법의 순서도이다.
1 is a block diagram of a fluid analysis simulation apparatus according to an embodiment of the present invention.
2A to 2C exemplarily show a calculation grid system and an output grid system according to an embodiment of the present invention.
3A and 3B are diagrams for explaining a method of transmitting information by a calculation grid system according to an embodiment of the present invention.
4A and 4B are diagrams for explaining a method of transmitting information by a calculation grid system according to an embodiment of the present invention.
5A to 5C exemplarily show a three-dimensional computational grid system and an output grid system according to an embodiment of the present invention.
6 is a flowchart of a fluid analysis simulation method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware. Meanwhile, '~ unit' is not limited to software or hardware, and '~ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, '~' denotes components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 장치의 구성도이다. 도 1을 참조하면, 유체 해석 시뮬레이션 장치(100)는 입력부(110), 격자 생성부(120), 유동 데이터 계산부(130) 및 시뮬레이션 수행부(140)를 포함할 수 있다.1 is a block diagram of a fluid analysis simulation apparatus according to an embodiment of the present invention. Referring to FIG. 1 , the fluid analysis and simulation apparatus 100 may include an input unit 110 , a grid generating unit 120 , a flow data calculation unit 130 , and a simulation performing unit 140 .

유체 해석 시뮬레이션 장치(100)는 서버, 데스크탑, 노트북, 키오스크(KIOSK) 및 스마트폰(smartphone), 태블릿 PC를 포함할 수 있다. 다만, 유체 해석 시뮬레이션 장치(100)는 앞서 예시된 것들로 한정 해석되는 것은 아니다. 즉, 유체 해석 시뮬레이션 장치(100)는 후술하는 LBM 기반의 유체 해석 시뮬레이션 방법을 수행하는 프로세서를 탑재한 모든 장치를 포함할 수 있다.The fluid analysis simulation apparatus 100 may include a server, a desktop, a notebook computer, a kiosk (KIOSK) and a smartphone, and a tablet PC. However, the fluid analysis simulation apparatus 100 is not limited to those exemplified above. That is, the fluid analysis simulation apparatus 100 may include all devices equipped with a processor for performing an LBM-based fluid analysis simulation method to be described later.

유체 해석 시뮬레이션 장치(100)는 유체의 2 차원 유동 해석 또는 3 차원 유동 해석을 수행할 수 있다. 예를 들어, 유체 해석 시뮬레이션 장치(100)는 2차원 또는 3차원 시뮬레이션 영역 및 시뮬레이션 영역에 위치하는 복수의 입자를 모델링하고, 복수의 입자의 시뮬레이션 영역 내에서의 유동을 해석한다. 다만, 이하에서는 설명의 편의를 위해 시뮬레이션 영역 및 입자를 2차원으로 표현하여 설명한다.The fluid analysis simulation apparatus 100 may perform a two-dimensional flow analysis or a three-dimensional flow analysis of a fluid. For example, the fluid analysis simulation apparatus 100 models a 2D or 3D simulation area and a plurality of particles located in the simulation area, and analyzes the flow of the plurality of particles in the simulation area. However, hereinafter, for convenience of explanation, the simulation region and particles are expressed in two dimensions.

유체 해석 시뮬레이션 장치(100)는 LBM(Lattice Boltzmann Method) 기반으로 유체를 해석하기 위한 시뮬레이션을 수행할 수 있다. LBM(Lattice Boltzmann Method)는 전산유체역학(Computational Fluid Dynamics, CFD)에서 사용될 수 있는 입자 방식의 유체 해석 기법의 하나이다. LBM은 유체의 움직임을 시뮬레이션하기 위하여, 해석 대상인 유체를 격자 상의 입자로 표현할 수 있다. 유체 해석 시뮬레이션 장치(100)는 LBM를 통해 각 입자를 추적하면서 입자가 가지는 물리량을 계산할 수 있고, 계산 결과에 기초하여 유체 해석 시뮬레이션을 수행할 수 있다.The fluid analysis simulation apparatus 100 may perform a simulation for analyzing a fluid based on the Lattice Boltzmann Method (LBM). The Lattice Boltzmann Method (LBM) is one of the particle-type fluid analysis techniques that can be used in computational fluid dynamics (CFD). In order to simulate the movement of a fluid, LBM can express the fluid to be analyzed as particles on a grid. The fluid analysis simulation apparatus 100 may calculate a physical quantity of the particles while tracking each particle through the LBM, and may perform a fluid analysis simulation based on the calculation result.

입력부(110)는 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받을 수 있다. 예를 들어, 입력부(110)는 사용자 단말과 같은 외부 장치로부터 해석 대상에 관한 데이터를 입력받을 수 있다.The input unit 110 may receive data on an analysis target for fluid analysis simulation. For example, the input unit 110 may receive data regarding an analysis target from an external device such as a user terminal.

입력부(110)는 외부 서버와의 통신을 통해 해석 대상에 관한 데이터를 입력받을 수도 있다. 해석 대상에 관한 데이터는, 해석 대상인 유체의 유동 정보 및 해석 조건에 대한 정보를 포함할 수 있으며, 예를 들어 해석 대상인 유체의 초기 밀도, 점성, 초기 속도 중 적어도 하나를 포함할 수 있다.The input unit 110 may receive data on an analysis target through communication with an external server. The data on the analysis target may include information on flow information and analysis conditions of the fluid to be analyzed, and may include, for example, at least one of an initial density, viscosity, and initial velocity of the fluid to be analyzed.

격자 생성부(120)는 입력받은 데이터에 기초하여 하나 이상의 격자계를 생성할 수 있다. 격자 생성부(120)는 계산 격자계 또는 출력 격자계를 생성할 수 있다. 격자 생성부(120)는 공간의 전부 또는 일부에 대하여 격자계를 생성할 수 있다. 격자 생성부(120)는 복수의 격자계가 서로 겹쳐지는 영역이 존재하도록 격자계를 생성할 수 있다.The grid generator 120 may generate one or more grid systems based on the received data. The grid generator 120 may generate a calculation grid system or an output grid system. The grid generator 120 may generate a grid system for all or part of the space. The grid generator 120 may generate a grid system such that a region where a plurality of grid systems overlap each other exists.

격자 생성부(120)는 해석 대상의 위치, 속도 등의 데이터에 기초하여 격자계의 격자 간격을 결정할 수 있다. 격자 생성부(120)는 영역에 따라 격자의 간격이 달라지는 격자계를 생성할 수 있다.The grid generator 120 may determine the grid spacing of the grid system based on data such as the position and speed of the analysis target. The grid generator 120 may generate a grid system in which the spacing of grids varies according to regions.

격자 생성부(120)는 유동 데이터의 계산을 위한 계산 격자계를 생성할 수 있다. 격자 생성부(120)는 해석 대상에 관한 데이터에 기초하여 제 1 계산 격자계를 생성할 수 있다. 격자 생성부(120)는 해석 대상에 관한 데이터에 기초하여 제 1 계산 격자계보다 조밀하게 형성된 제 2 계산 격자계를 생성할 수 있다. 이는 전체 영역에서 성긴 격자계를 이용하면 해석의 정확도가 저하되고, 반대로 전체 영역에서 조밀한 격자계를 이용하면 과도한 연산량이 필요하기 때문이다. 따라서, 본 발명에서는 관심있는 영역에만 비교적 작은 크기의 격자를 사용하고, 이외의 영역에는 비교적 큰 크기의 격자를 사용하는 멀티블럭(Multi-block) 방식을 사용한다.The grid generator 120 may generate a calculation grid system for calculating flow data. The grid generating unit 120 may generate a first calculation grid system based on data related to an analysis target. The grid generator 120 may generate a second computational grid that is denser than the first computational grid based on the data about the analysis target. This is because, if a coarse grid system is used in the entire area, the accuracy of the analysis is lowered, and on the contrary, if a dense grid system is used in the entire area, an excessive amount of computation is required. Therefore, in the present invention, a multi-block method is used in which a grid of a relatively small size is used only for an area of interest and a grid of a relatively large size is used for other areas.

제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에서 제 1 계산 격자계의 모든 격자점이 제 2 계산 격자계의 격자점과 중첩될 수 있다. 즉, 제 1 계산 격자계의 격자의 간격은 제 2 계산 격자계의 격자의 간격의 정수 배일 수 있다.In a region where the first calculation grid system and the second calculation grid system overlap, all grid points of the first calculation grid system may overlap with the grid points of the second calculation grid system. That is, the spacing of the lattices of the first calculation lattice system may be an integer multiple of the spacing of the lattices of the second calculation lattice system.

격자 생성부(120)는 제 1 계산 격자계 및 제 2 계산 격자계의 각 격자점에 번호를 부여할 수 있다. 격자 생성부(120)는 예를 들어, 제 1 계산 격자계의 각 격자점에 1번부터 번호를 순차적으로 부여하고, 제 2 계산 격자계의 각 격자점에 제 1 계산 격자계의 격자점에 부여된 마지막 번호의 다음 번호부터 순차적으로 부여할 수 있다.The grid generator 120 may assign a number to each grid point of the first computation grid system and the second computation grid system. For example, the grid generating unit 120 sequentially assigns a number to each grid point of the first calculation grid system from No. 1, and gives each grid point of the second calculation grid system the last number assigned to the grid point of the first calculation grid system. It can be assigned sequentially from the next number in the number.

도 2a 및 도 2b는 입력받은 데이터에 기초하여 생성된 2 차원의 제 1 계산 격자계 및 제 2 계산 격자계를 예시적으로 나타낸다. 도 2a는 제 1 계산 격자계를 도시하고, 도 2b는 제 2 계산 격자계를 도시하고 있다.2A and 2B exemplarily show a two-dimensional first computational grid system and a second computational grid system generated based on input data. Fig. 2a shows a first computational grid, and Fig. 2b shows a second computational grid.

제 2 계산 격자계는 제 1 계산 격자계보다 조밀하게 형성된 것이다. 제 2 계산 격자계는 제 1 계산 격자계의 격자점 1 내지 20이 존재하는 영역과 겹쳐지도록 형성된 것이다. 따라서, 제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에서 제 1 계산 격자계의 모든 격자점이 제 2 계산 격자계의 격자점과 중첩될 수 있다.The second calculation lattice system is formed more densely than the first calculation lattice system. The second calculation lattice system is formed so as to overlap the region where the lattice points 1 to 20 of the first calculation lattice system exist. Accordingly, in the region where the first calculation grid system and the second calculation grid system overlap, all grid points of the first calculation grid system may overlap with the grid points of the second calculation grid system.

도 2a를 참조하면, 제 1 계산 격자계의 각 격자점(201)에 1번부터 30번까지의 번호가 순차적으로 부여되었음을 확인할 수 있다. 도 2b를 참조하면, 제 2 계산 격자계의 각 격자점(203)에 31번부터 93번까지의 번호가 순차적으로 부여되었음을 확인할 수 있다.Referring to FIG. 2A , it can be seen that numbers 1 to 30 are sequentially assigned to each grid point 201 of the first calculation grid system. Referring to FIG. 2B , it can be seen that numbers 31 to 93 are sequentially assigned to each grid point 203 of the second calculation grid system.

격자 생성부(120)는 해석 결과를 출력하기 위한 출력 격자계를 생성할 수 있다. 출력 격자계의 격자점은 제 1 계산 격자계의 격자점 및 제 2 계산 격자계의 격자점과 모두 중첩될 수 있다.The grid generator 120 may generate an output grid system for outputting an analysis result. The grid points of the output grid system may overlap both the grid points of the first computation grid system and the grid points of the second computation grid system.

도 2c는 입력받은 데이터에 기초하여 생성된 출력 격자계를 예시적으로 나타낸다. 도 2c를 참조하면, 출력 격자계는 해석 대상에 관한 데이터에 기초하여 영역에 따라 격자의 간격이 달라지도록 생성될 수 있다. 예를 들어, 출력 격자계의 제 1 영역(210)에서는 격자의 간격이 비교적 넓고, 제 2 영역(220)에서는 격자의 간격이 비교적 좁은 것은 확인할 수 있다.2C exemplarily shows an output grid system generated based on received data. Referring to FIG. 2C , the output grid system may be generated so that the spacing of the grids varies according to regions based on data about the analysis target. For example, it can be seen that the grid spacing is relatively wide in the first region 210 of the output grid system, and the grid spacing is relatively narrow in the second region 220 .

도 2c를 참조하면, 출력 격자계의 각 격자점(205)에 1번부터 74번까지의 번호가 순차적으로 부여되었음을 확인할 수 있다. 즉, 출력 격자계의 격자점의 번호는 계산 격자계의 격자점의 번호와 무관하게 독립적으로 부여될 수 있다.Referring to FIG. 2C , it can be seen that numbers 1 to 74 are sequentially assigned to each grid point 205 of the output grid system. That is, the number of grid points of the output grid system may be independently assigned regardless of the number of grid points of the calculation grid system.

다시 도 1을 참조하면, 유동 데이터 계산부(130)는 계산 격자계에 기초하여 해석 대상에 관한 유동 데이터를 계산할 수 있다.Referring back to FIG. 1 , the flow data calculator 130 may calculate flow data related to an analysis target based on a calculation grid system.

유동 데이터 계산부(130)는 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용하여 유동 데이터를 계산할 수 있다. LBM 기반의 유동 해석에 있어서, 레이놀즈 수(Reynolds number)는 유체의 점성에 반비례하고, 레이놀즈 수가 높아질수록 완화 시간은 1/2에 가까워진다. The flow data calculator 130 may calculate the flow data using a multi-relaxation time (MRT) model. In the LBM-based flow analysis, the Reynolds number is inversely proportional to the viscosity of the fluid, and as the Reynolds number increases, the relaxation time approaches 1/2.

이때, 단일 완화 시간 모델(Single-relaxation time; SRT)을 이용하는 경우, 완화 시간이 1/2에 접근할수록 수치적 불안정성을 띠므로, 고 레이놀즈 수의 유동 해석에 어려움이 있다. In this case, when using a single-relaxation time (SRT) model, numerical instability occurs as the relaxation time approaches 1/2, so it is difficult to analyze the flow with a high Reynolds number.

이에 반해, 다중 완화 시간 모델을 이용한 해석의 경우에는, 단일 완화 시간 모델에 비해 솔버의 수치적 안정성을 증대할 수 있고, 프란틀 수(Prandtl number)를 1로 고정하지 않아도 되며, 동점도와 체적 점성 비율을 유연하게 적용할 수 있다는 이점이 있다.On the other hand, in the case of analysis using multiple relaxation time models, the numerical stability of the solver can be increased compared to a single relaxation time model, and it is not necessary to fix the Prandtl number to 1, and the kinematic viscosity and volume viscosity It has the advantage of being able to apply the ratio flexibly.

유동 데이터 계산부(130)는 하기의 수학식 1에 기초하여 제 1 계산 격자계 및 제 2 계산 격자계에 위치한 해석 대상의 충돌(collision) 및 이류(streaming)를 계산할 수 있다. 유동 데이터 계산부(130)는 제 1 계산 격자계 및 제 2 계산 격자계의 각 격자점에 대하여 충돌(collision) 및 이류(streaming)를 계산할 수 있다.The flow data calculation unit 130 may calculate collisions and streams of analysis objects located in the first calculation grid system and the second calculation grid system based on Equation 1 below. The flow data calculator 130 may calculate collision and streaming for each lattice point of the first calculation grid system and the second calculation grid system.

Figure 112020076146628-pat00001
Figure 112020076146628-pat00001

유동 데이터 계산부(130)는 제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에서 해석 대상의 충돌을 계산하지 않을 수 있다. 제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역의 격자점에서는 이류 이후에 분포 함수의 값이 없으므로, 충돌을 계산하지 않고 복수의 격자계 간에 정보를 전달받을 수 있다.The flow data calculation unit 130 may not calculate the collision of the analysis target in the area where the first calculation grid system and the second calculation grid system overlap. Since there is no value of the distribution function after advection at the lattice points in the region where the first computational grid system and the second computational grid overlap, information can be transmitted between the plurality of grids without calculating the collision.

유동 데이터 계산부(130)는 제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에서 해석 대상의 점성 및 응력이 연속적인 값을 갖도록 스케일링할 수 있다.The flow data calculator 130 may scale so that the viscosity and stress of the analysis target have continuous values in a region where the first calculation grid system and the second calculation grid system overlap.

유동 데이터 계산부(130)는 제 1 계산 격자계 및 제 2 계산 격자계 간에 해석 대상에 관한 정보를 교환할 수 있다. 유동 데이터 계산부(130)는 격자 간격이 다른 복수의 계산 격자계 간의 정보 전달을 위해서 계산 격자계 간의 분포 함수를 정의한다.The flow data calculation unit 130 may exchange information on an analysis target between the first calculation grid system and the second calculation grid system. The flow data calculation unit 130 defines a distribution function between the calculation grids in order to transfer information between a plurality of calculation grids having different grid intervals.

제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 유동 데이터 계산부(130)는 하기의 수학식 2에 기초하여 제 1 계산 격자계의 유동 데이터를 상기 제 2 계산 격자계로 전달할 수 있다.In a region where the first calculation grid system and the second calculation grid system overlap, the flow data calculation unit 130 may transmit the flow data of the first calculation grid system to the second calculation grid system based on Equation 2 below.

Figure 112020076146628-pat00002
Figure 112020076146628-pat00002

제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 유동 데이터 계산부(130)는 하기의 수학식 3에 기초하여 제 2 계산 격자계의 유동 데이터를 제 1 계산 격자계로 전달할 수 있다.In a region where the first calculation grid and the second calculation grid overlap, the flow data calculator 130 may transmit the flow data of the second calculation grid to the first calculation grid based on Equation 3 below.

Figure 112020076146628-pat00003
Figure 112020076146628-pat00003

유동 데이터 계산부(130)는 큰 에디 모사 시뮬레이션(large eddy simulation; LES) 모델을 더 이용할 수 있다. 이를 통하여, 유동 데이터 계산부(130)는 레이놀즈 수가 통상적으로 4000 이상이고, 수천만까지 이를 수 있는 난류 유동을 비교적 용이하게 해석할 수 있다. 특히, 직접수치모사식(Direct Numerical Simulations; DNS) 모델을 이용하는 경우에 비해 LES 모델은 계산량을 현저히 줄일 수 있다는 이점이 있다.The flow data calculator 130 may further use a large eddy simulation (LES) model. Through this, the flow data calculation unit 130 can relatively easily interpret a turbulent flow in which the Reynolds number is typically 4000 or more, and can reach tens of millions. In particular, the LES model has an advantage in that the amount of computation can be significantly reduced compared to the case of using the Direct Numerical Simulations (DNS) model.

유동 데이터 계산부(130)는 에디 점성(eddy viscosity)에 기초하여 계산 격자계의 각 격자점에서의 난류 완화 시간을 도출할 수 있다. 유동 데이터 계산부(130)는 난류 완화 시간을 포함하는 총 완화 시간을 도출할 수 있다. 총 완화 시간은 예를 들어, 난류를 고려하지 않는 기존 완화 시간 및 난류 완화 시간의 합으로 도출될 수 있다.The flow data calculator 130 may derive a turbulence relaxation time at each lattice point of the computation lattice system based on eddy viscosity. The flow data calculator 130 may derive the total relaxation time including the turbulence relaxation time. The total relaxation time can be derived, for example, as the sum of the existing relaxation time without taking turbulence into account and the turbulence relaxation time.

유동 데이터 계산부(130)는 하기의 수학식 4에 기초하여 제 1 계산 격자계의 난류 완화 시간을 계산할 수 있다. 유동 데이터 계산부(130)는 난류 완화 시간을 포함하는 제 1 계산 격자계의 총 완화 시간을 도출할 수 있다.The flow data calculator 130 may calculate the turbulence relaxation time of the first calculation grid system based on Equation 4 below. The flow data calculator 130 may derive the total relaxation time of the first calculation grid system including the turbulence relaxation time.

Figure 112020076146628-pat00004
Figure 112020076146628-pat00004

제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 유동 데이터 계산부(130)는 하기의 수학식 5에 기초하여 제 1 계산 격자계의 유동 데이터를 제 2 계산 격자계로 전달할 수 있다.In a region where the first calculation grid and the second calculation grid overlap, the flow data calculator 130 may transmit the flow data of the first calculation grid to the second calculation grid based on Equation 5 below.

Figure 112020076146628-pat00005
Figure 112020076146628-pat00005

유동 데이터 계산부(130)는 하기의 수학식 6에 기초하여 제 2 계산 격자계의 난류 완화 시간을 계산할 수 있다. 유동 데이터 계산부(130)는 난류 완화 시간을 포함하는 제 2 계산 격자계의 총 완화 시간을 도출할 수 있다.The flow data calculator 130 may calculate the turbulence relaxation time of the second calculation grid system based on Equation 6 below. The flow data calculator 130 may derive the total relaxation time of the second calculation grid system including the turbulence relaxation time.

Figure 112020076146628-pat00006
Figure 112020076146628-pat00006

제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 유동 데이터 계산부(130)는 하기의 수학식 7에 기초하여 제 2 계산 격자계의 유동 데이터를 제 1 계산 격자계로 전달할 수 있다.In a region where the first calculation grid system and the second calculation grid system overlap, the flow data calculator 130 may transmit the flow data of the second calculation grid system to the first calculation grid system based on Equation 7 below.

Figure 112020076146628-pat00007
Figure 112020076146628-pat00007

격자 생성부(120)는 제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에서 제 1 계산 격자계 및 제 2 계산 격자계가 중첩되는 중첩 격자점의 정보를 전달하기 위한 교환 정보를 생성할 수 있다.The grid generator 120 may generate exchange information for transmitting information on overlapping grid points where the first calculation grid system and the second calculation grid overlap each other in an area where the first calculation grid system and the second calculation grid system overlap.

격자 생성부(120)는 제 1 계산 격자계 및 제 2 계산 격자계의 격자점이 중첩되는지 여부 및 중첩 격자점의 번호에 기초하여 교환 정보를 생성할 수 있다. 격자 생성부(120)는 예를 들어, 제 2 계산 격자계의 경계면에서 제 1 계산 격자계와 정보를 교환하기 위하여, 또는 제 1 계산 격자계의 경계면에서 제 2 계산 격자계와 정보를 교환하기 위하여, 교환 정보를 생성할 수 있다.The grid generating unit 120 may generate exchange information based on whether or not the grid points of the first calculation grid system and the second calculation grid system overlap and the number of the overlapping grid points. The grid generating unit 120 is configured to exchange information with the first calculation grid at the boundary of the second calculation grid, or to exchange information with the second calculation grid at the boundary of the first calculation grid, for example, exchange information can create

도 3a 및 도 3b는, 도 2b에 도시한 제 2 계산 격자계의 경계면에서 제 1 계산 격자계와 정보를 교환하는 방법을 설명하기 위한 도면이다. 도 3a에 도시된 바와 같이, 제 2 계산 격자계의 경계면(301)은 제 1 계산 격자계와 정보를 교환하기 위한 영역으로, 제 2 계산 격자계의 경계면(301)은 제 2 계산 격자계의 외곽선을 따라 형성될 수 있다. 제 2 계산 격자계의 경계면(301)에서는 제 2 계산 격자계가 가지지 못한 정보를 제 1 계산 격자계로부터 전달받을 수 있다. 도 3a는 제 2 계산 격자계의 각 격자점의 번호 및 제 2 계산 격자계의 경계면(301)에서 제 2 계산 격자계의 격자점과 중첩되는 제 1 계산 격자계의 격자점의 번호를 예시적으로 도시한다.3A and 3B are diagrams for explaining a method of exchanging information with the first calculation lattice system at the interface of the second calculation lattice system shown in FIG. 2B. As shown in FIG. 3A , the boundary surface 301 of the second calculation grid is an area for exchanging information with the first calculation grid, and the boundary surface 301 of the second calculation grid is formed along the outline of the second calculation grid. can be At the boundary surface 301 of the second calculation grid, information that the second calculation grid does not have may be transmitted from the first calculation grid. 3A exemplarily shows the number of each lattice point of the second computational grid and the number of grid points of the first computational grid overlapping the grid points of the second computational grid on the boundary surface 301 of the second computational grid.

도 3b를 참조하면, 격자 생성부(120)는 격자점 정보(310), 중첩 정보(320), 제 1 교환 대상 격자점 정보(330) 및 제 2 교환 대상 격자점 정보(340)를 포함하는 제 1 교환 정보를 생성할 수 있다. 격자점 정보(310)는 제 1, 2 계산 격자계의 각 격자점의 번호를 포함할 수 있다.Referring to FIG. 3B , the grid generating unit 120 includes grid point information 310 , overlapping information 320 , first exchange object grid point information 330 , and second exchange object grid point information 340 . The first exchange information may be generated. The grid point information 310 may include the number of each grid point of the first and second calculation grid systems.

격자 생성부(120)는 제 2 계산 격자계의 각 격자점의 번호에 대응하여, 제 2 계산 격자계의 경계면(301)의 격자점이 제 1 계산 격자계의 격자점과 중첩되는지 여부에 기초하여 중첩 정보(320)를 생성할 수 있다. 예를 들어, 격자 생성부(120)는 제 2 계산 격자계의 경계면(301)의 격자점이 제 1 계산 격자계의 격자점과 중첩되는 경우에는 1, 중첩되지 않는 경우에는 2, 제 2 계산 격자계의 경계면(301)의 격자점이 아닌 경우에는 0을 기록한 중첩 정보(320)를 생성할 수 있다.The grid generating unit 120 corresponds to the number of each grid point of the second calculation grid system, and based on whether the grid point of the boundary surface 301 of the second calculation grid system overlaps the grid point of the first calculation grid system, overlapping information ( 320) can be created. For example, if the grid point of the boundary surface 301 of the second calculation grid system overlaps with the grid point of the first calculation grid system, the grid generating unit 120 generates 1, if it does not overlap, 2, the boundary surface of the second calculation grid system. When it is not the lattice point of 301 , the overlapping information 320 in which 0 is recorded may be generated.

격자 생성부(120)는 중첩 정보(320)가 0인 제 2 계산 격자계의 격자점에 대응하는 제 1 교환 대상 격자점 정보(330) 및 제 2 교환 대상 격자점 정보(340)를 0으로 기록할 수 있다.The grid generating unit 120 records the first exchange object grid point information 330 and the second exchange object grid point information 340 corresponding to the grid points of the second calculated grid system in which the overlap information 320 is 0, as 0. can do.

격자 생성부(120)는 중첩 정보(320)가 1인 제 2 계산 격자계의 격자점에 대응하는 제 1 교환 대상 격자점 정보(330)를 해당 제 2 계산 격자계의 격자점과 중첩되는 제 1 계산 격자계의 격자점의 번호로 기록하고, 제 2 교환 대상 격자점 정보(340)를 0으로 기록할 수 있다.The grid generating unit 120 calculates the first exchange target grid point information 330 corresponding to the grid point of the second calculated grid system in which the overlapping information 320 is 1, overlapping the grid point of the second calculated grid system. The number of grid points of the grid system may be recorded, and the second exchange target grid point information 340 may be recorded as 0.

격자 생성부(120)는 중첩 정보(320)가 2인 제 2 계산 격자계의 격자점에 대응하는 제 1 교환 대상 격자점 정보(330) 및 제 2 교환 대상 격자점 정보(340)를 제 1 계산 격자계의 격자점과 중첩되는 제 2 계산 격자계의 격자점 중, 해당 제 2 계산 격자계의 격자점과 인접한 격자점의 번호 중 하나로 기록할 수 있다.The grid generating unit 120 first calculates the first exchange object grid point information 330 and the second exchange object grid point information 340 corresponding to the grid points of the second calculated grid system in which the overlapping information 320 is 2 Among the grid points of the second calculation grid overlapping the grid points of the grid system, the number may be recorded as one of the number of grid points adjacent to the grid points of the second calculated grid system.

도 4a 및 도 4b는, 도 2a에 도시한 제 1 계산 격자계의 경계면에서 제 2 계산 격자계와 정보를 교환하기 위하여 교환 정보를 생성하는 방법을 설명하기 위한 도면이다. 도 4a에 도시된 바와 같이, 제 1 계산 격자계의 경계면(401)은 제 2 계산 격자계와 정보를 교환하기 위한 영역으로, 제 1 계산 격자계의 경계면(401)은 제 2 계산 격자계의 경계면으로부터 내부를 향해 제 1 계산 격자계의 격자 하나의 크기만큼 이동한 격자점들을 따라 형성될 수 있다. 제 1 계산 격자계의 경계면(401)에서는 제 1 계산 격자계가 가지지 못한 정보를 제 2 계산 격자계로부터 전달받을 수 있다. 도 4a는 제 1 계산 격자계의 각 격자점의 번호 및 제 1 계산 격자계의 경계면(401)에서 제 1 계산 격자계의 격자점과 중첩되는 제 2 계산 격자계의 격자점의 번호를 예시적으로 도시한다.4A and 4B are diagrams for explaining a method of generating exchange information in order to exchange information with a second computational grid at the interface of the first computational grid shown in FIG. 2A. As shown in Fig. 4A, the boundary surface 401 of the first calculation grid is an area for exchanging information with the second calculation grid, and the boundary surface 401 of the first calculation grid is inside from the boundary of the second calculation grid. It may be formed along the grid points moved by the size of one grid of the first calculation grid toward the grid. At the boundary surface 401 of the first calculation grid, information that the first calculation grid does not have may be transmitted from the second calculation grid. 4A exemplarily shows the number of each grid point of the first computational grid system and the number of grid points of the second computational grid overlapping the grid points of the first computational grid on the boundary surface 401 of the first computational grid.

도 4b를 참조하면, 격자 생성부(120)는 격자점 정보(410), 중첩 정보(420) 및 교환 대상 격자점 정보(430)를 포함하는 제 2 교환 정보를 생성할 수 있다. 격자점 정보(410)는 제 1, 2 계산 격자계의 각 격자점의 번호를 포함할 수 있다.Referring to FIG. 4B , the grid generating unit 120 may generate second exchange information including grid point information 410 , overlapping information 420 , and exchange target grid point information 430 . The grid point information 410 may include the number of each grid point of the first and second calculation grid systems.

격자 생성부(120)는 제 2 계산 격자계의 각 격자점의 번호에 대응하여, 제 1 계산 격자계의 경계면(401)의 격자점이 제 2 계산 격자계의 격자점과 중첩되는지 여부에 기초하여 중첩 정보(420)를 생성할 수 있다. 예를 들어, 유동 격자 생성부(120)는 제 1 계산 격자계의 경계면(401)의 격자점이 제 2 계산 격자계의 격자점과 중첩되는 경우에는 1, 중첩되지 않는 경우에는 0을 기록한 중첩 정보(420)를 생성할 수 있다.The grid generating unit 120 corresponds to the number of each grid point of the second calculation grid system, and based on whether the grid point of the boundary surface 401 of the first calculation grid system overlaps with the grid point of the second calculation grid system, overlapping information ( 420) can be created. For example, the fluid grid generating unit 120 writes 1 when the grid points of the boundary surface 401 of the first calculation grid overlap with the grid points of the second calculation grid system, and 0 when they do not overlap. ) can be created.

격자 생성부(120)는 중첩 정보(420)가 0인 제 2 계산 격자계의 격자점에 대응하는 교환 대상 격자점 정보(430)를 0으로 기록할 수 있다.The grid generating unit 120 may record the exchange target grid point information 430 corresponding to the grid point of the second calculated grid system in which the overlap information 420 is zero, as 0.

격자 생성부(120)는 중첩 정보(420)가 1인 제 2 계산 격자계의 격자점에 대응하는 교환 대상 격자점 정보(430)를 해당 제 2 계산 격자계의 격자점과 중첩되는 제 1 계산 격자계의 격자점의 번호로 기록할 수 있다.The grid generating unit 120 generates the exchange target grid point information 430 corresponding to the grid point of the second calculated grid in which the overlapping information 420 is 1 of the first calculated grid overlapping the grid point of the second calculated grid. It can be recorded by the number of grid points.

제 1 계산 격자계의 경계면에서 정보를 교환하기 위한 제 2 교환 정보를 생성하는 경우에도, 제 2 계산 격자계의 격자점의 번호를 기준으로 하는 이유는, 제 2 계산 격자계가 더 조밀하게 생성되었기 때문이다. 바꿔 말하면, 제 1 계산 격자계 및 제 2 계산 격자계가 겹쳐지는 영역에서 제 1 계산 격자계의 모든 격자점이 제 2 계산 격자계의 격자점과 중첩되도록 생성되었기 때문이다.Even in the case of generating the second exchange information for exchanging information at the boundary of the first computational grid, the reason for using the number of grid points of the second computational grid as a reference is that the second computational grid is more densely generated. . In other words, this is because, in the region where the first calculation lattice system and the second calculation lattice system overlap, all lattice points of the first calculation lattice system are generated so as to overlap with the lattice points of the second calculation lattice system.

유동 데이터 계산부(130)는 제 1 교환 정보 및 제 2 교환 정보에 기초하여 제 1 계산 격자계 및 제 2 계산 격자계의 어느 일방으로부터 다른 일방으로 정보를 전달할 수 있다. 이에 의하여, 복수의 계산 격자계 간에 유체의 밀도, 속도, 전단응력 등의 각 유동 데이터의 값이 연속적인 분포를 가질 수 있다.The flow data calculation unit 130 may transmit information from either one of the first calculation grid system and the second calculation grid system to the other one based on the first exchange information and the second exchange information. Accordingly, values of each flow data, such as density, velocity, shear stress, etc. of the fluid, may have a continuous distribution among the plurality of computational grid systems.

유동 데이터 계산부(130)는 계산 격자계에 기초하여 복수의 입자에 관한 유동 데이터를 계산할 수 있다. 유동 데이터 계산부(130)는 제 1 계산 격자계 및 제 2 계산 격자계 각각에 대하여 복수의 입자에 관한 유동 데이터를 계산할 수 있다.The flow data calculator 130 may calculate flow data regarding the plurality of particles based on the calculation grid system. The flow data calculation unit 130 may calculate flow data regarding a plurality of particles for each of the first calculation grid system and the second calculation grid system.

유동 데이터 계산부(130)는 LBM 알고리즘을 이용하여 격자계 상에서 각 입자의 이동 또는 각 입자와 이웃 입자 간의 충돌로 인해 발생하는 유동 데이터를 계산할 수 있다.The flow data calculator 130 may calculate flow data generated due to movement of each particle on the grid system or collision between each particle and neighboring particles by using the LBM algorithm.

유동 데이터 계산부(130)는 LBM 알고리즘을 이용하여 각 격자점에서 입자의 분포 함수(distribution function) 값을 계산함으로써, 각 격자점에서의 물성 정보를 얻을 수 있다. 각 격자점에서의 물성 정보는 예를 들어, 입자의 질량, 속도, 점성 및 가속도 중 적어도 하나 이상을 포함할 수 있다.The flow data calculation unit 130 may obtain information on physical properties at each lattice point by calculating a distribution function value of the particle at each lattice point using the LBM algorithm. The physical property information at each lattice point may include, for example, at least one of mass, velocity, viscosity, and acceleration of the particle.

예를 들어, 격자 볼츠만 방정식은 유체를 다음과 같이 모델링한다.For example, the lattice Boltzmann equation models a fluid as

Figure 112020076146628-pat00008
Figure 112020076146628-pat00008

수학식 8에서 "

Figure 112020076146628-pat00009
"는 분포 함수(distribution function), "
Figure 112020076146628-pat00010
"는 불연속 속도(discrete velocity), "Ωα"는 충돌 오퍼레이터(collision operator), "α"는 격자계에서의 각 방향을 나타낸다.In Equation 8, "
Figure 112020076146628-pat00009
" is the distribution function, "
Figure 112020076146628-pat00010
" is the discrete velocity, "Ω α " is the collision operator, and "α" is the angular direction in the grid system.

한편, LBM은 특성 곡선법(method of characteristics)을 이용하여 수학식 8을 풀이하고, 이 과정은 충돌(collision) 단계와 이류(streaming) 단계로 구분된다.Meanwhile, the LBM solves Equation 8 using the method of characteristics, and this process is divided into a collision step and a streaming step.

충돌(collision) 단계의 해석은 수학식 9와 같이 나타낼 수 있다. 이 과정에서 충돌 오퍼레이터(collision operator)인 Ωα를 이용하여 가상의 입자 간의 충돌을 모사할 수 있다.The analysis of the collision step can be expressed as Equation (9). In this process, a collision between virtual particles can be simulated using Ω α , a collision operator.

Figure 112020076146628-pat00011
Figure 112020076146628-pat00011

수학식 9에서

Figure 112020076146628-pat00012
는 후충돌항(post collision term)이고,
Figure 112020076146628-pat00013
는 분포 함수(distribution function)이고, Ωα는 충돌 오퍼레이터(collision operator)이고,
Figure 112020076146628-pat00014
는 격자점의 위치이고, t는 현재 시간이고, δt는 시간의 변화량일 수 있다.in Equation 9
Figure 112020076146628-pat00012
is the post collision term,
Figure 112020076146628-pat00013
is the distribution function, Ω α is the collision operator,
Figure 112020076146628-pat00014
may be a position of a grid point, t may be the current time, and δ t may be a change in time.

충돌(collision) 단계 후의 이류(streaming) 단계는 수학식 10을 이용하여 해석하고, 이를 통해 새로운 분포 함수(distribution function)가 도출된다.The streaming step after the collision step is analyzed using Equation 10, and a new distribution function is derived through this.

Figure 112020076146628-pat00015
Figure 112020076146628-pat00015

수학식 10에서

Figure 112020076146628-pat00016
는 후충돌항(post collision term)이고,
Figure 112020076146628-pat00017
는 분포 함수(distribution function)이고,
Figure 112020076146628-pat00018
는 격자점의 위치이고,
Figure 112020076146628-pat00019
는 불연속 속도(discrete velocity)이고, t는 현재 시간이고, δt는 시간의 변화량일 수 있다.in Equation 10
Figure 112020076146628-pat00016
is the post collision term,
Figure 112020076146628-pat00017
is the distribution function,
Figure 112020076146628-pat00018
is the position of the grid point,
Figure 112020076146628-pat00019
may be a discrete velocity, t may be the current time, and δ t may be a change in time.

새롭게 도출된 분포 함수(distribution function)를 이용하여 각 격자점에서 유체의 밀도는 수학식 11에 의해 도출된다.The density of the fluid at each lattice point is derived by Equation 11 using the newly derived distribution function.

Figure 112020076146628-pat00020
Figure 112020076146628-pat00020

수학식 11에서

Figure 112020076146628-pat00021
는 유체의 밀도이고,
Figure 112020076146628-pat00022
는 분포 함수(distribution function)를 나타낸다.in Equation 11
Figure 112020076146628-pat00021
is the density of the fluid,
Figure 112020076146628-pat00022
denotes a distribution function.

새롭게 도출된 분포 함수(distribution function)를 이용하여 각 격자점에서 유체의 속도는 수학식 12에 의해 도출된다.Using the newly derived distribution function, the velocity of the fluid at each lattice point is derived by Equation (12).

Figure 112020076146628-pat00023
Figure 112020076146628-pat00023

수학식 12에서

Figure 112020076146628-pat00024
는 유체의 밀도이고,
Figure 112020076146628-pat00025
는 분포 함수(distribution function)이고,
Figure 112020076146628-pat00026
는 불연속 속도(discrete velocity)이고,
Figure 112020076146628-pat00027
는 유체의 속도를 나타낸다.in Equation 12
Figure 112020076146628-pat00024
is the density of the fluid,
Figure 112020076146628-pat00025
is the distribution function,
Figure 112020076146628-pat00026
is the discrete velocity,
Figure 112020076146628-pat00027
is the velocity of the fluid.

유동 데이터 계산부(130)는 LBM 알고리즘을 이용하여 각 입자의 밀도, 압력 및 점성 등의 유동 데이터를 연산한다. 예를 들어, 유동 데이터 계산부는 각 입자의 분포 함수(distribution function) 값에 기초하여 다음 시간 스텝(제 1 시간 스텝)에서의 각 입자의 유동 데이터를 연산한다.The flow data calculation unit 130 calculates flow data such as density, pressure, and viscosity of each particle by using the LBM algorithm. For example, the flow data calculator calculates the flow data of each particle in the next time step (first time step) based on the distribution function value of each particle.

유동 데이터 계산부(130)는 각 시간 스텝에서의 각 입자의 유동 데이터를 연산하여 각 입자의 유동을 연산함으로써, 유체 해석 시뮬레이션을 수행할 수 있다.The flow data calculator 130 calculates the flow data of each particle at each time step to calculate the flow of each particle, thereby performing a fluid analysis simulation.

유동 데이터 계산부(130)는 제 1 계산 격자계 및 제 2 계산 격자계 중 어느 일방으로부터 출력 격자계의 격자점으로 계산된 유동 데이터를 전달할 수 있다.The flow data calculation unit 130 may transmit the calculated flow data from any one of the first calculation grid system and the second calculation grid system to the grid points of the output grid system.

시뮬레이션 수행부(140)는 출력 격자계에 기초하여 유체 해석 시뮬레이션을 수행할 수 있다. 시뮬레이션 수행부(140)는 출력 격자계에 계산된 유동 데이터를 출력하여 복수의 입자에 관한 시뮬레이션을 수행할 수 있다.The simulation performing unit 140 may perform a fluid analysis simulation based on the output grid system. The simulation performing unit 140 may output the calculated flow data to the output grid system to perform a simulation on a plurality of particles.

도 5a 및 도 5b는 입력받은 데이터에 기초하여 생성된 3 차원의 제 1 계산 격자계 및 제 2 계산 격자계를 예시적으로 나타낸다. 도 5a는 제 1 계산 격자계를 도시하고, 도 5b는 제 1 계산 격자계보다 조밀하게 형성된 제 2 계산 격자계를 도시하고 있다.5A and 5B exemplarily show a three-dimensional first computational grid system and a second computational grid system generated based on input data. FIG. 5A shows a first computational grid, and FIG. 5B shows a second computational grid that is denser than the first computational grid.

도 5a를 참조하면, 제 1 계산 격자계의 각 격자점(501)에 1번부터 18번까지의 번호가 순차적으로 부여되었음을 확인할 수 있다. 도 5b를 참조하면, 제 2 계산 격자계의 각 격자점(503)에 19번부터 45번까지의 번호가 순차적으로 부여되었음을 확인할 수 있다.Referring to FIG. 5A , it can be seen that numbers 1 to 18 are sequentially assigned to each grid point 501 of the first calculation grid system. Referring to FIG. 5B , it can be seen that numbers 19 to 45 are sequentially assigned to each grid point 503 of the second calculation grid system.

도 5c는 입력받은 데이터에 기초하여 생성된 출력 격자계를 예시적으로 나타낸다. 도 5c를 참조하면, 출력 격자계는 해석 대상에 관한 데이터에 기초하여 영역에 따라 격자의 간격이 달라지도록 생성될 수 있다. 3 차원의 유동 해석에 있어서도, 예시로써 상술한 내용이 적용될 수 있다.5C exemplarily illustrates an output grid system generated based on received data. Referring to FIG. 5C , the output grid system may be generated such that the spacing of the grids varies according to regions based on data about the analysis target. Even in the three-dimensional flow analysis, the above-described content can be applied as an example.

도 6은 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 방법의 순서도이다. 도 6에 도시된 장치(100)에서 수행되는 유체 해석 시뮬레이션 방법(600)은 도 1에 도시된 실시예에 따라 장치(100)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1에 도시된 실시예에 따른 장치(100)에서 수행되는 유체 해석 시뮬레이션을 하는 방법에도 적용된다.6 is a flowchart of a fluid analysis simulation method according to an embodiment of the present invention. The fluid analysis simulation method 600 performed by the apparatus 100 illustrated in FIG. 6 includes steps processed in time series by the apparatus 100 according to the embodiment illustrated in FIG. 1 . Therefore, even if omitted below, it is also applied to the method of performing the fluid analysis simulation performed in the apparatus 100 according to the embodiment shown in FIG. 1 .

단계 S610에서 장치(100)는 유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받을 수 있다.In step S610 , the device 100 may receive data on an analysis target for fluid analysis simulation.

단계 S620에서 장치(100)는 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계를 생성할 수 있다.In step S620 , the device 100 may generate a calculation grid system for calculating flow data based on the received data.

단계 S630에서 장치(100)는 해석 결과를 출력하기 위한 출력 격자계를 생성할 수 있다.In step S630 , the device 100 may generate an output grid system for outputting the analysis result.

단계 S640에서 장치(100)는 계산 격자계에 기초하여 해석 대상에 관한 유동 데이터를 계산할 수 있다. 여기서, 장치(100)는 다중 완화 시간 (Multi-relaxation time; MRT) 모델을 이용할 수 있다.In operation S640 , the device 100 may calculate flow data regarding the analysis target based on the calculation grid system. Here, the apparatus 100 may use a multi-relaxation time (MRT) model.

단계 S650에서 장치(100)는 출력 격자계에 기초하여 유체 해석 시뮬레이션을 수행할 수 있다.In operation S650 , the device 100 may perform a fluid analysis simulation based on the output grid system.

상술한 설명에서, 단계 S610 내지 S650은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S610 to S650 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.

도 1 내지 도 6을 통해 설명된 유체 해석 시뮬레이션 장치에서 유체 해석 시뮬레이션을 하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 6을 통해 설명된 유체 해석 시뮬레이션 장치에서 유체 해석 시뮬레이션을 하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.The method for performing fluid analysis simulation in the fluid analysis simulation apparatus described through FIGS. 1 to 6 may be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by the computer. have. In addition, the method for performing fluid analysis simulation in the fluid analysis simulation apparatus described with reference to FIGS. 1 to 6 may be implemented in the form of a computer program stored in a medium executed by a computer.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 유체 해석 시뮬레이션 장치
110: 입력부
120: 격자 생성부
130: 유동 데이터 계산부
140: 시뮬레이션 수행부
100: fluid analysis simulation device
110: input unit
120: grid generating unit
130: flow data calculation unit
140: simulation execution unit

Claims (17)

LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션 장치에 있어서,
유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받는 입력부;
상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계 및 해석 결과를 출력하기 위한 출력 격자계를 생성하는 격자 생성부;
상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하는 유동 데이터 계산부; 및
상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하는 시뮬레이션 수행부;
를 포함하고,
상기 유동 데이터 계산부는 다중 완화 시간 (Multi-relaxation time; MRT) 모델 및 큰 에디 모사 시뮬레이션(large eddy simulation; LES) 모델을 이용하여 상기 유동 데이터를 계산하고,
상기 유동 데이터 계산부는
에디 점성(eddy viscosity)에 기초하여 상기 계산 격자계의 각 격자점에서의 난류 완화 시간을 도출하고,
상기 난류 완화 시간을 포함하는 총 완화 시간을 도출하는 것인, 유체 해석 시뮬레이션 장치.
In a fluid analysis simulation device based on LBM (Lattice Boltzmann Method),
an input unit for receiving data on an analysis target for fluid analysis simulation;
a grid generator for generating a calculation grid system for calculating flow data and an output grid system for outputting analysis results based on the received data;
a flow data calculation unit for calculating flow data on the analysis target based on the calculation grid system; and
a simulation performing unit configured to perform the fluid analysis simulation based on the output grid system;
including,
The flow data calculation unit calculates the flow data using a multi-relaxation time (MRT) model and a large eddy simulation (LES) model,
The flow data calculation unit
deriving a turbulence relaxation time at each grid point of the calculated grid system based on the eddy viscosity;
and deriving a total relaxation time including the turbulence relaxation time.
제 1 항에 있어서,
상기 계산 격자계는 제 1 계산 격자계 및 상기 제 1 계산 격자계보다 조밀하게 형성된 제 2 계산 격자계를 포함하고,
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에서 상기 제 1 계산 격자계의 모든 격자점이 상기 제 2 계산 격자계의 격자점과 중첩되는 것인, 유체 해석 시뮬레이션 장치.
The method of claim 1,
The computational grid system includes a first computational grid and a second computational grid formed denser than the first computational grid,
In a region where the first computational grid system and the second computational grid overlap, all grid points of the first computational grid overlap with the grid points of the second computational grid.
제 2 항에 있어서,
상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 1 계산 격자계 및 상기 제 2 계산 격자계에 위치한 상기 해석 대상의 충돌 및 이류를 계산하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112020076146628-pat00028

3. The method of claim 2,
Wherein the flow data calculation unit calculates the collision and advection of the analysis target located in the first calculation lattice system and the second calculation lattice system based on the following equation.
Figure 112020076146628-pat00028

제 2 항에 있어서,
상기 유동 데이터 계산부는 상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에서 상기 해석 대상의 충돌을 계산하지 않는 것인, 유체 해석 시뮬레이션 장치.
3. The method of claim 2,
The fluid analysis simulation apparatus, wherein the flow data calculation unit does not calculate the collision of the analysis target in a region where the first calculation grid system and the second calculation grid system overlap.
제 3 항에 있어서,
상기 유동 데이터 계산부는
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에서 상기 해석 대상의 점성 및 응력이 연속적인 값을 갖도록 스케일링하고,
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계 간에 상기 해석 대상에 관한 정보를 교환하는 것인, 유체 해석 시뮬레이션 장치.
4. The method of claim 3,
The flow data calculation unit
Scaling so that the viscosity and stress of the analysis target have continuous values in a region where the first calculation grid system and the second calculation grid system overlap;
and exchanging information on the analysis target between the first computational grid system and the second computational grid system.
제 3 항에 있어서,
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 1 계산 격자계의 유동 데이터를 상기 제 2 계산 격자계로 전달하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112020076146628-pat00029

4. The method of claim 3,
In an area where the first calculation grid system and the second calculation grid system overlap, the flow data calculation unit transmits the flow data of the first calculation grid system to the second calculation grid system based on the following equation, Fluid analysis simulation device.
Figure 112020076146628-pat00029

제 3 항에 있어서,
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 2 계산 격자계의 유동 데이터를 상기 제 1 계산 격자계로 전달하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112020076146628-pat00030

4. The method of claim 3,
In an area where the first calculation grid system and the second calculation grid system overlap, the flow data calculation unit transmits the flow data of the second calculation grid system to the first calculation grid system based on the following equation, Fluid analysis simulation device.
Figure 112020076146628-pat00030

삭제delete 삭제delete 제 2 항에 있어서,
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 2 계산 격자계의 유동 데이터를 상기 제 1 계산 격자계로 전달하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112021132857957-pat00031

3. The method of claim 2,
In an area where the first calculation grid system and the second calculation grid system overlap, the flow data calculation unit transmits the flow data of the second calculation grid system to the first calculation grid system based on the following equation, Fluid analysis simulation device.
Figure 112021132857957-pat00031

제 10 항에 있어서,
상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 1 계산 격자계의 난류 완화 시간을 계산하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112020076146628-pat00032

11. The method of claim 10,
The flow data calculation unit is to calculate the turbulence relaxation time of the first calculation grid system based on the following equation, the fluid analysis simulation apparatus.
Figure 112020076146628-pat00032

제 2 항에 있어서,
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계가 겹쳐지는 영역에 있어서, 상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 1 계산 격자계의 유동 데이터를 상기 제 2 계산 격자계로 전달하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112021132857957-pat00033

3. The method of claim 2,
In an area where the first calculation grid system and the second calculation grid system overlap, the flow data calculation unit transmits the flow data of the first calculation grid system to the second calculation grid system based on the following equation, Fluid analysis simulation device.
Figure 112021132857957-pat00033

제 12 항에 있어서,
상기 유동 데이터 계산부는 하기의 수학식에 기초하여 상기 제 2 계산 격자계의 난류 완화 시간을 계산하는 것인, 유체 해석 시뮬레이션 장치.
Figure 112020076146628-pat00034

13. The method of claim 12,
Wherein the flow data calculation unit calculates the turbulence relaxation time of the second calculation grid system based on the following equation.
Figure 112020076146628-pat00034

삭제delete 제 2 항에 있어서,
상기 시뮬레이션 수행부는
상기 제 1 계산 격자계 및 상기 제 2 계산 격자계 중 어느 일방으로부터 상기 출력 격자계의 격자점으로 상기 계산된 유동 데이터를 전달받고,
상기 출력 격자계에 상기 계산된 유동 데이터를 출력하여 상기 해석 대상에 관한 시뮬레이션을 수행하는 것인, 유체 해석 시뮬레이션 장치.
3. The method of claim 2,
The simulation performing unit
receiving the calculated flow data from any one of the first calculation grid system and the second calculation grid system to the grid points of the output grid system;
The fluid analysis simulation apparatus that outputs the calculated flow data to the output grid system to perform a simulation on the analysis target.
유체 해석 시뮬레이션 장치에서 수행되는 LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션 방법에 있어서,
유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받는 단계;
상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계를 생성하는 단계;
해석 결과를 출력하기 위한 출력 격자계를 생성하는 단계;
상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하는 단계; 및
상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하는 단계
를 포함하고,
상기 유동 데이터를 계산하는 단계는 다중 완화 시간 (Multi-relaxation time; MRT) 모델 및 큰 에디 모사 시뮬레이션(large eddy simulation; LES) 모델을 이용하여 상기 유동 데이터를 계산하고,
상기 유동 데이터를 계산하는 단계는
에디 점성(eddy viscosity)에 기초하여 상기 계산 격자계의 각 격자점에서의 난류 완화 시간을 도출하는 단계; 및
상기 난류 완화 시간을 포함하는 총 완화 시간을 도출하는 단계
를 포함하는 것인, 유체 해석 시뮬레이션 방법.
In a fluid analysis simulation method based on LBM (Lattice Boltzmann Method) performed in a fluid analysis simulation device,
receiving data on an analysis target for fluid analysis simulation;
generating a calculation grid system for calculating flow data based on the received data;
generating an output grid system for outputting analysis results;
calculating flow data regarding the analysis target based on the calculation grid system; and
performing the fluid analysis simulation based on the output grid system
including,
The calculating of the flow data includes calculating the flow data using a multi-relaxation time (MRT) model and a large eddy simulation (LES) model,
The step of calculating the flow data is
deriving a turbulence relaxation time at each grid point of the computational grid based on eddy viscosity; and
deriving a total relaxation time including the turbulence relaxation time;
A fluid analysis simulation method comprising a.
LBM(Lattice Boltzmann Method) 기반의 유체 해석 시뮬레이션을 하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
유체 해석 시뮬레이션을 위하여 해석 대상에 관한 데이터를 입력받고,
상기 입력받은 데이터에 기초하여 유동 데이터의 계산을 위한 계산 격자계를 생성하고,
해석 결과를 출력하기 위한 출력 격자계를 생성하고,
상기 계산 격자계에 기초하여 상기 해석 대상에 관한 유동 데이터를 계산하고,
상기 출력 격자계에 기초하여 상기 유체 해석 시뮬레이션을 수행하도록 하는 명령어들의 시퀀스를 포함하고,
상기 유동 데이터의 계산은 다중 완화 시간 (Multi-relaxation time; MRT) 모델 및 큰 에디 모사 시뮬레이션(large eddy simulation; LES) 모델을 이용하고,
에디 점성(eddy viscosity)에 기초하여 상기 계산 격자계의 각 격자점에서의 난류 완화 시간을 도출하고,
상기 난류 완화 시간을 포함하는 총 완화 시간을 도출하도록 하는 명령어들의 시퀀스를 더 포함하는 것인, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
In a computer program stored in a computer-readable recording medium including a sequence of instructions for performing a fluid analysis simulation based on LBM (Lattice Boltzmann Method),
When the computer program is executed by a computing device,
For fluid analysis simulation, data on the analysis target is input,
generating a calculation grid system for calculating flow data based on the received data;
Create an output grid system for outputting analysis results,
Calculate the flow data about the analysis target based on the calculation grid system,
a sequence of instructions for performing the fluid analysis simulation based on the output grid system,
The calculation of the flow data uses a multi-relaxation time (MRT) model and a large eddy simulation (LES) model,
deriving a turbulence relaxation time at each grid point of the calculated grid system based on the eddy viscosity;
and a sequence of instructions for deriving a total relaxation time including the turbulence relaxation time.
KR1020200090537A 2020-07-21 2020-07-21 Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation KR102436665B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200090537A KR102436665B1 (en) 2020-07-21 2020-07-21 Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200090537A KR102436665B1 (en) 2020-07-21 2020-07-21 Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation

Publications (2)

Publication Number Publication Date
KR20220011513A KR20220011513A (en) 2022-01-28
KR102436665B1 true KR102436665B1 (en) 2022-08-26

Family

ID=80051313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200090537A KR102436665B1 (en) 2020-07-21 2020-07-21 Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation

Country Status (1)

Country Link
KR (1) KR102436665B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101332559B1 (en) 2012-11-09 2013-11-26 한국에너지기술연구원 Numerical simulation system and method for atmospheric wind flow by computational fluid dynamics
KR101489708B1 (en) 2014-06-27 2015-02-16 연세대학교 산학협력단 Memory control algorithm, method and apparatus using the same for fluid numerical analysis based on lattice boltzmann method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352930B2 (en) * 1997-12-18 2002-12-03 松下電器産業株式会社 Fluid analysis device
JPH11219349A (en) * 1998-02-03 1999-08-10 Matsushita Electric Ind Co Ltd Liquid analysis device
US9037440B2 (en) * 2011-11-09 2015-05-19 Exa Corporation Computer simulation of fluid flow and acoustic behavior
KR102187066B1 (en) * 2018-06-12 2020-12-04 세종대학교산학협력단 Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method
KR102181989B1 (en) * 2018-08-27 2020-11-23 이에이트 주식회사 Particle based fluid simulation method using a plurality of processors and fluid simulation apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101332559B1 (en) 2012-11-09 2013-11-26 한국에너지기술연구원 Numerical simulation system and method for atmospheric wind flow by computational fluid dynamics
KR101489708B1 (en) 2014-06-27 2015-02-16 연세대학교 산학협력단 Memory control algorithm, method and apparatus using the same for fluid numerical analysis based on lattice boltzmann method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
윤성운 외 3명, "격자 볼츠만 법에서 MRT 와 DSGS eddy viscosity 모델을 이용한 높은 Reynolds 수에서 2차원 후향 계단 유동 연구", 대한기계학회 춘추학술대회, 2010.11., pp3184-3188. 1부.*

Also Published As

Publication number Publication date
KR20220011513A (en) 2022-01-28

Similar Documents

Publication Publication Date Title
Ovaysi et al. Direct pore-level modeling of incompressible fluid flow in porous media
He et al. Local poisson SPH for viscous incompressible fluids
Burstedde et al. Large-scale adaptive mantle convection simulation
Nasr-Azadani et al. TURBINS: an immersed boundary, Navier–Stokes code for the simulation of gravity and turbidity currents interacting with complex topographies
KR102181989B1 (en) Particle based fluid simulation method using a plurality of processors and fluid simulation apparatus
Jause-Labert et al. Numerical validation of the volume penalization method in three-dimensional pseudo-spectral simulations
KR102181986B1 (en) Dummy particle based fluid analysis simulation method and fluid simulation apparatus
KR102026154B1 (en) The method for numerical simulation of shallow water waves in shallow flows
KR102200443B1 (en) Apparatus, method and computer program for lattice boltzmann method based fluid analysis simulation
KR102181988B1 (en) Sph based on fluid simulation method and fluid analysis simulation apparatus
KR102436665B1 (en) Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation
KR102436658B1 (en) Fluid analysis simulation method and fluid simulation apparatus
Song et al. Derivative particles for simulating detailed movements of fluids
Wu et al. Improved divergence‐free smoothed particle hydrodynamics via priority of divergence‐free solver and SOR
Kashefi A coarse-grid incremental pressure projection method for accelerating low Reynolds number incompressible flow simulations
Kajzer et al. The mass diffusive model of Svärd simplified to simulate nearly incompressible flows
Negrut et al. Sand to mud to fording: Modeling and simulation for off-road ground vehicle mobility analysis
KR102200444B1 (en) Apparatus, method and computer program for sph based fluid analysis simulation
KR102436664B1 (en) Apparatus, method and computer program for weakly compressible smoothed particle hydrodynamics based fluid analysis simulation
KR102181979B1 (en) Apparatus, method and computer program for sph based fluid analysis simulation
Wenisch et al. Interactive indoor air flow analysis using high performance computing and virtual reality techniques
KR102181981B1 (en) Apparatus, method and computer program for sph based fluid analysis simulation
Niebling et al. Integrated simulation workflows in computer aided engineering on hpc resources
Chen et al. On different calculation formulas of the pressure term in bi-phase SPH simulations
KR20230133115A (en) Apparatus, method and computer program for setting information exchange node of multiblock for lattice boltzmann method based fluid analysis simulation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant