KR101244826B1 - System and method for fluid simulation using interaction between grid and particle - Google Patents
System and method for fluid simulation using interaction between grid and particle Download PDFInfo
- Publication number
- KR101244826B1 KR101244826B1 KR1020110019295A KR20110019295A KR101244826B1 KR 101244826 B1 KR101244826 B1 KR 101244826B1 KR 1020110019295 A KR1020110019295 A KR 1020110019295A KR 20110019295 A KR20110019295 A KR 20110019295A KR 101244826 B1 KR101244826 B1 KR 101244826B1
- Authority
- KR
- South Korea
- Prior art keywords
- particles
- fluid
- velocity
- particle
- field
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/60—3D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/24—Fluid dynamics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법은, 유체를 포함하는 계산 영역에 대응되며, 하나 이상의 정점을 포함하는 격자의 속도 필드를 복수 개의 시간 단계별로 산출하는 단계; 상기 각 시간 단계에서 상기 격자의 속도 필드에 기초하여 하나 이상의 입자를 생성하는 단계; 상기 하나 이상의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 단계; 및 상기 각 시간 단계에서, 상기 하나 이상의 입자 중 상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여 상기 격자의 속도 필드를 갱신하는 단계를 포함할 수 있다.A fluid simulation method using the interaction between the lattice and the particles may include calculating a velocity field of a lattice corresponding to a calculation region including a fluid and including one or more vertices in a plurality of time steps; Generating at least one particle based on the velocity field of the grating in each time step; Calculating positions and velocities of the one or more particles in the plurality of time steps; And updating the velocity field of the lattice using the velocity of the particles located in the region corresponding to the fluid among the one or more particles.
Description
실시예들은 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법에 관한 것이다. Embodiments relate to fluid simulation systems and methods using the interaction of lattice and particles.
컴퓨터 그래픽스(Computer Graphics; CG) 분야, 특히 시각 효과(Visual Effects; VFX) 분야에 있어서 유체 시뮬레이션은 상당히 많은 계산량을 요구하기 때문에, 컴퓨터의 성능이 향상된 최근에 있어서도 많은 연구 및 개발을 요한다. 한편, CG 분야가 태동하기 이전부터 유체의 유동을 수치적으로 풀어내려는 연구는 전산 유체 역학(Computational Fluid Dynamics; CFD) 분야를 중심으로 논의되어 왔다. In the field of computer graphics (CG), especially in the field of visual effects (VFX), fluid simulation requires a great deal of computation, and therefore, a lot of research and development is required even in recent years with improved computer performance. On the other hand, studies to quantify the flow of fluid numerically before the birth of the CG field have been discussed in the field of Computational Fluid Dynamics (CFD).
일상에서 접할 수 있는 유체의 움직임은 대부분 비압축성 유체 유동(incompressible fluid flow)으로 볼 수 있으며, CG 및 CFD 분야에서는 비압축성 유체 유동을 해석하기 위해 나비어-스톡스(Navier-Stokes) 방정식을 지배 방정식으로 사용하고 있다. 나비어-스톡스 방정식은 여러 가지 형태의 편미분 방정식이 하나의 식으로 결합되어 있으므로 해석적인 해(analytic solution)가 존재하지 않으며, 1970년대에 들어서야 비로소 컴퓨터를 이용한 수치적인 해를 구할 수 있게 되었다. Most of the fluid movements encountered in everyday life can be seen as incompressible fluid flow, and in the field of CG and CFD, the Navier-Stokes equation is used as the governing equation to interpret incompressible fluid flow. Doing. Navier-Stokes equations do not have an analytical solution because many different partial differential equations are combined into one equation, and it is not until the 1970s that numerical solutions have been available using computers.
CG 분야에서는, "Stable Fluids"의 제목을 가지며 1999년 발행된, 본 명세서에 참조로서 온전히 포함되는 Jos Stam의 논문을 시작으로 유체 시뮬레이션이 도입되기 시작하였다. Jos Stam의 논문에 기재되어 있는 유체 유동 시뮬레이션 방법은, 유체의 계산 영역을 격자(grid) 형태의 유한요소로 분할하고, 나비어-스톡스 방정식을 연산하여 각 프레임(frame)별로 격자의 속도 필드를 산출함으로써 시간에 따른 유체의 움직임을 시뮬레이션하도록 구성된다. In the field of CG, fluid simulations have begun to be introduced, starting with Jos Stam's paper, entitled "Stable Fluids", published in 1999, which is hereby incorporated by reference in its entirety. The fluid flow simulation method described in Jos Stam's paper divides the computational domain of the fluid into a grid-like finite element and computes the Navier-Stocks equation to calculate the velocity field of the grid for each frame. By calculating the motion of the fluid over time.
본 발명의 일 측면에 따르면, 격자 기반의 유체 유동 시뮬레이션 기법에 유체 입자를 더하여 유체 유동 시뮬레이션을 수행할 수 있으며, 격자와 입자 사이의 상호 작용을 시뮬레이션하는 것이 가능한 유체 유동 시뮬레이션 시스템 및 방법을 제공할 수 있다. According to one aspect of the present invention, a fluid flow simulation system and method capable of performing fluid flow simulation by adding fluid particles to a lattice-based fluid flow simulation technique, and capable of simulating the interaction between the lattice and the particles, may be provided. Can be.
일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템은, 유체를 포함하는 계산 영역에 대응되며, 하나 이상의 정점을 포함하는 격자의 속도 필드를 복수 개의 시간 단계별로 산출하는 격자 시뮬레이션 모듈; 상기 각 시간 단계에서 상기 격자의 속도 필드에 기초하여 하나 이상의 입자를 생성하는 입자 생성 모듈; 상기 하나 이상의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 입자 시뮬레이션 모듈; 및 상기 각 시간 단계에서, 상기 하나 이상의 입자 중 상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여 상기 격자의 속도 필드를 갱신하는 상호 작용 모듈을 포함할 수 있다.According to one or more exemplary embodiments, a fluid simulation system using a grid-particle interaction includes a grid simulation module corresponding to a calculation region including a fluid and calculating a velocity field of a grid including one or more vertices in a plurality of time steps; A particle generation module for generating one or more particles based on the velocity field of the lattice in each time step; A particle simulation module for calculating positions and velocities of the one or more particles in the plurality of time steps; And in each time step, an interaction module for updating the velocity field of the lattice by using the velocity of the particle located in an area corresponding to the fluid among the one or more particles.
일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법은, 유체를 포함하는 계산 영역에 대응되며, 하나 이상의 정점을 포함하는 격자의 속도 필드를 복수 개의 시간 단계별로 산출하는 단계; 상기 각 시간 단계에서 상기 격자의 속도 필드에 기초하여 하나 이상의 입자를 생성하는 단계; 상기 하나 이상의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 단계; 및 상기 각 시간 단계에서, 상기 하나 이상의 입자 중 상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여 상기 격자의 속도 필드를 갱신하는 단계를 포함할 수 있다.According to one or more exemplary embodiments, a fluid simulation method using interaction between a lattice and particles may include calculating, by a plurality of time steps, a velocity field of a lattice corresponding to a calculation region including a fluid and including one or more vertices; Generating at least one particle based on the velocity field of the grating in each time step; Calculating positions and velocities of the one or more particles in the plurality of time steps; And updating the velocity field of the lattice using the velocity of the particles located in the region corresponding to the fluid among the one or more particles.
본 발명의 일 측면에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법에 의하면, 격자 기반의 유체 유동 시뮬레이션 기법에 유체 입자를 더하여 유체 유동 시뮬레이션을 수행할 수 있으며, 격자와 입자 사이의 상호 작용을 시뮬레이션하는 것이 가능한 이점이 있다.According to the fluid simulation system and method using the lattice-particle interaction according to an aspect of the present invention, it is possible to perform the fluid flow simulation by adding fluid particles to the lattice-based fluid flow simulation technique, the interaction between the lattice and particles It is possible to simulate the action.
도 1은 일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템의 블록도이다.
도 2는 일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법의 순서도이다.
도 3a 내지 3h는 일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 과정을 나타내는 도면들이다. 1 is a block diagram of a fluid simulation system using the interaction of gratings and particles, according to one embodiment.
2 is a flowchart of a fluid simulation method using interaction between a lattice and particles according to an embodiment.
3A to 3H are diagrams illustrating a fluid simulation process using interaction between a lattice and particles according to an embodiment.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
도 1은 일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템의 블록도이다. 1 is a block diagram of a fluid simulation system using the interaction of gratings and particles, according to one embodiment.
도 1을 참조하면, 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템은 격자 시뮬레이션 모듈(10), 입자 생성 모듈(20), 입자 시뮬레이션 모듈(30) 및 상호 작용 모듈(40)을 포함할 수 있다. 일 실시예에서, 입자 생성 모듈(20)은 가속도 산출부(210) 및 입자 생성부(220)를 포함할 수 있다. 일 실시예에서, 상호 작용 모듈(40)은 위치 결정부(410), 속도 수정부(420) 및 입자 삭제부(430)를 포함할 수 있다. Referring to FIG. 1, the fluid simulation system using the interaction between the lattice and the particles may include the
본 명세서에 기술된 실시예는 전적으로 하드웨어이거나, 부분적으로 하드웨어이고 부분적으로 소프트웨어이거나, 또는 전적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 본 명세서에서 부(unit), 모듈(module) 또는 시스템 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭할 수 있다. 예를 들어, 부, 모듈 또는 시스템은 실행중인 프로세스, 프로세서, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램, 및/또는 컴퓨터일 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터에서 실행중인 애플리케이션(application) 및 컴퓨터의 양쪽이 모두 본 명세서에 기재된 부, 모듈 또는 시스템에 해당할 수 있다.Embodiments described herein may have aspects that are wholly hardware, partly hardware and partly software, or wholly software. For example, a unit, module, system, or the like herein may refer to hardware, a combination of hardware and software, or a computer related entity such as software. For example, a part, module or system may be, but is not limited to being, a running process, a processor, an object, an executable, a thread of execution, a program, and / or a computer. . For example, both an application running on a computer and a computer may correspond to a unit, module, or system described herein.
격자 시뮬레이션 모듈(10)은 시뮬레이션의 대상이 되는 유체를 포함하는 계산 영역을 격자 형태의 유한 요소로 분할하고, 격자의 속도 필드를 시간 단계(time step) 별로 산출함으로써 유체의 움직임을 시뮬레이션할 수 있다. 예컨대, 격자는 하나 이상의 셀(cell)을 포함할 수 있으며, 각 셀(cell)의 꼭지점에 해당하는 정점(vertex)에 대해 속도값이 정의될 수 있다. 그러나, 이는 예시적인 것으로서, 다른 실시예에서는 각 셀의 중심에 대해 속도값이 정의될 수도 있다. 또한, 격자는 2차원 또는 3차원의 격자 형태일 수 있으나, 이에 한정되는 것은 아니다. The
격자 시뮬레이션 모듈(10)은 각 시간 단계에서 격자의 속도 필드에 대하여 나비어-스톡스(Navier-Stokes) 방정식을 연산함으로서 유체의 움직임을 시뮬레이션할 수 있다. 나비어-스톡스 방정식의 연산 과정에 대해서는, "Stable Fluids"의 제목을 가지며 1999년 발행된, 본 명세서에 참조로서 온전히 포함되는 Jos Stam의 논문 등에 개시되어 당업자에게 용이하게 이해될 수 있으므로 자세한 설명을 생략한다. The
입자 생성 모듈(20)의 가속도 산출부(210)에서는, 격자 시뮬레이션 모듈(10)에서 산출된 격자의 각 시간 단계별 속도 필드를 이용하여 가속도 필드를 산출할 수 있다. 예를 들어, 가속도 산출부(210)는 유체 시뮬레이션에서 n번째 프레임(frame)의 속도 필드와 n-1번째 프레임의 속도 필드의 차를 이용하여 가속도 필드를 산출할 수 있다. 입자 생성부(220)에서는, 가속도 산출부(210)에서 산출된 가속도 필드에서 가속도가 미리 결정된 문턱값 이상인 영역에 입자를 생성할 수 있다. 예를 들어, 가속도 필드에서 가속도 값이 문턱값 이상인 정점에 인접하여 입자가 생성될 수 있다.In the
격자 시뮬레이션 모듈(30)은, 입자 생성 모듈(20)에 의해 생성된 하나 이상의 입자의 위치 및 속도를 복수 개의 시간 단계별로 산출할 수 있다. 즉, 하나 이상의 입자는 유체 시뮬레이션이 진행되는 동안 중력, 공기 저항 등의 외부 힘 및/또는 입자들 간의 상호작용에 의한 내부 힘에 의한 영향을 받으면서 움직일 수 있다. 격자 시뮬레이션 모듈(30)에서는 공지된 입자 기반의 시뮬레이션 기법에 기초하여 하나 이상의 입자의 위치 및 속도를 시간 단계별로 산출할 수 있다. 유체 시뮬레이션에서 이용되는 입자 시뮬레이션 기법에 대해서는 본 발명의 기술 분야의 당업자들에게 잘 알려져 있으므로 자세한 설명을 생략한다. The grid simulation module 30 may calculate the positions and velocities of one or more particles generated by the
상호 작용 모듈(40)의 위치 결정부(410)는, 각 시간 단계별로 격자에서 입자의 위치가 유체 내부인지를 결정할 수 있다. 입자가 유체 내부에 위치하는지 여부는 입자의 레벨 셋(level set) 값을 산출함으로써 결정될 수 있으며, 이는 상세히 후술한다. 속도 수정부(420)는, 유체 내부에 위치하는 입자의 속도를 이용하여 해당 입자로부터 미리 결정된 거리 내에 위치하는 유체 내부의 정점들의 속도값을 수정할 수 있다. 이와 같이 수정된 속도값을 이용하여 다음 시간 단계의 시뮬레이션 과정을 수행함으로써 속도 필드가 갱신될 수 있다. 입자 삭제부(430)는, 속도 수정부(420)에 의해 정점들의 속도값의 갱신이 이루어진 후 유체 내부의 입자를 삭제할 수 있다. The
도 2는 일 실시예에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법의 순서도이며, 도 3a 내지 3h는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 과정을 나타내는 도면들이다. 도 2 및 도 3a 내지 3h를 참조하여 일 실시예에에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법에 대하여 설명한다. 2 is a flow chart of a fluid simulation method using the interaction between the lattice and the particle according to an embodiment, Figures 3a to 3h is a view showing a fluid simulation process using the interaction of the lattice and the particle. Referring to FIGS. 2 and 3A to 3H, a fluid simulation method using a lattice-particle interaction according to an embodiment will be described.
먼저, 유체 시뮬레이션의 임의의 시간 단계에서, 전 시간 단계의 속도 필드에 대하여 나비어-스톡스 방정식을 연산함으로써 현재 시간 단계의 격자의 속도 필드를 산출할 수 있다(S1). 나비어-스톡스 방정식의 연산에 의한 유체 유동 시뮬레이션 방법에 대해서는 본 발명의 기술 분야의 당업자들에게 잘 알려져 있으므로 자세한 설명을 생략한다.First, in any time step of the fluid simulation, the velocity field of the lattice of the current time step can be calculated by calculating the Naïr-Stokes equation for the velocity field of the previous time step (S1). The fluid flow simulation method by calculation of the Navier-Stokes equation is well known to those skilled in the art of the present invention, and thus detailed description thereof is omitted.
3a를 참조하면, 임의의 시간 단계에서 현재 시간 단계의 속도 필드와 전 시간 단계의 속도 필드를 비교하여 가속도 필드를 산출할 수 있다(S2). 다음으로, 산출된 가속도 필드에 기초하여 유체(300)에 인접한 하나 이상의 입자(310, 320)를 생성할 수 있다(S3). 예를 들어, 가속도 필드에서 임의의 셀 주변의 정점들이 미리 결정된 문턱값 이상의 가속도 값을 갖는 경우, 해당 셀에 입자를 생성할 수 있다. 상기 문턱값은 시뮬레이션 대상 유체의 점성 등 특징에 기초하여 적절히 결정될 수 있다. 또한, 생성되는 입자의 위치 및 속도는 입자에 인접한 정점들의 속도값에 기초하여 비례적으로 결정될 수도 있다. 본 명세서에 첨부된 도면들에서 각각의 입자 또는 정점에 표시된 화살표는 각 입자 또는 정점의 속도 벡터를 나타낸다. Referring to 3a, the acceleration field may be calculated by comparing the speed field of the current time step with the speed field of the previous time step in an arbitrary time step (S2). Next, one or
도 3b 및 3c를 참조하면, 전술한 과정에 의하여 생성된 하나 이상의 입자(310, 320)의 위치 및 속도에 기초하여 후속하는 하나 이상의 시간 단계에서 하나 이상의 입자(310, 320)의 위치 및 속도를 산출할 수 있다(S4). 각각의 입자(310, 320)는 유체 시뮬레이션이 진행됨에 따라 중력, 공기 저항 등의 외부 힘 및/또는 입자(310, 320)들 사이의 내부 힘에 의한 영향을 받아 이동할 수 있다. 이때, 도 3c에 도시된 것과 같이 하나 이상의 입자(310, 320) 중 일부 또는 전부가 유체(300)에 인접한 방향으로 이동할 수도 있다. 3B and 3C, the positions and velocities of one or
도 3d를 참조하면, 하나 이상의 입자(310, 320)의 위치가 유체(300) 내부에 해당하는지 여부를 결정할 수 있다(S5). 이는 하나 이상의 입자(310, 320)의 레벨 셋 값을 산출함으로써 수행될 수 있다. 격자 기반의 유체 시뮬레이션에 있어서 유체(300)의 표면에 대응되는 정점들은 0 레벨 셋으로 정의되며, 나머지 정점들은 유체(300) 표면까지의 거리에 따라 부호를 갖는 거리 함수로 표현되는 소정의 레벨 셋 값을 갖는다. 따라서, 하나 이상의 입자(310, 320)의 레벨 셋 값의 부호를 이용하여 각각의 입자(310, 320)의 위치가 유체(300) 내부인지 또는 외부인지를 결정할 수 있다. 예를 들어, 유체(300) 외부에 위치하는 입자(320)의 레벨 셋 값은 양수(+)이나, 유체(300) 내부에 위치하는 입자(310)의 레벨 셋 값은 음수(-)일 수 있다. Referring to FIG. 3D, it may be determined whether the positions of the one or
도 3e를 참조하면, 유체(300) 내부에 위치하는 입자(310)의 속도를 이용하여, 해당 입자(310)로부터 미리 결정된 거리(d) 내에 위치하며, 또한 유체(300) 내부에 위치하는 정점(vertex)의 속도값을 수정할 수 있다(S6). 예를 들어, 입자(310)의 속도를 입자(310)에 인접하여 위치하는 4개의 정점(330)에 분산하여 더할 수 있다. 이때, 각 정점(330)에 더해지는 속도값의 비율은 각 정점(330)으로부터 입자(310)까지의 거리에 비례하도록 결정될 수도 있다. 또한, 상기 미리 결정된 거리는 시뮬레이션하고자 하는 유체(300)의 점성 등 특징에 기초하여 적절히 결정될 수 있다. 다음으로, 도 3f를 참조하면, 유체(300) 내부에 위치하는 입자(310)를 삭제할 수 있다(S7). Referring to FIG. 3E, using the velocity of the
도 3g를 참조하면, 수정된 각 정점의 속도값을 반영하여 격자의 속도 필드에 대한 유체 유동 시뮬레이션을 수행함으로써 갱신된 속도 필드를 산출할 수 있다(S8). 또한, 이와 같이 갱신된 속도 필드에 따라 유체(300)의 표면에 대응되는 0 레벨 셋을 이동시킬 수 있다. Referring to FIG. 3G, the updated velocity field may be calculated by performing a fluid flow simulation on the velocity field of the grating by reflecting the modified velocity value of each vertex (S8). In addition, the zero level set corresponding to the surface of the fluid 300 may be moved according to the updated velocity field.
도 3a 내지 3g를 참조하여 설명한 과정을 복수 개의 시간 단계의 진행에 따라 마지막 시간 단계까지 반복적으로 수행함으로써, 격자와 입자의 상호 작용을 반영하여 유체 유동 시뮬레이션 결과를 얻을 수 있다. 예컨대, 도 3h를 참조하면, 갱신된 속도 필드에 기초하여 하나 이상의 새로운 입자(340)를 생성할 수 있다(S2). By repeatedly performing the process described with reference to FIGS. 3A to 3G until the last time step as the progress of the plurality of time steps, the fluid flow simulation result can be obtained by reflecting the interaction between the lattice and the particles. For example, referring to FIG. 3H, one or more
실시예들에 따른 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법은 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다. Fluid simulation method using the interaction of the lattice and the particles according to the embodiments has been described with reference to the flowchart shown in the drawings. While the above method has been shown and described as a series of blocks for purposes of simplicity, it is to be understood that the invention is not limited to the order of the blocks, and that some blocks may be present in different orders and in different orders from that shown and described herein And various other branches, flow paths, and sequences of blocks that achieve the same or similar results may be implemented. Also, not all illustrated blocks may be required for implementation of the methods described herein.
나아가, 격자와 입자의 상호 작용을 이용한 유체 유동 시뮬레이션 방법은 일련의 과정들을 수행하기 위한 컴퓨터 프로그램의 형태로 구현될 수도 있으며, 상기 컴퓨터 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수도 있다. Further, the fluid flow simulation method using the interaction of the lattice and the particles may be implemented in the form of a computer program for performing a series of processes, which may be recorded on a computer-readable recording medium.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention described above has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and variations may be made therefrom. However, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
Claims (8)
상기 각 시간 단계에서 상기 격자의 속도 필드에 기초하여 하나 이상의 입자를 생성하는 입자 생성 모듈;
상기 하나 이상의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 입자 시뮬레이션 모듈; 및
상기 각 시간 단계에서 상기 하나 이상의 입자의 레벨 셋 값을 산출함으로써 상기 하나 이상의 입자 중 상기 유체에 대응되는 영역에 위치하는 상기 입자를 결정하고, 상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여 상기 격자의 속도 필드를 갱신하는 상호 작용 모듈을 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템.
A grid simulation module corresponding to a calculation region including a fluid and calculating a velocity field of a grid including at least one vertex in a plurality of time steps;
A particle generation module for generating one or more particles based on the velocity field of the lattice in each time step;
A particle simulation module for calculating positions and velocities of the one or more particles in the plurality of time steps; And
The level set value of the at least one particle is calculated at each time step to determine the particles located in the area corresponding to the fluid among the at least one particle, and to determine the velocity of the particles located in the area corresponding to the fluid. And an interaction module for updating the velocity field of the grating using the fluid simulation system.
상기 입자 생성 모듈은,
상기 각 시간 단계의 상기 격자의 속도 필드를 전 시간 단계의 상기 격자의 속도 필드와 비교하여 상기 격자의 가속도 필드를 산출하는 가속도 산출부; 및
상기 격자의 가속도 필드에 기초하여, 미리 결정된 문턱값 이상의 가속도 값을 갖는 상기 정점에 인접하여 상기 입자를 생성하는 입자 생성부를 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템.
The method of claim 1,
The particle generation module,
An acceleration calculator configured to calculate an acceleration field of the grating by comparing the velocity field of the grating in each time step with the velocity field of the grating in all time steps; And
And a particle generation unit generating the particles adjacent to the vertex having an acceleration value equal to or greater than a predetermined threshold based on the acceleration field of the lattice.
상기 상호 작용 모듈은,
상기 하나 이상의 입자 중 상기 유체에 대응되는 영역에 위치하는 상기 입자를 결정하는 위치 결정부;
상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여, 상기 유체에 대응되는 영역에 위치하는 상기 입자로부터 미리 결정된 거리 내에 위치하며 상기 유체에 대응되는 영역 내에 위치하는 상기 정점의 속도값을 수정하는 속도 수정부; 및
상기 유체에 대응되는 영역에 위치하는 상기 입자를 삭제하는 입자 삭제부를 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템.
The method of claim 1,
The interaction module,
A positioning unit to determine the particles located in a region corresponding to the fluid among the one or more particles;
By using the velocity of the particles located in the region corresponding to the fluid, the velocity value of the vertex located within a predetermined distance from the particles located in the region corresponding to the fluid and located in the region corresponding to the fluid Speed correction; And
And a particle deletion unit for deleting the particles located in the region corresponding to the fluid.
상기 입자 생성 모듈은, 상기 각 시간 단계에서 상기 상호 작용 모듈에 의해 수정된 상기 격자의 속도 필드에 기초하여 후속하는 시간 단계에서 상기 입자를 생성하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 시스템.
The method of claim 1,
The particle generation module generates the particles in a subsequent time step based on the velocity field of the lattice modified by the interaction module in each time step. Simulation system.
상기 각 시간 단계에서 상기 격자의 속도 필드에 기초하여 하나 이상의 입자를 생성하는 단계;
상기 하나 이상의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 단계;
상기 각 시간 단계에서 상기 하나 이상의 입자의 레벨 셋 값을 산출함으로써 상기 하나 이상의 입자 중 상기 유체에 대응되는 영역에 위치하는 상기 입자를 결정하는 단계; 및
상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여 상기 격자의 속도 필드를 갱신하는 단계를 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법.
Calculating a velocity field of a grid corresponding to a calculation region including a fluid and including one or more vertices in a plurality of time steps;
Generating at least one particle based on the velocity field of the grating in each time step;
Calculating positions and velocities of the one or more particles in the plurality of time steps;
Determining the particle located in a region corresponding to the fluid among the one or more particles by calculating a level set value of the one or more particles in each time step; And
And updating the velocity field of the lattice by using the velocity of the particles located in the region corresponding to the fluid.
상기 하나 이상의 입자를 생성하는 단계는,
상기 각 시간 단계의 상기 격자의 속도 필드를 전 시간 단계의 상기 격자의 속도 필드와 비교하여 상기 격자의 가속도 필드를 산출하는 단계; 및
상기 격자의 가속도 필드에 기초하여, 미리 결정된 문턱값 이상의 가속도 값을 갖는 상기 정점에 인접하여 상기 입자를 생성하는 단계를 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법.
6. The method of claim 5,
Generating the one or more particles,
Calculating an acceleration field of the grid by comparing the velocity field of the grid in each time step with the velocity field of the grid in a previous time step; And
And generating the particles based on the acceleration field of the grating, adjacent the vertices having an acceleration value equal to or greater than a predetermined threshold.
상기 격자의 속도 필드를 갱신하는 단계는,
상기 유체에 대응되는 영역에 위치하는 상기 입자의 속도를 이용하여, 상기 유체에 대응되는 영역에 위치하는 상기 입자로부터 미리 결정된 거리 내에 위치하며 상기 유체에 대응되는 영역 내에 위치하는 상기 정점의 속도값을 수정하는 단계; 및
상기 유체에 대응되는 영역에 위치하는 상기 입자를 삭제하는 단계를 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법.
6. The method of claim 5,
Updating the velocity field of the grid,
By using the velocity of the particles located in the region corresponding to the fluid, the velocity value of the vertex located within a predetermined distance from the particles located in the region corresponding to the fluid and located in the region corresponding to the fluid Modifying; And
And deleting the particles located in a region corresponding to the fluid.
상기 하나 이상의 입자를 생성하는 단계는, 상기 각 시간 단계에서, 전 시간 단계에서 갱신된 상기 격자의 속도 필드에 기초하여 상기 입자를 생성하는 단계를 포함하는 것을 특징으로 하는 격자와 입자의 상호 작용을 이용한 유체 시뮬레이션 방법.6. The method of claim 5,
Generating the one or more particles comprises generating the particles at each time step based on the velocity field of the grating updated at all time steps. Fluid simulation method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110019295A KR101244826B1 (en) | 2011-03-04 | 2011-03-04 | System and method for fluid simulation using interaction between grid and particle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110019295A KR101244826B1 (en) | 2011-03-04 | 2011-03-04 | System and method for fluid simulation using interaction between grid and particle |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120100419A KR20120100419A (en) | 2012-09-12 |
KR101244826B1 true KR101244826B1 (en) | 2013-03-19 |
Family
ID=47110160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110019295A KR101244826B1 (en) | 2011-03-04 | 2011-03-04 | System and method for fluid simulation using interaction between grid and particle |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101244826B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101514806B1 (en) * | 2014-01-20 | 2015-04-24 | 동국대학교 산학협력단 | Method and apparatus of fluid simulation |
US9953109B2 (en) | 2014-08-26 | 2018-04-24 | Samsung Electronics Co., Ltd. | Object modeling method and apparatus |
US10572609B2 (en) | 2014-11-13 | 2020-02-25 | Samsung Electronics Co., Ltd. | Method and apparatus to model objects including particles |
US10606966B2 (en) | 2014-08-26 | 2020-03-31 | Samsung Electronics Co., Ltd. | Method and apparatus for modeling deformable body including particles |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102255188B1 (en) * | 2014-10-13 | 2021-05-24 | 삼성전자주식회사 | Modeling method and modeling apparatus of target object to represent smooth silhouette |
KR20170052144A (en) | 2015-11-04 | 2017-05-12 | 삼성전자주식회사 | Rendering method and apparatus of target fluid |
KR102026153B1 (en) * | 2019-05-22 | 2019-09-27 | 서울대학교산학협력단 | The method for numerical simulation of advection-diffusion of blue-green algae using multi-scale model including agent-based model |
KR102181979B1 (en) * | 2019-12-13 | 2020-11-23 | 이에이트 주식회사 | Apparatus, method and computer program for sph based fluid analysis simulation |
KR102181981B1 (en) * | 2019-12-13 | 2020-11-23 | 이에이트 주식회사 | Apparatus, method and computer program for sph based fluid analysis simulation |
KR102436658B1 (en) * | 2020-07-23 | 2022-08-26 | 이에이트 주식회사 | Fluid analysis simulation method and fluid simulation apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100588000B1 (en) | 2004-12-13 | 2006-06-08 | 한국전자통신연구원 | Apparatus and method for capturing free surface of fluid in computer animation |
KR20060090494A (en) * | 2005-02-07 | 2006-08-11 | 삼성전자주식회사 | Method for physical simulation, method for producing 3d graphic and apparatus thereof |
KR100972624B1 (en) * | 2009-02-11 | 2010-07-27 | 고려대학교 산학협력단 | Apparatus and method for simulating multiphase fluids |
-
2011
- 2011-03-04 KR KR1020110019295A patent/KR101244826B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100588000B1 (en) | 2004-12-13 | 2006-06-08 | 한국전자통신연구원 | Apparatus and method for capturing free surface of fluid in computer animation |
KR20060090494A (en) * | 2005-02-07 | 2006-08-11 | 삼성전자주식회사 | Method for physical simulation, method for producing 3d graphic and apparatus thereof |
KR100972624B1 (en) * | 2009-02-11 | 2010-07-27 | 고려대학교 산학협력단 | Apparatus and method for simulating multiphase fluids |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101514806B1 (en) * | 2014-01-20 | 2015-04-24 | 동국대학교 산학협력단 | Method and apparatus of fluid simulation |
US9953109B2 (en) | 2014-08-26 | 2018-04-24 | Samsung Electronics Co., Ltd. | Object modeling method and apparatus |
US10606966B2 (en) | 2014-08-26 | 2020-03-31 | Samsung Electronics Co., Ltd. | Method and apparatus for modeling deformable body including particles |
US10572609B2 (en) | 2014-11-13 | 2020-02-25 | Samsung Electronics Co., Ltd. | Method and apparatus to model objects including particles |
Also Published As
Publication number | Publication date |
---|---|
KR20120100419A (en) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101244826B1 (en) | System and method for fluid simulation using interaction between grid and particle | |
KR101214903B1 (en) | System and method for fluid simulation using interaction between particles | |
JP7133894B2 (en) | Data-driven interactive 3D experience | |
Gerstenberger et al. | An embedded Dirichlet formulation for 3D continua | |
Idelsohn et al. | A fast and accurate method to solve the incompressible Navier‐Stokes equations | |
Murotani et al. | Development of hierarchical domain decomposition explicit MPS method and application to large-scale tsunami analysis with floating objects | |
JP5209298B2 (en) | Flow simulation calculation method and system | |
KR100984048B1 (en) | An effective method to solve rigid body interactions in particle based fluid simulations | |
US10311180B2 (en) | System and method of recovering Lagrange multipliers in modal dynamic analysis | |
KR100588000B1 (en) | Apparatus and method for capturing free surface of fluid in computer animation | |
KR101170909B1 (en) | System and method for fluid simulation using moving grid | |
KR101909383B1 (en) | Modelling method of solid wall boundary condition in compressible boltzmann method | |
KR101110342B1 (en) | System and method for shape controllable fluid simulation | |
US10248766B2 (en) | Simulation method and analyzing device | |
JP2014206520A (en) | Tire wear simulation method and tire wear simulation program | |
CN113204911A (en) | Fluid-solid coupling simulation method and system for trailing edge deflection process of ram parafoil | |
Harwood et al. | Numerical evaluation of the compact acoustic Green’s function for scattering problems | |
Qin et al. | A 3D nonhydrostatic compressible atmospheric dynamic core by multi-moment constrained finite volume method | |
JP6327927B2 (en) | Simulation device, model generation device, simulation method, model generation method, and computer program | |
CN104508667A (en) | Method for simulating a set of elements, and associated computer program | |
Junior et al. | PolyMPS—An open source CFD solver based on Polygon walls in Moving Particle Semi-implicit (MPS) method | |
Montanari et al. | Isogeometric models for impact analysis with LS-DYNA | |
Jørgensen et al. | Implementation of a turbulent inflow boundary condition for LES based on a vortex method | |
Ksyta et al. | Fast Simulations in Augmented Reality | |
Amann et al. | Integral porosity shallow water model at district scale-Case study in Nice |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190311 Year of fee payment: 7 |