KR20200023954A - 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치 - Google Patents

복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치 Download PDF

Info

Publication number
KR20200023954A
KR20200023954A KR1020180100492A KR20180100492A KR20200023954A KR 20200023954 A KR20200023954 A KR 20200023954A KR 1020180100492 A KR1020180100492 A KR 1020180100492A KR 20180100492 A KR20180100492 A KR 20180100492A KR 20200023954 A KR20200023954 A KR 20200023954A
Authority
KR
South Korea
Prior art keywords
processor
flow data
region
sub
simulation
Prior art date
Application number
KR1020180100492A
Other languages
English (en)
Other versions
KR102181989B1 (ko
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 KR1020180100492A priority Critical patent/KR102181989B1/ko
Priority to US16/550,997 priority patent/US11403440B2/en
Priority to JP2019154867A priority patent/JP2020035445A/ja
Priority to EP19193927.1A priority patent/EP3623986A3/en
Publication of KR20200023954A publication Critical patent/KR20200023954A/ko
Application granted granted Critical
Publication of KR102181989B1 publication Critical patent/KR102181989B1/ko

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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/25Design optimisation, verification or simulation using particle-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Fluid Mechanics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

유체 시뮬레이션 장치에서 수행되는 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법은 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하는 단계, 상기 시뮬레이션 영역을 복수의 서브 영역으로 분할하는 단계, 상기 복수의 서브 영역 각각으로 상기 복수의 프로세서 각각을 할당하는 단계, 상기 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계 및 상기 계산 결과에 기초하여 유체 시뮬레이션을 수행하는 단계를 포함한다. 상기 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계는 상기 복수의 프로세서 각각이 인접한 적어도 하나의 프로세서와 상기 복수의 입자의 유동 데이터를 교환하는 단계를 포함한다.

Description

복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치{PARTICLE BASED FLUID SIMULATION METHOD USING A PLURALITY OF PROCESSORS AND FLUID SIMULATION APPARATUS}
본 발명은 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치에 관한 것이다.
전산 유체 역학(Computational Fluid Dynamics)은 편미분방정식인 나비에-스토크스 방정식(Naiver-Stokes Equation)을 FDM(Finite Difference Method), FEM(Finite Element Method), FVM(Finite Volume Method) 및 SPH(Smoothed Particle Hydrodynamics) 등의 방법을 통해 이산화함으로써 유체의 유동을 연산하는 유체 역학의 한 분야이다.
나비에-스토크스 방정식을 계산하는 방법은 격자 기반 방법과 입자 기반 방법이 있다.
격자 기반 방법은 공간 도메인을 작은 공간 격자(Mesh or Grid)로 이산화하고, 각각의 격자에 대해 운동 방정식을 세워 적절한 수치 알고리즘을 이용하여 유체의 유동을 연산하는 것이다. 즉, 격자 기반 방법은 격자 생성이 필수적으로 요구된다.
이에 반해, 입자 기반 방법은 유체를 다수의 입자의 집합으로 표현하고, 각 입자의 유동을 추적함으로써 유체의 유동을 연산하는 것이다.
이러한, 입자 기반 방법은 해석 대상을 격자로 표현하는 대신 입자로 표현함으로써, 자연 현상이나 물리 현상에 대한 보다 자연스러운 시뮬레이션이 가능하다.
즉, 입자 기반 방법은 자유 표면과 같은 계면의 큰 변화를 처리하는데 용이하며, 강체, 탄성체 및 유체 등의 복수의 물리 현상을 연발하는 현상을 처리하는데 용이하다.
이러한 장점들로 인해 유체의 유동을 시뮬레이션하는데 있어 최근 SPH가 많이 이용되고 있다.
그러나, 입자 기반 방법은 유체를 표현하는 복수의 입자 각각의 유동을 계산하여야 하므로 격자 기반 방법에 비해 해석 시간이 길다는 단점이 있다.
선행기술문헌: 일본 등록특허 6009075
본 발명은 해석 시간을 단축할 수 있는 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치를 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는 유체 시뮬레이션 장치에서 수행되는 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법에 있어서, 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하는 단계, 상기 시뮬레이션 영역을 복수의 서브 영역으로 분할하는 단계, 상기 복수의 서브 영역 각각으로 상기 복수의 프로세서 각각을 할당하는 단계, 상기 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계 및 상기 계산 결과에 기초하여 유체 시뮬레이션을 수행하는 단계를 포함한다. 상기 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계는 상기 복수의 프로세서 각각이 인접한 적어도 하나의 프로세서와 상기 복수의 입자의 유동 데이터를 교환하는 단계를 포함한다.
또한, 본 발명의 다른 실시예는 제 1 프로세서 및 제 2 프로세서를 포함하는 유체 시뮬레이션 장치에서 수행되는 입자 기반의 유체 시뮬레이션 방법에 있어서, 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하는 단계;
상기 시뮬레이션 영역을 제 1 서브 영역 및 상기 제 1 서브 영역과 인접한 제 2 서브 영역을 포함하는 복수의 서브 영역으로 분할하되 상기 제 1 서브 영역 및 상기 제 2 서브 영역 각각은 서로 중첩되는 중첩 영역을 포함하는 단계, 상기 제 1 서브 영역으로 상기 제 1 프로세서를 할당하고, 제 2 서브 영역으로 상기 제 2 프로세서를 할당하는 단계, 상기 제 1 프로세서에 의해 상기 제 1 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계, 상기 제 2 프로세서에 의해 상기 제 2 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계 및 상기 제 1 프로세서 및 상기 제 2 프로세서 각각이 상기 중첩 영역에 대한 유동 데이터를 서로 교환하는 단계를 포함한다.
또한, 본 발명의 또 다른 실시예는 복수의 프로세서를 이용한 입자 기반의 유체를 시뮬레이션하는 유체 시뮬레이션 장치에 있어서, 상기 시뮬레이션에 대한 정보를 저장하는 메모리, 제 1 프로세서, 제 2 프로세서 및 제 3 프로세서를 포함한다. 상기 제 1 프로세서는, 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하고, 상기 시뮬레이션 영역을 복수의 서브 영역으로 분할하고, 상기 시뮬레이션 영역을 제 1 서브 영역 및 상기 제 1 서브 영역과 인접한 제 2 서브 영역을 포함하는 복수의 서브 영역으로 분할하되 상기 제 1 서브 영역 및 상기 제 2 서브 영역 각각은 서로 중첩되는 중첩 영역을 포함하고, 상기 제 1 서브 영역으로 상기 제 1 프로세서를 할당하고, 제 2 서브 영역으로 상기 제 2 프로세서를 할당한다. 상기 제 2 프로세서는, 상기 제 1 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하고, 상기 제 3 프로세서는, 상기 제 2 서브 영역에 대한 복수의 입자의 유동 데이터를 계산한다. 상기 제 2 프로세서 및 상기 제 3 프로세서 각각은 상기 중첩 영역에 대한 유동 데이터를 서로 교환한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 해석 시간을 단축할 수 있는 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 유체 시뮬레이션 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 유체 시뮬레이션 방법을 예시적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 유체 시뮬레이션 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 유체 시뮬레이션 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 유체 시뮬레이션 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 유체 시뮬레이션 장치의 블록도이다. 도 1을 참조하면, 유체 시뮬레이션 장치(1)는 후술하는 유체 시뮬레이션 방법에 따라 유체 시뮬레이션을 실행하는 장치이다.
유체 시뮬레이션 장치(1) 예를 들어, 퍼스널 컴퓨터, 태블릿 컴퓨터, 모바일 장치, 게임 콘솔 및 텔레비전 등을 포함할 수 있다.
본 발명의 일 실시예에 따른 유체 시뮬레이션 방법은 입자 기반의 유체 시뮬레이션 방법으로서, 예를 들어, SPH(Smoothed Particle Hydrodynamics)를 이용한 것일 수 있다.
본 발명에 따른 유체 시뮬레이션 방법은 유체 시뮬레이션이 실시간으로 계산되는 응용 분야를 포함하지만 이에 한정되지 않고, 유체 시뮬레이션을 필요로 하는 다양한 응용 분야에서도 적용된다.
예시적인 응용 분야는 예를 들어 컴퓨터 게임, 의학 시뮬레이션, 과학 응용 및 컴퓨터 애니메이션을 포함한다.
유체 시뮬레이션 장치(1)는 제 1 프로세서(100), 제 2 프로세서(110), 제 3 프로세서(120), 메모리(130), 입력부(140) 및 출력부(150)를 포함할 수 있다.
제 1 프로세서(100)는 예를 들어, 중앙 처리 장치(CPU: Central Processing Unit)이고, 제 2 프로세서(110) 및 제 3 프로세서(120)는 그래픽 처리 유닛(GPU: Graphics Processing Unit)일 수 있다.
제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120)는 본 발명의 유체 시뮬레이션 방법이 적용된 유체 해석 솔버(Solver)를 구동한다.
이때, 유체 해석 솔버는 제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120)에 의해 병렬 처리될 수 있다.
예를 들어, 제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120)는 병렬로 유체 시뮬레이션을 수행할 수 있다.
도 1에는 제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120)만을 도시하였으나, 유체 해석 솔버를 구동하기 위해 더 많은 수의 프로세서가 이용될 수도 있다.
메모리(130)는 제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120) 중 적어도 하나에 의해 구동되는 유체 해석 솔버 및 이에 대한 데이터를 저장한다.
예를 들어, 메모리(130)는 제 1 프로세서(100)에 의해 처리되는 데이터를 저장하는 제 1 메모리 영역과 제 2 프로세서(110) 및 제 3 프로세서(120)에 의해 처리되는 데이터를 저장하는 제 2 메모리 영역을 포함할 수 있다.
입력부(140)는 사용자로부터 제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120) 중 적어도 하나에 의해 구동되는 유체 해석 솔버에 대한 입력을 입력받는다.
입력부(140)는 예를 들어, 키보드, 마우스, 조이스틱, 터치 스크린 및 마이크 등을 포함할 수 있다.
출력부(150)는 제 1 프로세서(100), 제 2 프로세서(110) 및 제 3 프로세서(120) 중 적어도 하나에 의해 구동되는 유체 해석 솔버에 대한 시각 정보 및 음향 정보를 디스플레이할 수 있다.
출력부(150)는 예를 들어, 디스플레이, 스피커 등을 포함할 수 있다.
이하, 유체 시뮬레이션 장치(1)에 의해 수행되는 유체 시뮬레이션 방법에 대하여 상세히 설명하기로 한다.
제 1 프로세서(100)는 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링할 수 있다.
제 1 프로세서(100)는 시뮬레이션 영역을 모델링하기 위한 정보를 입력부(140)를 통해 입력받을 수 있다.
예를 들어, 제 1 프로세서(100)는 지형 정보, 구조물 정보, 경계 조건 정보, 입자 물성 정보 및 중력 가속도 정보 중 적어도 하나를 입력받을 수 있다.
제 1 프로세서(100)는 입력받은 적어도 하나에 기초하여 시뮬레이션 영역을 모델링할 수 있다.
여기서, 구조물 정보는 밀도, 반발 계수 및 마찰 계수 중 적어도 하나를 포함할 수 있다.
또한, 입자 물성 정보는 입자 반경, 밀도, 점성, 음속 및 초기 속도 중 적어도 하나를 포함할 수 있다.
제 1 프로세서(100)는 시뮬레이션 영역을 제 1 서브 영역 및 제 1 서브 영역과 인접한 제 2 서브 영역을 포함하는 복수의 서브 영역으로 분할할 수 있다.
예를 들어, 제 1 프로세서(100)는 시뮬레이션 영역을 유체 시뮬레이션 장치(1)의 그래픽 처리 유닛의 수만큼 분할할 수 있다.
이때, 복수의 서브 영역 각각은 인접한 서브 영역과 중첩되는 중첩 영역을 포함할 수 있다. 예를 들어, 제 1 서브 영역 및 상기 제 2 서브 영역 각각은 서로 중첩되는 중첩 영역을 포함할 수 있다.
제 1 프로세서(100)는 복수의 서브 영역 각각으로 복수의 프로세서 각각을 할당할 수 있다. 예를 들어, 제 1 프로세서(100)는 제 1 서브 영역으로 제 2 프로세서(110)를 할당하고, 제 2 서브 영역으로 제 3 프로세서(120)를 할당할 수 있다.
잠시 도 2 및 3을 참조하여, 시뮬레이션 영역의 복수의 서브 영역이 복수의 프로세서로 할당되는 것을 설명하기로 한다.
도 2에는 파이프의 구조물과 그 내부에 흐르는 유체가 모델링 것(즉, 시뮬레이션 영역)이 도시되어 있다.
제 1 프로세서(100)는 시뮬레이션 영역을 제 1 서브 영역(210), 제 2 서브 영역(220) 및 제 3 서브 영역(230)으로 분할할 수 있다.
제 1 프로세서(100)는 제 1 서브 영역(210)으로 제 2 프로세서(110)를 할당하고, 제 2 서브 영역(220)으로 제 3 프로세서(120)를 할당할 수 있다.
또한, 제 1 프로세서(100)는 제 3 서브 영역(230)으로 제 4 프로세서(미도시)를 할당할 수 있다. 여기서, 제 4 프로세서는 그래픽 처리 유닛일 수 있다.
이때, 제 1 서브 영역(210) 및 제 2 서브 영역(220) 각각은 서로 중첩되는 중첩 영역(240)을 포함하고, 제 2 서브 영역(220) 및 제 3 서브 영역(230) 각각은 서로 중첩되는 중첩 영역(250)을 포함한다.
도 3은 제 1 서브 영역(210) 및 제 2 서브 영역(220)의 일부를 확대한 도면이다.
도 3을 참조하면, 제 1 서브 영역(210) 및 제 2 서브 영역(220)의 중첩 영역(240)은 제 1 서브 영역(210)과 인접한 제 1 중첩 영역(310) 및 제 2 서브 영역(220)과 인접한 제 2 중첩 영역(320)을 포함할 수 있다.
다시 도 1을 참조하면, 제 2 프로세서(110)는 제 1 서브 영역에 대한 복수의 입자의 유동 데이터를 계산할 수 있다.
제 2 프로세서(110)는 SPH 알고리즘에 기초하여 제 1 서브 영역에 대한 복수의 입자의 유동 데이터를 계산할 수 있다.
여기서, SPH는 각 입자의 물성 정보(예컨대, 질량, 속도, 점성 및 가속도)를 이용하여 각 입자의 유동을 연산하는 것으로서, 각 입자의 물성 정보는 각 입자의 위치를 중심으로 한 방사형 베이시스 함수와 같은 커널 함수(Kernel Function) 세트를 사용하여 보간된다.
이러한 방식으로 각 입자의 물성 정보를 보간하면 나비에-스토크스 방정식과 같은 표준 방정식을 사용하여 유체의 동역학을 계산하는데 사용할 수 있는 압력 필드 및 점성 필드와 같은 연속 필드가 생성된다.
예를 들어, 나비에-스토크스 방정식은 유체를 다음과 같이 모델링한다.
Figure pat00001
수학식 1에서 "v"는 입자의 속도, "ρ"는 입자의 밀도, "p"는 입자에 대한 가압력, "g"는 중력, “μ”는 유체의 점성을 나타낸다.
한편, SPH 알고리즘에 의하면, 각 입자의 밀도는 수학식 2에 의해 도출된다.
Figure pat00002
또한, 각 입자의 압력은 수학식 3에 의해 도출된다.
Figure pat00003
또한, 각 입자의 점성은 수학식 4에 의해 도출된다.
Figure pat00004
제 2 프로세서(110)는 SPH 알고리즘을 이용하여 각 입자의 밀도, 압력 및 점성(이하, 유동 데이터)의 변화값을 연산한다. 예를 들어, 제 2 프로세서(110)는 각 입자의 초기 유동 데이터에 기초하여 다음 시간 스텝(제 1 시간 스텝)에서의 각 입자의 유동 데이터를 연산하고, 이에 기초하여 각 입자의 유동을 연산한다.
또한, 제 2 프로세서(110)는 제 1 시간 스텝에서의 각 입자의 유동 데이터에 기초하여 그 다음 시간 스텝에서의 각 입자의 유동 데이터를 연산하고, 이에 기초하여 각 입자의 유동을 연산한다.
제 2 프로세서(110)는 각 시간 스텝에서의 각 입자의 유동 데이터를 연산하여 각 입자의 유동을 연산함으로써, 전체 유체의 유동을 연산할 수 있다.
제 3 프로세서(120)는 제 2 서브 영역에 대한 복수의 입자의 유동 데이터를 계산할 수 있다.
제 3 프로세서(120)가 입자의 유동 데이터를 계산하는 방법은 제 2 프로세서(110)가 입자의 유동 데이터를 계산하는 방법과 동일할 수 있다.
제 2 프로세서(110) 및 제 3 프로세서(120)는 중첩 영역에 대한 유동 데이터를 서로 교환할 수 있다.
잠시, 도 4를 참조하여 제 2 프로세서(110) 및 제 3 프로세서(120)가 중첩 영역에 대한 유동 데이터를 서로 교환하는 방법에 대하여 설명하기로 한다.
도 4는 본 발명의 다른 실시예에 따른 유체 시뮬레이션 방법을 설명하기 위한 도면이다.
본 발명은 해석 시간을 단축시키기 위해 각 입자의 유동을 해석함에 있어 복수의 프로세서를 통한 병렬 처리를 수행하고 있다.
이러한 다중 프로세서 환경에서, 입자들의 흐름에 따라(특히, 서브 영역을 넘나드는 흐름) 프로세서 간에 유동 데이터를 전달할 필요가 있다.
또한, 일반적으로, 입자 기반 방식의 유체 해석은 기준 입자가 이의 인접 입자로부터 받는 물리적 힘(즉, 밀도에 의한 힘, 압력에 의한 힘 및 점성에 의한 힘 등)을 고려함으로써 해당 입자의 유동을 계산한다.
그러나, 가장 자리에 위치한 입자의 경우, 인접 입자의 부재로 인해 이의 유동을 계산함에 있어 오류가 발생하게 된다.
이를 해결하기 위한 방법으로서, 해당 서브 영역에서 벗어나는 입자들에 대한 유동 데이터를 인접한 서브 영역에 할당된 프로세서로 전달하는 방법을 고려할 수 있으나, 이 경우 계산 속도의 저하가 발생하고 별도의 처리 루틴을 만들어야 하는 문제점이 있다.
다른 방법으로서, 각 프로세서가 모든 서브 영역에 대한 유동 데이터를 공유하여 저장하고 있는 방법을 고려할 수 있다. 그러나, 이 경우 각 프로세서 간의 데이터 공유 프로세스가 수행되어야 하며, 각 프로세서가 모든 유동 데이터를 저장하고 있어야 하므로 많은 메모리 공간이 요구된다는 문제점이 있다.
상술한 문제점을 해결하기 위해, 본 발명에서는 각 프로세서가 인접한 프로세서와 중첩 영역에 대한 유동 데이터를 교환하고 있다.
구체적으로, 도 4를 참조하면, 중첩 영역(240)은 제 1 서브 영역(210)과 인접한 제 1 중첩 영역(310) 및 제 2 서브 영역(220)과 인접한 제 2 중첩 영역(320)을 포함할 수 있다.
이때, 제 2 프로세서(110)는 제 3 프로세서(120)로부터 제 2 중첩 영역(320)에 대한 유동 데이터(도 4에서 파란색 입자에 대한 유동 데이터)를 수신할 수 있다.
여기서, 제 3 프로세서(120)가 연산한 제 2 중첩 영역(320)에 대한 유동 데이터는 오류가 없는 데이터이다. 왜냐하면, 제 2 서브 영역(220)에서 제 2 중첩 영역(320)은 가장 자리가 아니기 때문에(제 1 중첩 영역(310)이 가장 자리임), 인접 인자가 존재하기 때문이다.
이후, 제 2 프로세서(110)는 제 2 프로세서(110)가 계산한 제 2 중첩 영역(320)에 대한 유동 데이터를 제 3 프로세서(120)로부터 수신한 제 2 중첩 영역(320)에 대한 유동 데이터로 대체한다.
이는, 제 2 프로세서(110)가 연산한 제 2 중첩 영역(320)에 대한 유동 데이터는 오류가 있는 데이터이기 때문이다. 왜냐하면, 제 1 서브 영역(210)에서 제 2 중첩 영역(320)은 가장 자리이기 때문에, 인접 입자가 존재하지 않기 때문이다.
이어서, 제 2 프로세서(110)는 제 3 프로세서(120)로부터 수신한 제 2 중첩 영역(320)에 대한 유동 데이터 기초하여 제 1 서브 영역(210)에 대한 유동 데이터를 재계산할 수 있다.
예를 들어, 제 2 프로세서(110)는 기계산된 제 1 중첩 영역(310)에 대한 유동 데이터 및 제 3 프로세서(120)로부터 수신한 제 2 중첩 영역(320)에 대한 유동 데이터에 기초하여 중첩 영역에 대해서만 유동 데이터를 재계산할 수도 있다.
한편, 제 3 프로세서(120)도 동일한 프로세스를 처리한다.
구체적으로, 제 3 프로세서(120)는 제 2 프로세서(110)로부터 제 1 중첩 영역(310)에 대한 유동 데이터(도 4에서 빨간색 입자에 대한 유동 데이터)를 수신할 수 있다.
여기서, 제 2 프로세서(110)가 연산한 제 1 중첩 영역(310)에 대한 유동 데이터는 오류가 없는 데이터이다.
이후, 제 3 프로세서(120)는 제 3 프로세서(120)가 계산한 제 1 중첩 영역(310)에 대한 유동 데이터를 제 2 프로세서(110)로부터 수신한 제 1 중첩 영역(310)에 대한 유동 데이터로 대체한다.
이는, 제 3 프로세서(120)가 연산한 제 1 중첩 영역(310)에 대한 유동 데이터는 오류가 있는 데이터이기 때문이다.
이어서, 제 3 프로세서(120)는 제 2 프로세서(110)로부터 수신한 제 1 중첩 영역(310)에 대한 유동 데이터에 기초하여 제 2 서브 영역(220)에 대한 유동 데이터를 재계산할 수 있다.
예를 들어, 제 3 프로세서(120)는 기계산된 제 2 중첩 영역(320)에 대한 유동 데이터 및 제 2 프로세서(110)로부터 수신한 제 1 중첩 영역(310)에 대한 유동 데이터에 기초하여 중첩 영역에 대해서만 유동 데이터를 재계산할 수도 있다.
이와 같이, 각 프로세서가 인접한 프로세서와 중첩 영역에 대한 유동 데이터만을 교환함으로써, 비교적 적은 메모리 공간이 요구된다.
또한, 각 프로세서가 모든 유동 데이터를 공유하지 않아 메모리 복사를 최소화하기 때문에 데이터 전송에 따른 오버헤드를 줄일 수 있고, 이에 따라 연산 속도가 향상된다.
또한, 다중 프로세서 환경에서도 인접 입자 부재에 따른 에러가 발생하지 않기 때문에 정확한 유체 시뮬레이션이 가능하다.
다시 도 1을 참조하면, 출력부(150)는 복수의 프로세서의 계산 결과에 기초하여 실시간 유체 시뮬레이션을 수행할 수 있다.
출력부(150)는 복수의 프로세서의 계산 결과에 기초하여 유체의 유동을 실시간으로 렌더링하여 가시화할 수 있다(도 2 참조).
도 5는 본 발명의 일 실시예에 따른 유체 시뮬레이션 방법을 나타낸 흐름도이다. 도 5에 도시된 일 실시예에 따른 유체 시뮬레이션 방법은 도 1에 도시된 유체 시뮬레이션 장치에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 5에 도시된 일 실시예에 따라 수행되는 유체 시뮬레이션 방법에도 적용된다.
단계 S500에서 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링한다.
단계 S510에서 시뮬레이션 영역을 복수의 서브 영역으로 분할한다.
단계 S520에서 복수의 서브 영역 각각으로 복수의 프로세서 각각을 할당한다.
단계 S530에서 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산한다.
단계 S540에서 계산 결과에 기초하여 유체 시뮬레이션을 수행한다.
도 5을 통해 설명된 유체 시뮬레이션 방법은 매체에 저장된 컴퓨터 프로그램의 형태로 구현되거나, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 유체 시뮬레이션 장치
110: 제 1 프로세서
120: 제 2 프로세서
130: 제 3 프로세서
140: 입력부
150: 출력부

Claims (20)

  1. 유체 시뮬레이션 장치에서 수행되는 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법에 있어서,
    유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하는 단계;
    상기 시뮬레이션 영역을 복수의 서브 영역으로 분할하는 단계;
    상기 복수의 서브 영역 각각으로 상기 복수의 프로세서 각각을 할당하는 단계;
    상기 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계; 및
    상기 계산 결과에 기초하여 유체 시뮬레이션을 수행하는 단계
    를 포함하고,
    상기 복수의 프로세서 각각에 의해 해당하는 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계는,
    상기 복수의 프로세서 각각이 인접한 적어도 하나의 프로세서와 상기 복수의 입자의 유동 데이터를 교환하는 단계를 포함하는 것인, 유체 시뮬레이션 방법.
  2. 제 1 항에 있어서,
    상기 복수의 서브 영역 각각은 인접한 서브 영역과 중첩되는 중첩 영역을 포함하고,
    상기 교환하는 유동 데이터는 상기 중첩 영역에 대한 유동 데이터인 것인 것인, 유체 시뮬레이션 방법.
  3. 제 2 항에 있어서,
    상기 복수의 프로세서 각각에 의해 상기 복수의 서브 영역 각각에 포함된 상기 유체의 입자의 유동 데이터를 계산하는 단계는,
    상기 중첩 영역 이외의 비중첩 영역에 대한 유동 데이터에 기초하여 상기 비중첩 영역에 대한 상기 복수의 입자의 유동을 계산하는 단계; 및
    상기 인접한 적어도 하나의 프로세서로부터 수신한 상기 중첩 영역에 대한 유동 데이터에 기초하여 상기 중첩 영역에 대한 상기 복수의 입자의 유동을 계산하는 단계
    를 포함하는 것인, 유체 시뮬레이션 방법.
  4. 제 1 항에 있어서,
    상기 복수의 프로세서는 그래픽 처리 유닛(GPU: Graphics Processing Unit)인 것인, 유체 시뮬레이션 방법.
  5. 상기 유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하는 단계는,
    지형 정보, 구조물 정보, 경계 조건 정보, 입자 물성 정보 및 중력 가속도 정보 중 적어도 하나를 입력받는 단계; 및
    상기 입력받은 적어도 하나에 기초하여 상기 시뮬레이션 영역을 모델링하는 단계
    를 포함하는 것인, 유체 시뮬레이션 방법.
  6. 제 5 항에 있어서,
    상기 구조물 정보는 밀도, 반발 계수 및 마찰 계수 중 적어도 하나를 포함하는 것인, 유체 시뮬레이션 방법.
  7. 제 5 항에 있어서,
    상기 입자 물성 정보는 입자 반경, 밀도, 점성, 음속 및 초기 속도 중 적어도 하나를 포함하는 것인, 유체 시뮬레이션 방법.
  8. 제 1 프로세서 및 제 2 프로세서를 포함하는 유체 시뮬레이션 장치에서 수행되는 입자 기반의 유체 시뮬레이션 방법에 있어서,
    유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하는 단계;
    상기 시뮬레이션 영역을 제 1 서브 영역 및 상기 제 1 서브 영역과 인접한 제 2 서브 영역을 포함하는 복수의 서브 영역으로 분할하되 상기 제 1 서브 영역 및 상기 제 2 서브 영역 각각은 서로 중첩되는 중첩 영역을 포함하는 단계;
    상기 제 1 서브 영역으로 상기 제 1 프로세서를 할당하고, 제 2 서브 영역으로 상기 제 2 프로세서를 할당하는 단계;
    상기 제 1 프로세서에 의해 상기 제 1 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계;
    상기 제 2 프로세서에 의해 상기 제 2 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하는 단계; 및
    상기 제 1 프로세서 및 상기 제 2 프로세서 각각이 상기 중첩 영역에 대한 유동 데이터를 서로 교환하는 단계를 포함하는 것인, 유체 시뮬레이션 방법.
  9. 제 8 항에 있어서,
    상기 중첩 영역은 상기 제 1 서브 영역과 인접한 제 1 중첩 영역 및 상기 제 2 서브 영역과 인접한 제 2 중첩 영역을 포함하는 것인, 유체 시뮬레이션 방법.
  10. 제 9 항에 있어서,
    상기 제 1 프로세서 및 상기 제 2 프로세서 각각이 상기 중첩 영역에 대한 유동 데이터를 서로 교환하는 단계는,
    상기 제 1 프로세서가 상기 제 2 프로세서로부터 상기 제 2 중첩 영역에 대한 유동 데이터를 수신하는 단계; 및
    상기 제 2 프로세서가 상기 제 1 프로세서로부터 상기 제 1 중첩 영역에 대한 유동 데이터를 수신하는 단계
    를 포함하는 것인, 유체 시뮬레이션 방법.
  11. 제 10 항에 있어서,
    상기 제 1 프로세서에 의해, 기계산된 상기 제 1 중첩 영역에 대한 유동 데이터 및 상기 제 2 프로세서로부터 수신된 상기 제 2 중첩 영역에 대한 유동 데이터에 기초하여 상기 중첩 영역에 대한 유동 데이터를 재계산하는 단계; 및
    상기 제 2 프로세서에 의해, 기계산된 상기 제 2 중첩 영역에 대한 유동 데이터 및 상기 제 1 프로세서로부터 수신된 상기 제 1 중첩 영역에 대한 유동 데이터에 기초하여 상기 중첩 영역에 대한 유동 데이터를 재계산하는 단계
    를 포함하는 것인, 유체 시뮬레이션 방법.
  12. 복수의 프로세서를 이용한 입자 기반의 유체를 시뮬레이션하는 유체 시뮬레이션 장치에 있어서,
    상기 시뮬레이션에 대한 정보를 저장하는 메모리;
    제 1 프로세서;
    제 2 프로세서; 및
    제 3 프로세서를 포함하되,
    상기 제 1 프로세서는,
    유체에 대한 복수의 입자를 포함하는 시뮬레이션 영역을 모델링하고,
    상기 시뮬레이션 영역을 복수의 서브 영역으로 분할하고,
    상기 시뮬레이션 영역을 제 1 서브 영역 및 상기 제 1 서브 영역과 인접한 제 2 서브 영역을 포함하는 복수의 서브 영역으로 분할하되 상기 제 1 서브 영역 및 상기 제 2 서브 영역 각각은 서로 중첩되는 중첩 영역을 포함하고,
    상기 제 1 서브 영역으로 상기 제 1 프로세서를 할당하고, 제 2 서브 영역으로 상기 제 2 프로세서를 할당하고,
    상기 제 2 프로세서는,
    상기 제 1 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하고,
    상기 제 3 프로세서는,
    상기 제 2 서브 영역에 대한 복수의 입자의 유동 데이터를 계산하고,
    상기 제 2 프로세서 및 상기 제 3 프로세서 각각은 상기 중첩 영역에 대한 유동 데이터를 서로 교환하는 것인, 유체 시뮬레이션 장치.
  13. 제 12 항에 있어서,
    상기 중첩 영역은 상기 제 1 서브 영역과 인접한 제 1 중첩 영역 및 상기 제 2 서브 영역과 인접한 제 2 중첩 영역을 포함하는 것인, 유체 시뮬레이션 장치.
  14. 제 13 항에 있어서,
    상기 제 2 프로세서는 상기 제 3 프로세서로부터 상기 제 2 중첩 영역에 대한 유동 데이터를 수신하고,
    상기 제 3 프로세서는 상기 제 2 프로세서로부터 상기 제 1 중첩 영역에 대한 유동 데이터를 수신하는 것인, 유체 시뮬레이션 장치.
  15. 제 14 항에 있어서,
    상기 제 2 프로세서는 기계산된 상기 제 1 중첩 영역에 대한 유동 데이터 및 상기 제 3 프로세서로부터 수신된 상기 제 2 중첩 영역에 대한 유동 데이터에 기초하여 상기 제 1 중첩 영역에 대한 유동 데이터를 재계산하고,
    상기 제 3 프로세서는 기계산된 상기 제 2 중첩 영역에 대한 유동 데이터 및 상기 제 2 프로세서로부터 수신된 상기 제 1 중첩 영역에 대한 유동 데이터에 기초하여 상기 제 2 중첩 영역에 대한 유동 데이터를 재계산하는 것인, 유체 시뮬레이션 장치.
  16. 제 12 항에 있어서,
    상기 제 1 프로세서는 중앙 처리 장치(CPU: Central Processing Unit)이고,
    상기 제 2 프로세서 및 상기 제 3 프로세서는 그래픽 처리 유닛(GPU: Graphics Processing Unit)인 것인, 유체 시뮬레이션 장치.
  17. 제 12 항에 있어서,
    상기 제 1 프로세서는 지형 정보, 구조물 정보, 경계 조건 정보, 입자 물성 정보 및 중력 가속도 정보 중 적어도 하나를 입력받고, 상기 입력받은 적어도 하나에 기초하여 상기 시뮬레이션 영역을 모델링하는 것인, 유체 시뮬레이션 장치.
  18. 제 17 항에 있어서,
    상기 구조물 정보는 밀도, 반발 계수 및 마찰 계수 중 적어도 하나를 포함하는 것인, 유체 시뮬레이션 장치.
  19. 제 17 항에 있어서,
    상기 입자 물성 정보는 입자 반경, 밀도, 점성, 음속 및 초기 속도 중 적어도 하나를 포함하는 것인, 유체 시뮬레이션 장치.
  20. 제 1 항 내지 제 7 항 중 어느 한 항에 기록된 방법을 컴퓨팅 장치가 수행하도록 하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020180100492A 2018-08-27 2018-08-27 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치 KR102181989B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180100492A KR102181989B1 (ko) 2018-08-27 2018-08-27 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치
US16/550,997 US11403440B2 (en) 2018-08-27 2019-08-26 Particle-based fluid simulation method using multiple processors and fluid simulation apparatus
JP2019154867A JP2020035445A (ja) 2018-08-27 2019-08-27 複数のプロセッサを用いた粒子ベースの流体シミュレーション方法及び流体シミュレーション装置
EP19193927.1A EP3623986A3 (en) 2018-08-27 2019-08-27 Particle-based fluid simulation method using multiple processors and fluid simulation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180100492A KR102181989B1 (ko) 2018-08-27 2018-08-27 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치

Publications (2)

Publication Number Publication Date
KR20200023954A true KR20200023954A (ko) 2020-03-06
KR102181989B1 KR102181989B1 (ko) 2020-11-23

Family

ID=67777100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180100492A KR102181989B1 (ko) 2018-08-27 2018-08-27 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치

Country Status (4)

Country Link
US (1) US11403440B2 (ko)
EP (1) EP3623986A3 (ko)
JP (1) JP2020035445A (ko)
KR (1) KR102181989B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220011513A (ko) * 2020-07-21 2022-01-28 이에이트 주식회사 고 레이놀즈 수의 유동 해석을 위한 다중 격자 lbm 및 les 기반의 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
KR20220063031A (ko) * 2020-11-09 2022-05-17 울산대학교 산학협력단 3차원 영상 기반 유체 시뮬레이션 방법, 장치 및 프로그램

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100939B (zh) * 2020-09-14 2023-06-16 福建天晴在线互动科技有限公司 一种基于Compute Shader的实时流体仿真方法及其***
CN112784471B (zh) * 2021-01-26 2022-09-23 郑州轻工业大学 水环境可视仿真方法、终端设备以及计算机可读存储介质
CN113379103B (zh) * 2021-05-20 2022-05-13 中国船舶重工集团公司第七一九研究所 基于降阶模型的泵类设备内部流场的预测方法
CN115983163B (zh) * 2023-03-20 2023-07-07 水利部珠江水利委员会水文局 基于sph算法的流域建模方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015530636A (ja) * 2012-12-20 2015-10-15 中国科学院近代物理研究所 粒子流動のシミュレーションシステム及びその方法
KR101700829B1 (ko) * 2015-10-29 2017-02-01 한국과학기술정보연구원 병렬처리 입자기반 유체 시뮬레이션 시스템 및 그 방법
JP2017091262A (ja) * 2015-11-11 2017-05-25 富士通株式会社 粒子シミュレーションプログラム、粒子シミュレーション装置、及び計算機資源配分方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS609075B2 (ja) 1975-08-22 1985-03-07 日本鋼管株式会社 燃料ガスの製造方法
NO972792L (no) * 1996-06-20 1997-12-22 Pall Corp Filter for underjordisk bruk
WO2003085379A2 (en) * 2002-04-01 2003-10-16 Fluidigm Corporation Microfluidic particle-analysis systems
US9030932B2 (en) * 2011-08-24 2015-05-12 Texas Instruments Incorporated Enhanced carrier sense multiple access (CSMA) protocols
US10360324B2 (en) * 2011-12-09 2019-07-23 Dassault Systemes Simulia Corp. Computer simulation of physical processes
GB2501279B (en) * 2012-04-18 2014-05-21 Sibelco Uk Ltd A pellet and a method of manufacturing glass
US10515159B2 (en) * 2013-03-06 2019-12-24 Dassault Systemes Simulia Corp. Flow-induced noise source identification
EP2997518A4 (en) * 2013-05-16 2017-05-17 EXA Corporation Mass exchange model for relative permeability simulation
CA2919530A1 (en) * 2013-08-27 2015-03-05 Halliburton Energy Services, Inc. Simulating fluid leak-off and flow-back in a fractured subterranean region
US9739907B2 (en) * 2014-02-03 2017-08-22 Halliburton Energy Services, Inc. Optimizing a grid for finite element solutions for subterranean region simulations
US20170316133A1 (en) * 2016-01-20 2017-11-02 Soliton Holdings Corporation, Delaware Corporation Generalized Jet-Effect
US20180266394A1 (en) * 2016-01-20 2018-09-20 Soliton Holdings Corporation, Delaware Corporation Generalized Jet-Effect and Generalized Generator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015530636A (ja) * 2012-12-20 2015-10-15 中国科学院近代物理研究所 粒子流動のシミュレーションシステム及びその方法
KR101700829B1 (ko) * 2015-10-29 2017-02-01 한국과학기술정보연구원 병렬처리 입자기반 유체 시뮬레이션 시스템 및 그 방법
JP2017091262A (ja) * 2015-11-11 2017-05-25 富士通株式会社 粒子シミュレーションプログラム、粒子シミュレーション装置、及び計算機資源配分方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"A domain decomposition strategy for hybrid parallelization of moving particle semi-implicit(MPS) method for computer cluster", CLUSTER COMPUTING vol. 18 No. 4(pp. 1363-1377), 2015. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220011513A (ko) * 2020-07-21 2022-01-28 이에이트 주식회사 고 레이놀즈 수의 유동 해석을 위한 다중 격자 lbm 및 les 기반의 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
KR20220063031A (ko) * 2020-11-09 2022-05-17 울산대학교 산학협력단 3차원 영상 기반 유체 시뮬레이션 방법, 장치 및 프로그램

Also Published As

Publication number Publication date
US20200065442A1 (en) 2020-02-27
EP3623986A3 (en) 2020-04-01
KR102181989B1 (ko) 2020-11-23
US11403440B2 (en) 2022-08-02
EP3623986A2 (en) 2020-03-18
JP2020035445A (ja) 2020-03-05

Similar Documents

Publication Publication Date Title
KR102181989B1 (ko) 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치
US20070239414A1 (en) Method of simulating detailed movements of fluids using derivative particles
CN101388117B (zh) 基于粒子法的流体模拟的表面构筑方法
KR102181986B1 (ko) 더미 입자를 이용한 입자 기반의 유체 해석 시뮬레이션 방법 및 유체 해석 시뮬레이션 장치
KR102181988B1 (ko) Sph 기반의 유체 해석 시뮬레이션 장치 및 유체 해석 시뮬레이션 방법
Qiu Two-dimensional SPH simulations of landslide-generated water waves
KR102200443B1 (ko) Lbm 기반의 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
Winkler et al. Virtual reality in urban water management: communicating urban flooding with particle-based CFD simulations
KR102436658B1 (ko) 입자 기반의 유체 해석 시뮬레이션 방법 및 유체 해석 시뮬레이션 장치
Hong et al. Plausible mass-spring system using parallel computing on mobile devices
Bogomolov et al. Discontinuous particle method on gas dynamic examples
Angst et al. Robust and efficient wave simulations on deforming meshes
Rückwald et al. Hierarchical refinement in isogeometric analysis for flexible multibody impact simulations
Mawson Interactive fluid-structure interaction with many-core accelerators
KR102436664B1 (ko) Wcsph 기반의 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
KR102436665B1 (ko) 고 레이놀즈 수의 유동 해석을 위한 다중 격자 lbm 및 les 기반의 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
KR102200444B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
Tse et al. A smoothed particle hydrodynamics algorithm for haptic rendering of dental filling materials
KR102181985B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
KR102181979B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
Jung et al. Mesh convergence test system in integrated platform environment for finite element analysis
Choi et al. Parallel cloth simulation with GPGPU
KR102516382B1 (ko) Lbm 기반의 혈류 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
JP7299613B2 (ja) システム、方法およびプログラム
Busto et al. Semi-implicit hybrid finite volume/finite element method for the GPR model of continuum mechanics

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant