KR102181985B1 - Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램 - Google Patents

Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102181985B1
KR102181985B1 KR1020190166619A KR20190166619A KR102181985B1 KR 102181985 B1 KR102181985 B1 KR 102181985B1 KR 1020190166619 A KR1020190166619 A KR 1020190166619A KR 20190166619 A KR20190166619 A KR 20190166619A KR 102181985 B1 KR102181985 B1 KR 102181985B1
Authority
KR
South Korea
Prior art keywords
particle
cell
particles
neighboring
reference information
Prior art date
Application number
KR1020190166619A
Other languages
English (en)
Other versions
KR102181985B9 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=73680123&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102181985(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 이에이트 주식회사 filed Critical 이에이트 주식회사
Priority to KR1020190166619A priority Critical patent/KR102181985B1/ko
Priority to US17/784,665 priority patent/US20230012034A1/en
Priority to PCT/KR2019/018582 priority patent/WO2021117966A1/ko
Application granted granted Critical
Publication of KR102181985B1 publication Critical patent/KR102181985B1/ko
Publication of KR102181985B9 publication Critical patent/KR102181985B9/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/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • 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/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids

Landscapes

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

Abstract

SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션 장치는 유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받는 입력부, 상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하고, 상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하는 공간 형성부, 상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하는 입자 탐색부 및 상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하고, 상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하는 유동 데이터 계산부를 포함한다.

Description

SPH 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER PROGRAM FOR SPH BASED FLUID ANALYSIS SIMULATION}
본 발명은 SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
전산유체역학(Computational Fluid Dynamics, CFD)은 유체 역학의 한 분야로서, 컴퓨터를 이용하여 유체의 동적인 움직임을 수치해석적 방법으로 계산해 내는 것이다. 전산유체역학은 편미분방정식인 나비에-스토크스 방정식(Naiver-Stokes Equation)을 FDM(Finite Difference Method), FEM(Finite Element Method), FVM(Finite Volume Method) 및 SPH(Smoothed Particle Hydrodynamics) 등의 방법을 통해 이산화함으로써 유체의 유동을 연산한다.
나비에-스토크스 방정식을 계산하는 방법에는 공간 도메인을 작은 공간 격자(Mesh or Grid)로 이산화하여 연산하는 격자 기반 방법과 유체를 다수의 입자의 집합으로 표현하는 입자 기반 방법이 있다.
입자 기반 방법은 해석 대상을 격자로 표현하는 대신 입자로 표현함으로써, 자연 현상이나 물리 현상에 대한 보다 자연스러운 시뮬레이션이 가능하다. 입자 기반 방법에는 SPH(Smoothed Particle Hydrodynamics), MPS(Moving Particle Semi-implicit), LBM(Lattice Boltzmann Method) 등이 있다.
입자 기반 방법 중 하나인 SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석은, 격자 기반 방법과 달리 격자를 생성하는 단계가 생략되므로 해석의 결과물을 비교적 빠르게 시뮬레이션할 수 있다.
또한, SPH 기반의 유체 해석은 격자를 생성하지 않고 입자를 이용하여 해석하므로, 액체와 기체의 계면과 같은 자유 표면의 해석을 비교적 용이하게 수행할 수 있다.
또한, SPH 기반의 유체 해석은 기체, 액체, 고체 중 두 개 이상을 포함하는 다상 유동의 해석을 비교적 정확하게 수행할 수 있다.
이러한 장점들로 인해 유체의 유동을 시뮬레이션하는데 있어 최근 SPH가 많이 이용되고 있다.
다만, 복수의 프로세서를 이용하여 시뮬레이션하는 경우에 각 프로세서를 효율적으로 이용하기 위해서는 복수의 프로세서 간에 입자에 관한 정보를 교환하는 과정이 필요하다.
한편, 한국등록특허 제1700829호는 셀 단위로 각 입자들의 이웃 입자를 탐색하는 구성 및 여러 개의 연산장치에 셀을 분배하는 구성을 개시하고 있다.
인접 입자를 탐색할 수 있는 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
복수의 프로세서를 이용하는 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션 장치에 있어서, 유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받는 입력부, 상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하고, 상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하는 공간 형성부, 상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하는 입자 탐색부 및 상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하고, 상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하는 유동 데이터 계산부를 포함하는 유체 해석 시뮬레이션 장치를 제공할 수 있다.
일 실시예에서, 상기 입자 탐색부는, 상기 복수의 입자의 위치 정보 및 상기 셀 인덱스에 기초하여 상기 입자 참고 정보를 생성하는 입자 정보 생성부 및 상기 셀 인덱스, 각 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성된 포함 정보를 포함하는 상기 셀 참고 정보를 생성하는 셀 정보 생성부를 포함할 수 있다.
일 실시예에서, 상기 셀 참고 정보는 각 셀 인덱스 이전의 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성된 누적 정보를 더 포함할 수 있다.
일 실시예에서, 상기 입자 정보 생성부는 상기 셀 인덱스를 기준으로 상기 입자 참고 정보를 오름차순 정렬할 수 있다.
일 실시예에서, 상기 입자 탐색부는 상기 대상 입자가 위치하는 셀에 대응하는 셀 인덱스에 기초하여 이웃 셀을 탐색하고, 상기 셀 참고 정보에 포함된 상기 이웃 셀에 대응하는 포함 정보 및 누적 정보에 기초하여 상기 이웃 입자를 탐색할 수 있다.
일 실시예에서, 상기 입자 탐색부는 상기 이웃 셀에 대응하는 누적 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 제 1 메모리 위치를 추적할 수 있다.
일 실시예에서, 상기 입자 탐색부는 상기 이웃 셀에 대응하는 포함 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 복수의 제 2 메모리 위치를 추적할 수 있다.
본 발명의 다른 실시예는, SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션 방법에 있어서, 유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받는 단계, 상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하는 단계, 상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하는 단계, 상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하는 단계, 상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하는 단계 및 상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하는 단계를 포함하는 유체 해석 시뮬레이션 방법을 제공할 수 있다.
본 발명의 다른 실시예는, SPH(Smoothed-Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션을 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받고, 상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하고, 상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하고, 상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하고, 상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하고, 상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 이웃 입자를 빠르게 탐색하고, 복수의 프로세서 간에 정보를 효율적으로 교환할 수 있는 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 복수의 프로세서를 이용하여 복잡한 구조물, 넓은 범위의 공간 등에 대한 유체 해석 시뮬레이션을 수행하는 시간을 단축할 수 있다.
또한, 복수의 프로세서를 이용하여 유체의 움직임을 효과적으로 예측함으로써, 다양한 기술분야에 응용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 복수의 프로세서를 이용한 유체 해석 시뮬레이션 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따라 입자 참고 정보 및 셀 참고 정보를 생성하는 과정을 예시적으로 나타낸다.
도 4는 본 발명의 일 실시예에 따라 이웃 입자를 탐색하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따라 복수의 프로세서 각각에 의해 생성된 입자 참고 정보 및 셀 참고 정보를 예시적으로 나타낸다.
도 6은 본 발명의 일 실시예에 따라 통합 셀 참고 정보 및 통합 입자 참고 정보를 생성하는 과정을 예시적으로 나타낸다.
도 7은 본 발명의 일 실시예에 따라 복수의 프로세서가 입자를 서로 교환하는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라 복수의 프로세서가 입자를 서로 교환하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 복수의 프로세서를 이용한 유체 해석 시뮬레이션 장치의 구성도이다. 도 1은 유체 해석 시뮬레이션 장치가 포함하는 복수의 프로세서를 예시적으로 도시한다. 도 1을 참조하면, 유체 해석 시뮬레이션 장치(100)는 제 1 프로세서(110), 제 2 프로세서(120) 및 제 3 프로세서(130)를 포함할 수 있다. 다만, 유체 해석 시뮬레이션 장치(100)가 포함할 수 있는 프로세서의 수는 도 1에 도시된 경우보다 더 적거나, 또는 더 많을 수 있다.
유체 해석 시뮬레이션 장치(100)는 서버, 데스크탑, 노트북, 키오스크(KIOSK) 및 스마트폰(smartphone), 태블릿 PC를 포함할 수 있다. 다만, 유체 해석 시뮬레이션 장치(100)는 앞서 예시된 것들로 한정 해석되는 것은 아니다. 즉, 유체 해석 시뮬레이션 장치(100)는 후술하는 SPH 기반의 유체 해석 시뮬레이션 방법을 수행하는 프로세서를 탑재한 모든 장치를 포함할 수 있다.
유체 해석 시뮬레이션 장치(100)는 유체의 3차원 유동해석을 수행한다. 즉, 유체 해석 시뮬레이션 장치(100)는 3차원 시뮬레이션 영역 및 3차원 시뮬레이션 영역에 위치하는 복수의 입자를 모델링하고, 복수의 입자의 3차원 시뮬레이션 영역 내에서의 유동을 해석한다. 다만, 본원에서는 설명의 편의를 위해 시뮬레이션 영역 및 입자를 2차원으로 표현하여 설명한다.
유체 해석 시뮬레이션 장치(100)는 SPH(Smoothed Particle Hydrodynamics) 기반으로 유체를 해석하기 위한 시뮬레이션을 수행할 수 있다. SPH(Smoothed Particle Hydrodynamics)는 전산유체역학(Computational Fluid Dynamics, CFD)에서 사용될 수 있는 입자 방식의 유체 해석 기법의 하나이다. SPH는 유체의 움직임을 시뮬레이션하기 위하여, 해석 대상인 유체를 하나 이상의 입자로 표현할 수 있다. SPH는 각 입자를 추적하면서 입자가 가지는 물리량을 계산할 수 있고, 계산 결과에 기초하여 유체 해석 시뮬레이션을 수행할 수 있다.
제 1 프로세서(110), 제 2 프로세서(120) 및 제 3 프로세서(130)는 각각이 독립된 연산 작업을 수행할 수 있는 정보 처리 장치일 수 있다. 제 1 프로세서(110), 제 2 프로세서(120) 및 제 3 프로세서(130)의 일방은 다른 일방으로 정보를 전송하거나, 다른 일방으로부터 정보를 수신할 수 있다. 일 실시예에서, 제 1 프로세서(110) 및 제 2 프로세서(120)는 GPU(Graphics Processing Unit)이고, 제 3 프로세서(130)는 CPU(Central Processing Unit)일 수 있다.
도 2를 참조하면, 유체 해석 시뮬레이션 장치(100)는 입력부(210), 공간 형성부(220), 입자 탐색부(230), 셀 관리부(240), 입자 관리부(250), 입자 교환 수행부(260) 및 유동 데이터 계산부(270)를 포함할 수 있다.
일 실시예에서, 제 1 프로세서(110) 및 제 2 프로세서(120)의 각각은 공간 형성부(220), 입자 탐색부(230), 입자 교환 수행부(260) 및 유동 데이터 계산부(270)를 포함하고, 제 3 프로세서(130)는 입력부(210), 셀 관리부(240) 및 입자 관리부(250)를 포함할 수 있다. 다만, 유체 해석 시뮬레이션 장치(100)가 포함하는 각 프로세서(110, 120, 130)의 구성은 이에 제한되지 않는다.
입력부(210)는 유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받을 수 있다. 예를 들어, 입력부(210)는 사용자 단말과 같은 외부 장치로부터 복수의 입자에 관한 데이터를 입력받을 수 있다.
입력부(210)는 외부 서버와의 통신을 통해 복수의 입자에 관한 데이터를 입력받을 수도 있다. 복수의 입자에 관한 데이터는 유체 해석 시뮬레이션을 수행하기 위하여 필요한 해석 대상에 관한 정보를 포함할 수 있다. 복수의 입자에 관한 데이터는, 각 입자의 물성 정보를 포함할 수 있으며, 예를 들어 각 입자의 입자 반경, 질량, 밀도, 점성, 속도, 가속도 및 위치 중 적어도 하나를 포함할 수 있다.
유체 해석 시뮬레이션 장치(100)는 모델링부(미도시)를 더 포함할 수 있다. 모델링부는 복수의 입자가 위치하는 구조물 모델을 생성할 수 있다. 모델링부는 예를 들어, 복수의 다각형으로 구성되는 메시 기반의 구조물 모델을 생성할 수 있다. 모델링부는 각 입자의 위치(중심 좌표)와 입자 반경에 기초하여 복수의 입자를 생성할 수 있다. 구조물 모델은 예를 들어, 복수의 삼각형으로 구성되는 메시를 기반으로 생성될 수도 있다.
공간 형성부(220)는 복수의 입자가 존재하는 공간을 복수의 셀로 구획할 수 있다. 공간 형성부(220)는 복수의 입자가 존재하는 공간에서의 셀의 위치에 기초하여 셀 인덱스를 생성할 수 있다.
도 3a를 참조하면, 공간 형성부(220)는 복수의 입자(10)가 존재하는 공간을 복수의 셀(20)로 구획할 수 있다. 공간 형성부(220)는 입자(10)의 반경에 기초하여 셀(20)의 크기를 결정할 수 있다. 공간 형성부(220)는 복수의 셀(20) 각각에 부여하는 고유한 번호인, 셀 인덱스(30)를 생성할 수 있다. 예를 들어, 복수의 입자(10)가 존재하는 공간이 아홉 개의 셀(20)로 구획된 경우에, 공간에서의 셀(20)의 위치에 기초하여 각 셀(20)에 대하여 번호 0 내지 8 중 하나를 순서대로 부여하여, 셀 인덱스(30)를 생성할 수 있다.
공간 형성부(220)는 복수의 입자 각각에 부여하는 고유한 번호인, 입자 인덱스를 생성할 수 있다. 다시 도 3a를 참조하면, 여덟 개의 입자(10)에 관한 데이터를 입력받은 경우에 공간 형성부(220)는 예를 들어, 각 입자(10)에 대하여 번호 0 내지 7 중 하나를 순서대로 부여하여 입자 인덱스를 생성할 수 있다.
다른 실시예에서, 입자 인덱스는 입력부(210)가 입력받는 복수의 입자에 관한 데이터에 포함되어 있을 수 있다.
입자 탐색부(230)는 복수의 입자가 존재하는 공간에서 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색할 수 있다. 입자 탐색부(230)는 입자 정보 생성부(미도시) 및 셀 정보 생성부(미도시)를 포함할 수 있다.
입자 정보 생성부는 복수의 입자에 관한 입자 참고 정보를 생성할 수 있다. 입자 정보 생성부는 입자 참고 정보를 생성하기 전에, 복수의 입자의 개수에 기초하여 메모리를 확보할 수 있다.
입자 정보 생성부는 복수의 입자의 위치 정보 및 셀 인덱스에 기초하여 입자 참고 정보를 생성할 수 있다. 입자 참고 정보는 예를 들어, 입자 인덱스 및 이에 대응하는 입자가 포함되는 셀 인덱스를 포함할 수 있다.
도 3a 및 도 3b는 입자 참고 정보를 생성하는 과정을 설명하기 위한 도면이다. 도 3b에 도시된 바와 같이, 입자 정보 생성부는 입자 참고 정보를 생성하기 전에, 복수의 입자의 개수에 해당하는, 8개의 정보를 저장할 수 있는 메모리(310)를 확보할 수 있다.
도 3b를 참조하면, 입자 정보 생성부는 입자 인덱스(311) 및 이에 대응하는 입자가 포함되는 셀 인덱스(312)를 포함하는 입자 참고 정보를 생성할 수 있다. 예를 들어, 입자 정보 생성부는 입자 인덱스인 '3' 및 이에 대응하는 입자가 포함되는 셀 인덱스인 '7'을 포함하는 입자 참고 정보를 생성할 수 있다.
입자 정보 생성부는 셀 인덱스를 기준으로 입자 참고 정보를 오름차순 정렬할 수 있다. 도 3c를 참조하면, 입자 정보 생성부는 메모리(310)에 저장된 복수의 입자 각각에 대한 입자 참고 정보를, 0 및 1 이상의 셀 인덱스(312)를 기준으로 오름차순 정렬할 수 있다.
셀 정보 생성부는 복수의 셀에 관한 셀 참고 정보를 생성할 수 있다. 셀 참고 정보는 포함 정보 및 누적 정보를 포함할 수 있다.
셀 정보 생성부는 셀 참고 정보를 생성하기 전에, 복수의 셀의 개수에 기초하여 메모리를 확보할 수 있다. 예를 들어, 셀 정보 생성부는 셀의 총 개수에 해당하는 정보를 저장할 수 있는 메모리를 확보할 수 있다. 하나의 셀에 대응하는 셀 참고 정보는, 한 개의 정보를 저장하는 메모리를 이용할 수 있다.
셀 정보 생성부는 셀 인덱스 및 각 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 포함 정보를 생성할 수 있다. 도 3a 및 도 3d를 참조하면, 셀 정보 생성부는 셀의 총 개수인 9개의 정보를 저장할 수 있는 메모리를 확보할 수 있다. 셀 정보 생성부는 각 셀 인덱스(320)에 대응하는 셀에 포함되는 입자의 개수에 기초하여 포함 정보(321)를 생성할 수 있다. 예를 들어, 셀 인덱스 3에 대응하는 셀에 포함되는 입자는 두 개이므로, 포함 정보는 '2'로 생성될 수 있다.
셀 정보 생성부는 각 셀 인덱스 이전의 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 누적 정보를 생성할 수 있다. 다시 도 3a 및 도 3d를 참조하면, 셀 정보 생성부는 각 셀 인덱스(320) 이전의 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 누적 정보(322)를 생성할 수 있다. 예를 들어, 셀 인덱스 2 이전의 셀 인덱스, 즉 셀 인덱스 0에 대응되는 셀에 포함되는 입자는 한 개이고, 셀 인덱스 1에 대응되는 셀에 포함되는 입자는 한 개이므로, 셀 인덱스 2의 누적 정보는 '2'로 생성될 수 있다.
입자 탐색부(230)는 상술한 입자 참고 정보 및 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색할 수 있다. 이웃 입자의 탐색은 후술할 복수의 프로세서 간의 입자를 교환하는 데에 이용될 수 있다. 또한, 이웃 입자의 탐색은 후술할 유동 데이터의 계산에 이용될 수 있다.
입자 탐색부(230)는 대상 입자가 위치하는 셀에 대응하는 셀 인덱스에 기초하여 이웃 셀을 탐색할 수 있다. 다시 도 3a를 참조하면, 예를 들어, 입자 인덱스가 1인 대상 입자에 대하여 이웃 셀은, 대상 입자가 위치하는 셀의 셀 인덱스인 4에 기초하여, 셀 인덱스 0, 1, 2, 3, 5, 6, 7 및 8에 대응하는 셀로 도출될 수 있다.
입자 탐색부(230)는 대상 입자가 위치하는 셀에 대응하는 셀 참고 정보에 기초하여 이웃 입자를 탐색할 수 있다.
입자 탐색부(230)는 이웃 셀에 대응하는 셀 참고 정보에 기초하여 이웃 입자를 탐색할 수 있다. 입자 탐색부(230)는 이웃 셀의 포함 정보 및 누적 정보에 기초하여 이웃 입자를 탐색할 수 있다. 예를 들어, 대상 입자에 대하여 복수의 이웃 셀이 도출된 경우에, 각 이웃 셀의 포함 정보 및 누적 정보에 기초하여 이웃 입자를 탐색할 수 있다.
입자 탐색부(230)는 이웃 셀에 대응하는 누적 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 제 1 메모리 위치를 추적할 수 있다. 입자 탐색부(230)는 이웃 셀에 대응하는 포함 정보에 기초하여 이웃 입자에 대응하는 입자 참고 정보의 복수의 제 2 메모리 위치를 추적할 수 있다.
도 4는 본 발명의 일 실시예에 따라 이웃 입자를 탐색하는 방법을 설명하기 위한 도면이다. 도 4a 및 도 4b는 입자 인덱스가 1인 대상 입자의 이웃 입자를 탐색하는 과정을 예시적으로 나타낸다. 상술한 바와 같은 방법으로, 입자 인덱스가 1인 대상 입자의 이웃 셀은, 대상 입자가 위치하는 셀의 셀 인덱스인 4에 기초하여, 셀 인덱스 0, 1, 2, 3, 5, 6, 7 및 8에 대응하는 셀로 도출될 수 있다. 입자 탐색부(230)는 대상 입자가 위치하는 셀 및 도출된 이웃 셀 각각에 대하여, 대응하는 셀 참고 정보에 기초하여 대상 입자의 이웃 입자를 탐색할 수 있다.
도 4a를 참조하면, 유체 해석 시뮬레이션 장치(100)는 대상 입자가 위치하는 셀(셀 인덱스 4)에 대응하는 셀 참고 정보에 기초하여 동일 셀 내의 이웃 입자를 탐색할 수 있다. 유체 해석 시뮬레이션 장치(100)는 셀 인덱스가 4인 셀에 대응하는 누적 정보 4를 추출할 수 있다. 이로부터, 유체 해석 시뮬레이션 장치(100)는 동일 셀 내의 이웃 입자에 대응하는 입자 참고 정보의 제 1 메모리 위치가 '4'임을 추적할 수 있다.
또한, 유체 해석 시뮬레이션 장치(100)는 셀 인덱스가 4인 셀에 대응하는 포함 정보 1을 추출할 수 있다. 이로부터, 유체 해석 시뮬레이션 장치(100)는 동일 셀 내의 이웃 입자에 대응하는 입자 참고 정보의 제 2 메모리 위치를 추적할 수 있다. 제 2 메모리 위치는 제 1 메모리 위치에 대응하는 입자를 포함하여 한 개의 입자를 포함할 수 있는 복수의 추가 메모리의 위치를 의미한다. 도 4a에서는 포함 정보가 '1'이므로 셀 인덱스가 4인 셀에 대상 입자만이 위치하고, 이로 인해 제 2 메모리 위치는 추적되지 않는다.
이를 통하여, 유체 해석 시뮬레이션 장치(100)는 추적된 제 1 메모리 위치 및 제 2 메모리 위치에 기초하여 셀 인덱스가 4인 셀에 포함되는 입자 인덱스 1을 추출할 수 있다. 즉, 유체 해석 시뮬레이션 장치(100)는 셀 인덱스가 4인 이웃 셀에 포함되는 입자가 자기 자신밖에 없음을 확인할 수 있다.
도 4b를 참조하면, 유체 해석 시뮬레이션 장치(100)는 대상 입자의 이웃 셀 중에서, 셀 인덱스(320)가 3인 셀에 대응하는 셀 참고 정보에 기초하여 이웃 셀 내의 이웃 입자를 탐색할 수 있다. 유체 해석 시뮬레이션 장치(100)는 셀 인덱스가 3인 이웃 셀에 대응하는 누적 정보 2를 추출할 수 있다. 여기서, 누적 정보 2는 셀 인덱스 3 이전의 셀 인덱스(즉, 셀 인덱스 0 내지 2)에 대응되는 복수의 셀에 2개의 입자가 존재함을 나타낸다. 이로부터, 유체 해석 시뮬레이션 장치(100)는 이웃 셀 내의 이웃 입자에 대응하는 입자 참고 정보의 제 1 메모리 위치를 추적할 수 있다.
즉, 유체 해석 시뮬레이션 장치(100)는 누적 정보 2에 기초하여 셀 인덱스 3에 존재하는 세 번째 입자의 정보를 포함하는 메모리 2의 위치(즉, 제 1 메모리 위치)를 확인하고, 메모리 2로부터 이웃 입자의 입자 인덱스 4를 추출할 수 있다.
또한, 유체 해석 시뮬레이션 장치(100)는 셀 인덱스가 3인 이웃 셀에 대응하는 포함 정보 2를 추출할 수 있다. 여기서, 포함 정보 2는 셀 인덱스가 3에 2개의 입자가 존재함을 나타낸다. 이로부터, 유체 해석 시뮬레이션 장치(100)는 이웃 셀 내의 이웃 입자에 대응하는 입자 참고 정보의 제 2 메모리 위치를 추적할 수 있다. 제 2 메모리 위치는 제 1 메모리 위치에 대응하는 입자를 포함하여 두 개의 입자를 포함할 수 있는 복수의 추가 메모리의 위치를 의미한다. 즉, 유체 해석 시뮬레이션 장치(100)는 포함 정보 2에 기초하여 셀 인덱스 3에 존재하는 네 번째 입자의 정보를 포함하는 메모리 3의 위치(즉, 제 2 메모리 위치)를 확인하고, 메모리 3으로부터 이웃 입자의 입자 인덱스 5를 추출할 수 있다.
이를 통하여, 유체 해석 시뮬레이션 장치(100)는 추적된 제 1 메모리 위치 및 제 2 메모리 위치에 기초하여 셀 인덱스가 3인 이웃 셀에 포함되는 입자 인덱스 4 및 5를 추출할 수 있다. 즉, 유체 해석 시뮬레이션 장치(100)는 셀 인덱스가 3인 이웃 셀에 포함되는 입자가 입자 인덱스 4 및 5에 대응하는 입자임을 확인할 수 있다.
유체 해석 시뮬레이션 장치(100)는 대상 입자가 위치하는 셀 및 이와 이웃하는 모든 셀, 즉 셀 인덱스 0 내지 8에 대하여 상술한 과정을 반복하여 모든 이웃 입자를 탐색할 수 있다.
상술한 바와 같이, 유체 해석 시뮬레이션 장치(100)는 대상 입자의 이웃 입자를 탐색함에 있어서 포함 정보 및 누적 정보를 활용할 수 있다. 즉, 입자 참고 정보는 셀 인덱스를 기준으로 오름차순으로 정렬되어 있으며, 누적 정보는 각 셀 인덱스 이전의 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성되기 때문에, 유체 해석 시뮬레이션 장치(100)는 포함 정보 및 누적 정보를 활용하여 대상 입자의 이웃 입자를 용이하게 확인할 수 있다.
보다 구체적으로, 유체 해석 시뮬레이션 장치(100)는 대상 입자의 이웃 입자를 탐색하기 위해 입자의 정보를 포함하는 모든 메모리를 조회할 필요 없이 대상 입자가 위치하는 셀의 이웃 셀에 대응하는 포함 정보 및 누적 정보를 이용하여 이웃 입자의 정보를 포함하는 메모리를 알 수 있고, 해당 메모리만을 조회함으로써 이웃 입자의 정보를 확인할 수 있다. 이로 인해 유체 해석 시뮬레이션 장치(100)의 처리 속도를 대폭 향상시킬 수 있다.
복수의 입자가 존재하는 공간은 제 1 공간 및 제 2 공간을 포함할 수 있다. 다시 도 1을 참조하면, 유체 해석 시뮬레이션 장치(100)는 예를 들어, 제 1 프로세서(110)에 제 1 공간을 할당하고 제 2 프로세서(120)에 제 2 공간을 할당할 수 있다.
상술한 바와 같이, 제 1 프로세서(110) 및 제 2 프로세서(120)의 각각은 공간 형성부(220), 입자 탐색부(230), 입자 교환 수행부(260) 및 유동 데이터 계산부(270)를 포함할 수 있다.
이에 의하여 제 1 프로세서(110)의 공간 형성부(220)는 제 1 공간을 복수의 셀로 구획하고, 제 1 프로세서(110)의 셀 정보 생성부는 제 1 공간이 구획된 복수의 셀의 정보에 기초하여 제 1 셀 참고 정보를 생성할 수 있다. 제 1 프로세서(110)의 입자 정보 생성부는 제 1 공간에 포함되어 있는 입자의 정보에 기초하여 제 1 입자 참고 정보를 생성할 수 있다.
마찬가지로, 제 2 프로세서(120)의 공간 형성부(220)는 제 2 공간을 복수의 셀로 구획하고, 제 2 프로세서(120)의 셀 정보 생성부는 제 2 공간이 구획된 복수의 셀의 정보에 기초하여 제 2 셀 참고 정보를 생성할 수 있다. 제 2 프로세서(120) 의 입자 정보 생성부는 제 2 공간에 포함되어 있는 입자의 정보에 기초하여 제 2 입자 참고 정보를 생성할 수 있다.
도 5는 본 발명의 일 실시예에 따라 복수의 프로세서 각각에 의해 생성된 입자 참고 정보 및 셀 참고 정보를 예시적으로 나타낸다.
도 5a 및 도 5b를 참조하면, 제 1 프로세서(110)에 의해 제 1 공간에 포함되는 셀 인덱스 0 내지 11에 대응하는 셀의 정보에 기초하여 생성된 제 1 셀 참고 정보(520 내지 522)가 도시된다. 또한, 제 1 프로세서(110)에 의해 제 1 공간에 포함되는 입자 P0 1 내지 P0 10의 정보에 기초하여 생성된 제 1 입자 참고 정보(510 내지 513)가 도시된다.
도 5a 및 도 5c를 참조하면, 제 2 프로세서(120)에 의해 제 2 공간에 포함되는 셀 인덱스 11 내지 24에 대응하는 셀의 정보에 기초하여 생성된 제 2 셀 참고 정보(540 내지 542)가 도시된다. 또한, 제 2 프로세서(120)에 의해 제 2 공간에 포함되는 입자 P1 1 내지 P1 10의 정보에 기초하여 생성된 제 2 입자 참고 정보(530 내지 533)가 도시된다.
다시 도 1을 참조하면, 유체 해석 시뮬레이션 장치(100)는 제 3 프로세서(130)를 더 포함할 수 있다. 상술한 바와 같이, 제 3 프로세서(130)는 입력부(210), 셀 관리부(240) 및 입자 관리부(250)를 포함할 수 있다.
제 3 프로세서(130)의 셀 관리부(240)는 통합 셀 정보 생성부(미도시)를 포함할 수 있다. 제 3 프로세서(130)의 통합 셀 정보 생성부는 제 1 셀 참고 정보 및 제 2 셀 참고 정보에 기초하여 통합 셀 참고 정보를 생성할 수 있다.
도 5a 및 도 6a를 참조하면, 제 3 프로세서(130)의 통합 셀 정보 생성부는 제 1 프로세서(110)에 의해 생성된 제 1 셀 참고 정보(도 5b의 520 내지 522) 및 제 2 프로세서(120)에 의해 생성된 제 2 셀 참고 정보(도 5c의 540 내지 542)에 기초하여 통합 셀 참고 정보(610 내지 612)를 생성할 수 있다. 예를 들어, 제 3 프로세서(130)의 통합 셀 정보 생성부는 동일한 셀 인덱스에 대응하는 셀의 포함 정보를 합하고, 동일한 셀 인덱스에 대응하는 셀의 누적 정보를 각각 합함으로써, 통합 셀 참고 정보를 생성할 수 있다.
제 3 프로세서(130)의 입자 관리부(250)는 통합 입자 정보 생성부(미도시)를 포함할 수 있다. 제 3 프로세서(130)의 통합 입자 정보 생성부는 제 1 입자 참고 정보 및 제 2 입자 참고 정보에 기초하여 통합 입자 참고 정보를 생성할 수 있다.
도 5a 및 도 6b를 참조하면, 제 3 프로세서(130)의 통합 입자 정보 생성부는 제 1 프로세서(110)에 의해 생성된 제 1 입자 참고 정보(도 5b의 510 내지 513) 및 제 2 프로세서(120)에 의해 생성된 제 2 입자 참고 정보(도 5c의 530 내지 533)에 기초하여 통합 입자 참고 정보(620 내지 623)를 생성할 수 있다. 예를 들어, 제 3 프로세서(130)의 통합 입자 정보 생성부는 제 1 입자 참고 정보 및 제 2 입자 참고 정보를 병렬적으로 저장함으로써, 통합 입자 참고 정보를 생성할 수 있다.
제 3 프로세서(130)의 통합 입자 정보 생성부는 셀 인덱스를 기준으로 통합 입자 참고 정보를 오름차순 정렬할 수 있다. 도 6c를 참조하면, 통합 입자 정보 생성부는 메모리(620)에 저장된 복수의 입자 각각에 대한 통합 입자 참고 정보를, 0 및 1 이상의 셀 인덱스(622)를 기준으로 오름차순 정렬할 수 있다.
제 3 프로세서(130)의 셀 관리부(240)는 영역 할당부(미도시)를 더 포함할 수 있다. 제 3 프로세서(130)의 영역 할당부는 통합 셀 참고 정보에 기초하여 제 1 공간에 위치한 입자의 개수 및 제 2 공간에 위치한 입자의 개수를 도출할 수 있다. 제 3 프로세서(130)의 영역 할당부는 제 1 공간에 위치한 입자의 개수 및 제 2 공간에 위치한 입자의 개수에 기초하여, 제 1 프로세서(110)로 제 1 공간을 할당하고 제 2 프로세서(120)로 제 2 공간을 할당할 수 있다.
다시 도 6a를 참조하면, 제 3 프로세서(130)의 영역 할당부는 통합 셀 참고 정보의 누적 정보(612)에 기초하여, 복수의 입자의 개수에 기초하여 각 프로세서에 공간을 할당할 수 있다.
제 3 프로세서(130)의 입자 관리부(250)는 입자 교환부(미도시)를 더 포함할 수 있다. 제 3 프로세서(130)의 입자 교환부는 제 2 셀 참고 정보에 기초하여 교환 대상 입자를 확인할 수 있다. 즉, 제 3 프로세서(130)의 입자 교환부는 각 프로세서에 할당된 공간을 기준으로 교환 대상 입자를 확인할 수 있다.
제 3 프로세서(130)의 입자 교환부는 제 2 셀 참고 정보의 누적 정보에 기초하여 제 2 입자 참고 정보로부터 교환 대상 입자의 정보를 추출할 수 있다. 제 3 프로세서(130)의 입자 교환부는 교환 대상 입자의 정보에 기초하여 교환 대상 입자의 상기 제 1 프로세서로의 이동을 지시할 수 있다.
도 5b 및 도 7a를 참조하면, 제 3 프로세서(130)의 입자 교환부는 제 1 셀 참고 정보(520 내지 522)로부터 교환 대상이 아닌 입자가 존재하는 셀에 대한 메모리 정보(701) 및 교환 대상인 입자가 존재하는 셀에 대한 메모리 정보(702)를 추출할 수 있다. 제 3 프로세서(130)의 입자 교환부는 메모리 정보(701)에 기초하여 교환 대상인 입자를 확인할 수 있다. 이때, 교환 대상인 입자는 제 1 프로세서(110)가 제 1 입자 참고 정보(510 내지 513)를 통해 관리하는 입자로서 제 2 프로세서(120)에 할당된 셀에 위치하는 입자이다. 도 7a에는 교환 대상 입자가 존재하지 않는 경우가 도시되어 있다.
도 5c 및 도 7b를 참조하면, 제 3 프로세서(130)의 입자 교환부는 제 2 셀 참고 정보(540 내지 542)로부터 교환 대상인 입자가 존재하는 셀에 대한 메모리 정보(711) 및 교환 대상이 아닌 입자가 존재하는 셀에 대한 메모리 정보(712)를 추출할 수 있다. 제 3 프로세서(130)의 입자 교환부는 메모리 정보(711)에 기초하여 교환 대상인 입자를 확인할 수 있다. 이때, 교환 대상인 입자는 제 2 프로세서(120)가 제 2 입자 참고 정보(530 내지 533)를 통해 관리하는 입자로서 제 1 프로세서(110)에 할당된 셀에 위치하는 입자이다. 도 7b에는 셀 인덱스 11에 대응하는 셀에 교환 대상 입자가 존재하는 경우가 도시되어 있다.
도 8a를 참조하면, 제 3 프로세서(130)의 입자 교환부는 메모리 정보(711)에 기초하여, 제 2 셀 참고 정보(540 내지 542)로부터 제 2 입자 참고 정보(530 내지 533)의 메모리 위치를 추적할 수 있다. 제 3 프로세서(130)의 입자 교환부는 제 2 입자 참고 정보(540 내지 542)로부터 교환 대상 입자의 입자 인덱스 9를 추출할 수 있다. 예를 들어, 제 3 프로세서(130)의 입자 교환부는 제 2 입자 참고 정보(540 내지 542)의 교환 대상 입자의 입자가 존재하는 셀 인덱스 '11'에 대응하는 누적 정보 '0'로부터 교환 대상 입자의 입자가 존재하는 제 2 입자 참고 정보(530 내지 533)의 제 1 메모리 위치가 '0'임을 추적할 수 있다. 제 3 프로세서(130)의 입자 교환부는 셀 인덱스 '11'에 대응하는 포함 정보 '1'로부터 교환 대상 입자의 입자가 존재하는 제 2 입자 참고 정보(530 내지 533)의 제 2 메모리 위치를 추적할 수 있다. 도 8a에서는 포함 정보가 '1'이므로 셀 인덱스가 11인 셀에 대상 입자만이 위치하고, 이로 인해 제 2 메모리 위치는 추적되지 않는다.
제 3 프로세서(130)의 입자 교환부는 교환 대상 입자의 정보에 기초하여 교환 대상 입자의 제 1 프로세서(110)로의 이동을 지시할 수 있다. 예를 들어, 제 3 프로세서(130)의 입자 교환부는 제 2 입자 참고 정보(530 내지 533)의 제 1 메모리 위치에 대응하는 메모리로부터 교환 대상 입자의 입자 인덱스 9를 확인하고, 제 2 프로세서(120)로 입자 인덱스 9에 대응하는 입자에 관한 정보를 제 1 프로세서(110)로 이동할 것을 지시할 수 있다.
제 1 프로세서(110)의 입자 교환 수행부(260)는 제 2 프로세서(120)로부터 교환 대상 입자에 관한 데이터를 전달받을 수 있다.
제 1 프로세서(110)의 입자 정보 생성부는 교환 대상 입자의 정보에 기초하여 제 1 입자 참고 정보를 업데이트할 수 있다. 제 1 프로세서(110)의 셀 정보 생성부는 교환 대상 입자의 정보에 기초하여 제 1 셀 참고 정보를 업데이트할 수 있다.
도 8a 및 도 8b를 참조하면, 제 1 프로세서(110)의 입자 정보 생성부는 제 2 프로세서(120)로부터 교환 대상 입자인 입자 인덱스 9에 대응하는 입자에 관한 데이터를 전달받고, 제 1 입자 참고 정보(510 내지 513)를 업데이트할 수 있다. 제 1 프로세서(110) 의 입자 정보 생성부는 교환된 입자에 대하여 새로 부여한 입자 인덱스인 11, 교환된 입자가 포함되는 셀의 셀 인덱스 11을 포함하도록 제 1 입자 참고 정보(510 내지 513)를 업데이트할 수 있다. 제 1 프로세서(110)의 셀 정보 생성부는 입자 인덱스 11에 대응하는 입자가 셀 인덱스 11에 대응하는 셀에 포함됨으로써 제 1 셀 참고 정보의 포함 정보 및 누적 정보를 업데이트할 수 있다.
제 2 프로세서(120)의 입자 정보 생성부는 제 2 입자 참고 정보에서 교환 대상 입자인 입자 인덱스 9에 대응하는 입자를 삭제함으로써 제 2 입자 참고 정보를 업데이트할 수 있다. 제 2 프로세서(120)의 입자 정보 생성부는 제 2 입자 참고 정보에서 교환 대상 입자인 입자 인덱스 9에 대응하는 입자가 삭제됨으로써 제 2 셀 참고 정보의 포함 정보 및 누적 정보를 업데이트할 수 있다.
유동 데이터 계산부(270)는 SPH 알고리즘을 이용하여 각 입자와 이웃 입자 간의 충돌 또는 각 입자와 구조물 모델을 구성하는 다각형 간의 충돌로 인해 발생하는 유동 데이터를 계산하고, 유동 데이터에 기초하여 유체 해석 시뮬레이션을 수행할 수 있다.
SPH 알고리즘은 각 입자의 물성 정보(예컨대, 질량, 속도, 점성 및 가속도)를 이용하여 각 입자의 유동을 연산하는 것으로서, 각 입자의 물성 정보는 각 입자의 위치를 중심으로 한 방사형 베이시스 함수와 같은 커널 함수(Kernel Function) 세트를 사용하여 보간된다.
이러한 방식으로 각 입자의 물성 정보를 보간하면 나비에-스토크스 방정식과 같은 표준 방정식을 사용하여 유체의 동역학을 계산하는데 사용할 수 있는 압력 필드 및 점성 필드와 같은 연속 필드가 생성된다.
예를 들어, 나비에-스토크스 방정식은 유체를 다음과 같이 모델링한다.
Figure 112019129016058-pat00001
수학식 2에서 "v"는 입자의 속도, "ρ"는 입자의 밀도, "p"는 입자에 대한 압력, "g"는 중력, “μ”는 유체의 점성계수를 나타낸다.
한편, SPH 알고리즘에 의하면, 각 입자의 밀도는 수학식 2에 의해 도출된다.
Figure 112019129016058-pat00002
또한, 각 입자의 압력에 의한 힘은 수학식 3에 의해 도출된다.
Figure 112019129016058-pat00003
또한, 각 입자의 점성에 의한 힘은 수학식 4에 의해 도출된다.
Figure 112019129016058-pat00004
유동 데이터 계산부(270)는 SPH 알고리즘을 이용하여 각 입자의 밀도, 압력 및 점성 등의 유동 데이터의 변화값을 연산한다. 예를 들어, 유동 데이터 계산부(270)는 각 입자의 초기 유동 데이터에 기초하여 다음 시간 스텝(제 2 시간 스텝)에서의 각 입자의 유동 데이터를 연산하고, 이에 기초하여 각 입자의 유동을 연산한다.
또한, 유동 데이터 계산부(270)는 제 2 시간 스텝에서의 각 입자의 유동 데이터에 기초하여 그 다음 시간 스텝에서의 각 입자의 유동 데이터를 연산하고, 이에 기초하여 각 입자의 유동을 연산한다.
유동 데이터 계산부(270)는 각 시간 스텝에서의 각 입자의 유동 데이터를 연산하여 각 입자의 유동을 연산함으로써, 유체 해석 시뮬레이션을 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 유체 해석 시뮬레이션 방법의 순서도이다. 도 9에 도시된 유체 해석 시뮬레이션 장치(100)에서 수행되는 유체 해석 시뮬레이션 방법(900)은 도 2에 도시된 실시예에 따라 유체 해석 시뮬레이션 장치(100)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 2에 도시된 실시예에 따른 유체 해석 시뮬레이션 장치(100)에서 수행되는 유체 해석 시뮬레이션을 하는 방법에도 적용된다.
단계 S920에서 유체 해석 시뮬레이션 장치(100)는 복수의 입자에 관한 데이터를 입력받을 수 있다.
단계 S920에서 유체 해석 시뮬레이션 장치(100)는 복수의 입자가 존재하는 공간을 복수의 셀로 구획하고, 셀 인덱스를 생성할 수 있다.
단계 S930에서 유체 해석 시뮬레이션 장치(100)는 셀 참고 정보를 생성할 수 있다.
단계 S940에서 유체 해석 시뮬레이션 장치(100)는 입자 참고 정보를 생성할 수 있다.
단계 S950에서 유체 해석 시뮬레이션 장치(100)는 이웃 입자를 탐색할 수 있다.
단계 S960에서 유체 해석 시뮬레이션 장치(100)는 복수의 입자를 서로 교환할 수 있다.
단계 S970에서 유체 해석 시뮬레이션 장치(100)는 복수의 입자 간의 유동 데이터를 계산하고 유체 시뮬레이션을 수행할 수 있다.
상술한 설명에서, 단계 S920 내지 S970은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 2 내지 도 9를 통해 설명된 유체 해석 시뮬레이션 장치에서 유체 해석 시뮬레이션을 하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 2 내지 도 9를 통해 설명된 유체 해석 시뮬레이션 장치에서 유체 해석 시뮬레이션을 하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 제 1 프로세서
120: 제 2 프로세서
130: 제 3 프로세서
210: 입력부
220: 공간 형성부
230: 입자 탐색부
240: 셀 관리부
250: 입자 관리부
260: 입자 교환 수행부
270: 유동 데이터 계산부

Claims (15)

  1. SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션 장치에 있어서,
    유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받는 입력부;
    상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하고, 상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하는 공간 형성부;
    상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하는 입자 탐색부; 및
    상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하고, 상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하는 유동 데이터 계산부
    를 포함하고,
    상기 입자 탐색부는,
    상기 복수의 입자 각각에 대한 입자 인덱스 및 상기 복수의 입자 각각이 포함되는 셀의 셀 인덱스를 포함하는 상기 입자 참고 정보를 생성하는 입자 정보 생성부를 포함하고,
    상기 입자 정보 생성부는 상기 셀 인덱스를 기준으로 상기 입자 참고 정보를 오름차순 정렬하고,
    상기 입자 탐색부는 상기 셀 참고 정보에 기초하여 상기 오름차순 정렬된 입자 참고 정보의 메모리 위치를 추적하여 상기 적어도 하나의 이웃 입자를 탐색하는 것인, 유체 해석 시뮬레이션 장치.
  2. 제 1 항에 있어서,
    상기 입자 탐색부는,
    상기 셀 인덱스, 각 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성된 포함 정보를 포함하는 상기 셀 참고 정보를 생성하는 셀 정보 생성부
    를 더 포함하는 것인, 유체 해석 시뮬레이션 장치.
  3. 제 2 항에 있어서,
    상기 셀 참고 정보는 각 셀 인덱스 이전의 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성된 누적 정보를 더 포함하는 것인, 유체 해석 시뮬레이션 장치.
  4. 삭제
  5. 제 3 항에 있어서,
    상기 입자 탐색부는 상기 대상 입자가 위치하는 셀에 대응하는 셀 인덱스에 기초하여 이웃 셀을 탐색하고, 상기 셀 참고 정보에 포함된 상기 이웃 셀에 대응하는 포함 정보 및 누적 정보에 기초하여 상기 이웃 입자를 탐색하는 것인, 유체 해석 시뮬레이션 장치.
  6. 제 5 항에 있어서,
    상기 입자 탐색부는 상기 이웃 셀에 대응하는 누적 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 제 1 메모리 위치를 추적하는 것인, 유체 해석 시뮬레이션 장치.
  7. 제 6 항에 있어서,
    상기 입자 탐색부는 상기 이웃 셀에 대응하는 포함 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 복수의 제 2 메모리 위치를 추적하는 것인, 유체 해석 시뮬레이션 장치.
  8. SPH(Smoothed Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션 방법에 있어서,
    유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받는 단계;
    상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하는 단계;
    상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하는 단계;
    상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하는 단계;
    상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하는 단계; 및
    상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하는 단계
    를 포함하고,
    상기 이웃 입자를 탐색하는 단계는,
    상기 복수의 입자 각각에 대한 입자 인덱스 및 상기 복수의 입자 각각이 포함되는 셀의 셀 인덱스를 포함하는 상기 입자 참고 정보를 생성하는 단계;
    상기 셀 인덱스를 기준으로 상기 입자 참고 정보를 오름차순 정렬하는 단계; 및
    상기 셀 참고 정보에 기초하여 상기 오름차순 정렬된 입자 참고 정보의 메모리 위치를 추적하여 상기 적어도 하나의 이웃 입자를 탐색하는 단계를 포함하는 것인, 유체 해석 시뮬레이션 방법.
  9. 제 8 항에 있어서,
    상기 이웃 입자를 탐색하는 단계는,
    상기 셀 인덱스, 각 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성된 포함 정보를 포함하는 상기 셀 참고 정보를 생성하는 단계
    를 더 포함하는 것인, 유체 해석 시뮬레이션 방법.
  10. 제 9 항에 있어서,
    상기 셀 참고 정보는 각 셀 인덱스 이전의 셀 인덱스에 대응되는 셀에 포함되어 있는 입자의 개수에 기초하여 생성된 누적 정보를 더 포함하는 것인, 유체 해석 시뮬레이션 방법.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 이웃 입자를 탐색하는 단계는 상기 대상 입자가 위치하는 셀에 대응하는 셀 인덱스에 기초하여 이웃 셀을 탐색하는 단계; 및
    상기 셀 참고 정보에 포함된 상기 이웃 셀에 대응하는 포함 정보 및 누적 정보에 기초하여 상기 이웃 입자를 탐색하는 단계
    를 포함하는 것인, 유체 해석 시뮬레이션 방법.
  13. 제 12 항에 있어서,
    상기 이웃 입자를 탐색하는 단계는 상기 이웃 셀에 대응하는 누적 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 제 1 메모리 위치를 추적하는 단계를 포함하는 것인, 유체 해석 시뮬레이션 방법.
  14. 제 13 항에 있어서,
    상기 이웃 입자를 탐색하는 단계는 상기 이웃 셀에 대응하는 포함 정보에 기초하여 상기 이웃 입자에 대응하는 입자 참고 정보의 복수의 제 2 메모리 위치를 추적하는 단계를 포함하는 것인, 유체 해석 시뮬레이션 방법.
  15. SPH(Smoothed-Particle Hydrodynamics) 기반의 유체 해석 시뮬레이션을 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    유체 해석 시뮬레이션을 위하여 복수의 입자에 관한 데이터를 입력받고,
    상기 복수의 입자가 존재하는 공간을 복수의 셀로 구획하고,
    상기 복수의 입자가 존재하는 공간에서의 상기 셀의 위치에 기초하여 셀 인덱스를 생성하고,
    상기 복수의 입자에 관한 입자 참고 정보 및 상기 복수의 셀에 관한 셀 참고 정보에 기초하여 대상 입자와 이웃하는 적어도 하나의 이웃 입자를 탐색하고,
    상기 대상 입자와 상기 적어도 하나의 이웃 입자 간의 유동 데이터를 계산하고,
    상기 복수의 입자에 대한 상기 유동 데이터에 기초하여 유체 시뮬레이션을 수행하도록 하는 명령어들의 시퀀스를 포함하고,
    상기 복수의 입자 각각에 대한 입자 인덱스 및 상기 복수의 입자 각각이 포함되는 셀의 셀 인덱스를 포함하는 상기 입자 참고 정보를 생성하고,
    상기 셀 인덱스를 기준으로 상기 입자 참고 정보를 오름차순 정렬하고,
    상기 셀 참고 정보에 기초하여 상기 오름차순 정렬된 입자 참고 정보의 메모리 위치를 추적하여 상기 적어도 하나의 이웃 입자를 탐색하도록 하는 명령어들의 시퀀스를 더 포함하는 것인, 매체에 저장된 컴퓨터 프로그램.
KR1020190166619A 2019-12-13 2019-12-13 Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램 KR102181985B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190166619A KR102181985B1 (ko) 2019-12-13 2019-12-13 Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
US17/784,665 US20230012034A1 (en) 2019-12-13 2019-12-27 Apparatus, method, and computer program for performing sph-based fluid analysis simulation
PCT/KR2019/018582 WO2021117966A1 (ko) 2019-12-13 2019-12-27 Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190166619A KR102181985B1 (ko) 2019-12-13 2019-12-13 Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR102181985B1 true KR102181985B1 (ko) 2020-11-23
KR102181985B9 KR102181985B9 (ko) 2021-09-06

Family

ID=73680123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190166619A KR102181985B1 (ko) 2019-12-13 2019-12-13 Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램

Country Status (3)

Country Link
US (1) US20230012034A1 (ko)
KR (1) KR102181985B1 (ko)
WO (1) WO2021117966A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038424A1 (en) * 2005-08-10 2007-02-15 Simon Schirm Application programming interface for fluid simulations
JP2009069930A (ja) * 2007-09-11 2009-04-02 Prometech Software Inc 粒子法シミュレーションのためのスライスデータ構造、およびスライスデータ構造を利用した粒子法シミュレーションのgpuへの実装方法
KR101267627B1 (ko) * 2011-06-13 2013-05-27 한국과학기술원 멀티 레벨 소용돌이를 위한 sph 유체 시뮬레이션 방법, 시스템 및 이를 위한 기록 매체
KR101355997B1 (ko) * 2011-06-13 2014-01-28 한국과학기술원 Sph 유체를 위한 서브 입자 스케일 난류 시뮬레이션 방법, 시스템 및 이를 위한 기록 매체
KR20150133121A (ko) * 2014-05-19 2015-11-27 한국과학기술원 이웃 탐색 연산 시스템
JP2018136947A (ja) * 2011-11-09 2018-08-30 エクサ コーポレイション 流体流れ及び音響挙動のコンピュータシミュレーション

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038424A1 (en) * 2005-08-10 2007-02-15 Simon Schirm Application programming interface for fluid simulations
JP2009069930A (ja) * 2007-09-11 2009-04-02 Prometech Software Inc 粒子法シミュレーションのためのスライスデータ構造、およびスライスデータ構造を利用した粒子法シミュレーションのgpuへの実装方法
KR101267627B1 (ko) * 2011-06-13 2013-05-27 한국과학기술원 멀티 레벨 소용돌이를 위한 sph 유체 시뮬레이션 방법, 시스템 및 이를 위한 기록 매체
KR101355997B1 (ko) * 2011-06-13 2014-01-28 한국과학기술원 Sph 유체를 위한 서브 입자 스케일 난류 시뮬레이션 방법, 시스템 및 이를 위한 기록 매체
JP2018136947A (ja) * 2011-11-09 2018-08-30 エクサ コーポレイション 流体流れ及び音響挙動のコンピュータシミュレーション
KR20150133121A (ko) * 2014-05-19 2015-11-27 한국과학기술원 이웃 탐색 연산 시스템

Also Published As

Publication number Publication date
WO2021117966A1 (ko) 2021-06-17
US20230012034A1 (en) 2023-01-12
KR102181985B9 (ko) 2021-09-06

Similar Documents

Publication Publication Date Title
Plimpton et al. Direct simulation Monte Carlo on petaflop supercomputers and beyond
Jansson et al. CUBE: A scalable framework for large-scale industrial simulations
Burstedde et al. Extreme-scale AMR
KR102181989B1 (ko) 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치
Wu et al. Parallel algorithms for CFD–DEM modeling of dense particulate flows
KR102181986B1 (ko) 더미 입자를 이용한 입자 기반의 유체 해석 시뮬레이션 방법 및 유체 해석 시뮬레이션 장치
JP2015230535A (ja) 粒子シミュレーション装置、粒子シミュレーション方法及び粒子シミュレーションプログラム
KR102181988B1 (ko) Sph 기반의 유체 해석 시뮬레이션 장치 및 유체 해석 시뮬레이션 방법
KR102181985B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
KR102200444B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
Dennis et al. A branching algorithm to reduce computational time of batch models: Application for blast analyses
KR102200443B1 (ko) Lbm 기반의 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
KR102436658B1 (ko) 입자 기반의 유체 해석 시뮬레이션 방법 및 유체 해석 시뮬레이션 장치
KR102181981B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
KR102181979B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
Rückwald et al. Hierarchical refinement in isogeometric analysis for flexible multibody impact simulations
KR102436665B1 (ko) 고 레이놀즈 수의 유동 해석을 위한 다중 격자 lbm 및 les 기반의 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
KR102436664B1 (ko) Wcsph 기반의 유체 해석 시뮬레이션 장치, 방법 및 컴퓨터 프로그램
Duchateau et al. Accelerating physical simulations from a multicomponent Lattice Boltzmann method on a single-node multi-GPU architecture
Shrey et al. Smooth particle hydrodynamics: a meshless approach for structural mechanics
e Silva et al. A GPU-accelerated enhanced MPS method for fluid simulation
Puri et al. Load balancing strategies for SPH
Nikitin et al. An implicit scheme for simulation of free surface non-Newtonian fluid flows on dynamically adapted grids
Guittet Simulation of incompressible viscous flows on distributed Octree grids
Kemal et al. Multidisciplinary simulation acceleration using multiple shared memory graphical processing units

Legal Events

Date Code Title Description
GRNT Written decision to grant
J202 Request for trial for correction [limitation]
J301 Trial decision

Free format text: TRIAL NUMBER: 2021105000062; TRIAL DECISION FOR CORRECTION REQUESTED 20210625

Effective date: 20210820