KR101214903B1 - System and method for fluid simulation using interaction between particles - Google Patents

System and method for fluid simulation using interaction between particles Download PDF

Info

Publication number
KR101214903B1
KR101214903B1 KR1020110019297A KR20110019297A KR101214903B1 KR 101214903 B1 KR101214903 B1 KR 101214903B1 KR 1020110019297 A KR1020110019297 A KR 1020110019297A KR 20110019297 A KR20110019297 A KR 20110019297A KR 101214903 B1 KR101214903 B1 KR 101214903B1
Authority
KR
South Korea
Prior art keywords
particles
interaction
particle
fluid
time step
Prior art date
Application number
KR1020110019297A
Other languages
Korean (ko)
Other versions
KR20120100421A (en
Inventor
최광진
윤종철
Original Assignee
(주)에프엑스기어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)에프엑스기어 filed Critical (주)에프엑스기어
Priority to KR1020110019297A priority Critical patent/KR101214903B1/en
Publication of KR20120100421A publication Critical patent/KR20120100421A/en
Application granted granted Critical
Publication of KR101214903B1 publication Critical patent/KR101214903B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid 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

입자간의 상호 작용을 이용한 유체 시뮬레이션 방법은, 제1 시간 단계에서 유체를 포함하는 계산 영역에 복수 개의 입자를 생성하는 단계; 상기 제1 시간 단계에서 생성된 상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 미리 결정된 거리 이내에 위치하는 다른 입자 사이의 상호 작용 조건을 생성하는 단계; 및 상기 상호 작용 조건에 기초하여, 하나 이상의 제2 시간 단계의 상기 복수 개의 입자의 위치 및 속도를 산출하는 단계를 포함할 수 있다.A fluid simulation method using interactions between particles comprises: generating a plurality of particles in a calculation region containing a fluid in a first time step; Creating an interaction condition between said particles among said plurality of particles produced in said first time step and other particles located within a predetermined distance from said particles; And calculating positions and velocities of the plurality of particles of at least one second time step based on the interaction conditions.

Description

입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법{SYSTEM AND METHOD FOR FLUID SIMULATION USING INTERACTION BETWEEN PARTICLES}Fluid simulation system and method using particle interaction {SYSTEM AND METHOD FOR FLUID SIMULATION USING INTERACTION BETWEEN PARTICLES}

실시예들은 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법에 관한 것이다. Embodiments relate to fluid simulation systems and methods using particle interaction.

컴퓨터 그래픽스(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.

유체 시뮬레이션에서 유체 유동을 기술하기 위한 방법으로는 격자(grid)를 이용한 오일러(Eulerian) 기술법 및 입자(particle)를 이용한 라그랑지안(Lagrangian) 기술법 등이 있다. 이 중 입자 기반의 기술법은 "Patricle-Based Fluid Simulation for Interactive Applications"의 제목을 가지며 2003년 발행된, 본 명세서에 참조로서 온전히 포함되는 Matthias Muller 등의 논문에 상세히 기재되어 있다. 그러나, 입자 기반의 유체 시뮬레이션 기법에 의하면, 상호 작용을 할 인접한 입자를 매 프레임(frame)마다 새로 찾아야 하기 때문에 계산 시간이 오래 걸리는 문제점이 있다.Methods for describing fluid flow in a fluid simulation include the Euler technique using a grid and the Lagrangian technique using particles. Particle-based techniques are described in detail in Matthias Muller et al., 2003, entitled "Patricle-Based Fluid Simulation for Interactive Applications," which is hereby incorporated by reference in its entirety. However, the particle-based fluid simulation technique has a problem in that it takes a long time to calculate an adjacent particle to be interacted with every new frame.

본 발명의 일 측면에 따르면, 종래의 입자 기반 유체 시뮬레이션 또는 입자를 사용하는 유체 시뮬레이션에서 매 프레임(frame)마다 상호 작용을 수행할 인접할 입자를 새로 찾아야 하여 계산 시간이 증가하는 문제점을 해결할 수 있는 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법을 제공할 수 있다. According to an aspect of the present invention, in the conventional particle-based fluid simulations or fluid simulations using particles, it is possible to solve the problem of increasing computation time by finding new particles to be adjacent to perform interaction every frame. It is possible to provide a fluid simulation system and method using particle interaction.

일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템은, 제1 시간 단계에서 유체를 포함하는 계산 영역에 복수 개의 입자를 생성하는 입자 생성 모듈; 상기 제1 시간 단계에서 생성된 상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 미리 결정된 거리 이내에 위치하는 다른 입자 사이의 상호 작용 조건을 생성하는 상호 작용 모듈; 및 상기 상호 작용 조건에 기초하여, 하나 이상의 제2 시간 단계의 상기 복수 개의 입자의 위치 및 속도를 산출하는 시뮬레이션 모듈을 포함할 수 있다.According to an embodiment, a fluid simulation system using interaction between particles may include: a particle generation module configured to generate a plurality of particles in a calculation region including a fluid in a first time step; An interaction module for creating an interaction condition between the particles among the plurality of particles generated in the first time step and other particles located within a predetermined distance from each particle; And a simulation module that calculates positions and velocities of the plurality of particles in one or more second time steps based on the interaction conditions.

일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법은, 제1 시간 단계에서 유체를 포함하는 계산 영역에 복수 개의 입자를 생성하는 단계; 상기 제1 시간 단계에서 생성된 상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 미리 결정된 거리 이내에 위치하는 다른 입자 사이의 상호 작용 조건을 생성하는 단계; 및 상기 상호 작용 조건에 기초하여, 하나 이상의 제2 시간 단계의 상기 복수 개의 입자의 위치 및 속도를 산출하는 단계를 포함할 수 있다.According to one or more exemplary embodiments, a fluid simulation method using particle interaction includes generating a plurality of particles in a calculation region including a fluid in a first time step; Creating an interaction condition between said particles among said plurality of particles produced in said first time step and other particles located within a predetermined distance from said particles; And calculating positions and velocities of the plurality of particles of at least one second time step based on the interaction conditions.

본 발명의 일 측면에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법에 의하면, 동일한 시간 단계에서 새로 생성된 입자들 사이에만 상호 작용 조건을 생성하며, 상호 작용 조건에 따라 각 시간 단계별로 입자들 간의 상호 작용을 수행함으로써, 입자를 이용한 유체 시뮬레이션의 계산 시간을 감소시킬 수 있는 이점이 있다. According to the fluid simulation system and method using the interaction between particles according to an aspect of the present invention, the interaction conditions are generated only between the newly generated particles in the same time step, the particles in each time step according to the interaction conditions By performing the interaction therebetween, there is an advantage that the calculation time of the fluid simulation using the particles can be reduced.

도 1은 일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템의 블록도이다.
도 2는 일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법의 순서도이다.
도 3a 내지 3i는 일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 과정을 나타내는 도면들이다.
1 is a block diagram of a fluid simulation system using particle interaction according to an embodiment.
2 is a flow chart of a fluid simulation method using the interaction between particles in accordance with one embodiment.
3A to 3I are diagrams illustrating a fluid simulation process using interactions between particles, according to an exemplary 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 particle interaction according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템은, 입자 생성 모듈(10), 상호 작용 모듈(20) 및 시뮬레이션 모듈(30)을 포함할 수 있다. 본 명세서에 기재된 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템은 유체 시뮬레이션에 있어서 입자간의 상호 작용에 의한 힘을 반영하여 입자의 움직임을 시뮬레이션하기 위한 것으로 의도되며, 유체 시뮬레이션의 모든 연산 과정을 수행하기 위한 구성을 반드시 전부 포함하는 것은 아니다. 예를 들어, 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템은, 종래의 격자 기반의 유체 시뮬레이션 시스템의 일부 구성을 대체하거나 또는 이에 추가되어 구성될 수 있다. Referring to FIG. 1, a fluid simulation system using particle interaction according to an embodiment may include a particle generation module 10, an interaction module 20, and a simulation module 30. The fluid simulation system using the interaction between particles described herein is intended to simulate the movement of particles by reflecting the force caused by the interaction between particles in the fluid simulation, and configured to perform all computational processes of the fluid simulation. Does not necessarily include all of them. For example, a fluid simulation system using interparticle interactions may be configured to replace or add to some configurations of a conventional grid-based fluid simulation system.

본 명세서에 기술된 실시예는 전적으로 하드웨어이거나, 부분적으로 하드웨어이고 부분적으로 소프트웨어이거나, 또는 전적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 본 명세서에서 부(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)은 유체 시뮬레이션의 각 시간 단계에서 미리 결정된 조건에 따라 하나 이상의 입자를 생성할 수 있다. 예를 들어, 유체 시뮬레이션은 대상 유체를 포함하는 계산 영역을 복수 개의 셀(cell)을 포함하는 격자(grid) 형태의 유한 요소로 분할하고, 격자(grid)의 각 셀(cell) 또는 각 셀(cell)의 꼭지점 등에 해당하는 정점(vertex)에 대하여 정의된 속도값을 갖는 속도 필드를 복수 개의 시간 단계별로 산출함으로써 수행될 수 있다. 이때, 입자 생성 모듈(10)은, 유체의 속도 필드에 대해 정의된 소정의 조건에 따라 복수 개의 입자를 생성할 수 있다. 그러나, 입자를 생성하기 위한 조건은 전술한 형태에 한정되는 것은 아니며, 시뮬레이션 대상 유체의 특성 등에 따라 다른 적절한 조건을 이용하여 입자를 생성할 수 있다. The particle generation module 10 may generate one or more particles according to predetermined conditions at each time step of the fluid simulation. For example, the fluid simulation divides the calculation region containing the target fluid into a finite element in the form of a grid including a plurality of cells, and each cell or each cell of the grid ( It may be performed by calculating a velocity field having a velocity value defined for a vertex corresponding to a vertex of a cell) in a plurality of time steps. At this time, the particle generation module 10 may generate a plurality of particles according to a predetermined condition defined for the velocity field of the fluid. However, the conditions for generating the particles are not limited to the above-described form, and the particles may be generated using other suitable conditions depending on the characteristics of the fluid to be simulated.

상호 작용 모듈(20)은, 입자 생성 모듈(10)에 의하여 각 시간 단계에서 생성된 복수 개의 입자들 사이의 상호 작용 조건을 생성할 수 있다. 상호 작용 조건이란 임의의 입자에 의하여 다른 입자의 위치 및/또는 속도에 영향을 미치도록 입자 사이에 정의된 힘을 지칭한다. 예컨대, 입자 사이에 작용하는 인력 또는 척력 등이 상호 작용 조건에 해당할 수 있다. 상호 작용 모듈(20)은 동일한 시간 단계에서 생성된 입자들 사이에만 상호 작용 조건을 생성하며, 이와 같이 생성된 상호 작용 조건에 따라 후속하는 시간 단계들에서의 입자 시뮬레이션이 수행될 수 있다. The interaction module 20 may generate interaction conditions between the plurality of particles generated at each time step by the particle generation module 10. Interaction conditions refer to a force defined between particles such that any particle affects the position and / or velocity of another particle. For example, the attraction force or repulsive force acting between the particles may correspond to the interaction conditions. The interaction module 20 generates interaction conditions only between particles generated in the same time step, and particle simulations in subsequent time steps may be performed according to the interaction conditions thus generated.

시뮬레이션 모듈(30)은, 입자 생성 모듈(10)에 의하여 생성된 입자에 대하여, 상호 작용 모듈(20)에 의하여 생성된 상호 작용 조건을 적용하여 입자 시뮬레이션을 수행할 수 있다. 즉, 시뮬레이션 모듈(30)은 동일한 시간 단계에서 생성되어 상호 작용 조건이 정의되어 있는 입자들 사이에 상기 상호 작용 조건을 적용함으로써 후속하는 시간 단계에서의 입자의 위치 및/또는 속도 등을 산출할 수 있다. 이때, 각각의 입자는, 입자들 사이에 정의된 상호 작용 조건에 의한 힘 외에도 중력 또는 공기 저항과 같은 외부 힘의 영향을 받을 수도 있다. The simulation module 30 may apply particle interaction generated by the interaction module 20 to particles generated by the particle generation module 10 to perform particle simulation. That is, the simulation module 30 may calculate the position and / or velocity of the particles in a subsequent time step by applying the interaction condition between particles generated in the same time step and the interaction condition is defined. have. At this time, each particle may be influenced by an external force such as gravity or air resistance in addition to the force due to the interaction conditions defined between the particles.

입자 기반의 유체 시뮬레이션의 구체적인 연산 과정에 대해서는, "Patricle-Based Fluid Simulation for Interactive Applications"의 제목을 가지며 2003년 발행된, 본 명세서에 참조로서 온전히 포함되는 Matthias Muller 등의 논문 등에 개시되어 당업자에게 용이하게 이해될 수 있으므로 자세한 설명을 생략한다.The specific computational process of particle-based fluid simulation is described in Matthias Muller et al., Published in 2003, which is entitled to "Patricle-Based Fluid Simulation for Interactive Applications," which is hereby incorporated by reference in its entirety and is readily available to those skilled in the art. The detailed description is omitted since it may be understood.

도 2는 일 실시예에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법의 순서도이며, 도 3a 내지 3k는 입자간의 상호 작용을 이용한 유체 시뮬레이션 과정을 나타내는 도면들이다. 도 2 및 도 3a 내지 3k를 참조하여 일 실시예에에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법에 대하여 설명한다. 2 is a flowchart of a fluid simulation method using interaction between particles according to an embodiment, and FIGS. 3A to 3K are diagrams illustrating a fluid simulation process using interaction between particles. A fluid simulation method using interaction between particles according to an embodiment will be described with reference to FIGS. 2 and 3A to 3K.

먼저, 도 3a를 참조하면, 유체 시뮬레이션의 제1 시간 단계에서 미리 결정된 조건에 따라 복수 개의 입자들(301 내지 310)을 생성할 수 있다(S1). 제1 시간 단계는 복수 개의 시간 단계별로 수행되는 유체 시뮬레이션에 있어서 임의의 시간 단계를 지칭하는 것으로써, 반드시 첫 번째 시간 단계를 의미하는 것은 아니다. 예를 들어, 제1 시간 단계는 유체 시뮬레이션의 N번째 프레임(frame)일 수도 있다. 도면에 도시된 격자를 기초로 시뮬레이션 대상 유체(300)의 속도 필드가 정의될 수 있다. 이때 미리 결정된 조건이란 속도 필드에서 속도 값 및/또는 가속도 값 등에 기초하여 결정될 수 있다.First, referring to FIG. 3A, a plurality of particles 301 to 310 may be generated according to a predetermined condition in the first time step of the fluid simulation (S1). The first time step refers to any time step in the fluid simulation performed in a plurality of time steps, and does not necessarily mean the first time step. For example, the first time step may be the Nth frame of the fluid simulation. A velocity field of the fluid to be simulated 300 may be defined based on the grating shown in the drawing. In this case, the predetermined condition may be determined based on a speed value and / or an acceleration value in the speed field.

다음으로, 전술한 과정에서 생성된 복수 개의 입자(301 내지 310) 중 각각의 입자와, 각각의 입자로부터 미리 결정된 거리 이내에 위치하는 다른 입자 사이에 상호 작용 조건을 생성할 수 있다(S2). Next, an interaction condition may be generated between each particle among the plurality of particles 301 to 310 generated in the above-described process and another particle located within a predetermined distance from each particle (S2).

즉, 도 3b를 참조하면, 제1 시간 단계에서 생성된 입자(301 내지 310) 중 어느 하나의 입자(301)로부터 미리 결정된 거리(d) 이내에 위치하는 다른 입자(302 내지 304)를 찾을 수 있다. 이때, 미리 결정된 거리(d)는, 유체 시뮬레이션을 수행하기 위한 연산 부담 및 시뮬레이션 대상 유체의 특성 등에 기초하여 적절히 결정될 수 있다. That is, referring to FIG. 3B, other particles 302 to 304 located within a predetermined distance d from any one of the particles 301 to 310 generated in the first time step may be found. . In this case, the predetermined distance d may be appropriately determined based on the computational burden for performing the fluid simulation and the characteristics of the fluid to be simulated.

도 3c를 참조하면, 상기 하나의 입자(301)와 상기 하나의 입자(301)로부터 미리 결정된 거리(d) 이내에 위치하는 다른 입자(302 내지 304) 사이에 상호 작용 조건을 생성할 수 있다. 본 명세서에 첨부된 도면들에서 입자들 사이의 상호 작용은 설명을 위하여 각 입자들을 연결하는 선분의 형태로 가시화되어 표시된다. 즉, 도 3c는 하나의 입자(301)와 다른 입자들(302 내지 304) 각각의 사이에 상호작용 조건이 생성된 것을 나타낸다. Referring to FIG. 3C, an interaction condition may be generated between the one particle 301 and the other particles 302 to 304 located within a predetermined distance d from the one particle 301. In the drawings attached to this specification, the interaction between the particles is visualized and displayed in the form of line segments connecting the particles for explanation. That is, FIG. 3C shows that an interaction condition is created between one particle 301 and each of the other particles 302-304.

도 3d를 참조하면, 제1 시간 단계에서 생성된 입자들(301 내지 310) 중 다른 하나의 입자(303)에 대하여, 다시 상기 하나의 입자(303)로부터 미리 결정된 거리 이내에 위치하는 다른 입자(301, 304, 306 및 307)를 찾을 수 있다. 또한, 도 3e를 참조하면, 상기 하나의 입자(303)와 다른 입자들(301, 304, 306 및 307) 각각의 사이에 상호 작용 조건을 생성할 수 있다. Referring to FIG. 3D, with respect to the other particle 303 of the particles 301 to 310 generated in the first time step, another particle 301 located again within a predetermined distance from the one particle 303. , 304, 306, and 307. In addition, referring to FIG. 3E, an interaction condition may be generated between the one particle 303 and each of the other particles 301, 304, 306, and 307.

도 3f를 참조하면, 도 3b 내지 3e를 참조하여 전술한 과정을 제1 시간 단계에서 생성된 복수 개의 입자들(301 내지 310) 모두에 대하여 수행함으로서, 복수 개의 입자들(301 내지 310) 사이의 상호 작용 조건을 생성할 수 있다. 그 결과, 복수 개의 입자들(301 내지 310) 중 서로 미리 결정된 거리 이내에 위치하는 입자들 사이에만 상호 작용 조건이 생성될 수 있다. Referring to FIG. 3F, the process described above with reference to FIGS. 3B through 3E may be performed on all of the plurality of particles 301 to 310 generated in the first time step, thereby allowing the plurality of particles 301 to 310 to be separated. Interaction conditions can be created. As a result, the interaction condition may be generated only among the particles located within a predetermined distance from each other among the plurality of particles 301 to 310.

도 3g를 참조하면, 제1 시간 단계에서 생성된 복수 개의 입자들(301 내지 310) 사이의 상호 작용 조건에 기초하여, 상기 제1 시간 단계에 후속하는 하나 이상의 제2 시간 단계에서 복수 개의 입자들(301 내지 310)의 위치 및/또는 속도 등을 산출할 수 있다(S3). 제2 시간 단계는 전술한 제1 시간 단계에 후속하는 시간 단계일 수 있다. 예를 들어, 제1 시간 단계가 유체 시뮬레이션의 N번째 프레임일 경우, 제2 시간 단계는 N+1 번째 프레임일 수 있다. 또는, 제2 시간 단계는 N+1 번째 프레임 후의 임의의 프레임을 지칭할 수도 있다. Referring to FIG. 3G, based on the interaction conditions between the plurality of particles 301-310 generated in the first time step, the plurality of particles in one or more second time steps subsequent to the first time step. Positions and / or speeds of the letters 301 to 310 may be calculated (S3). The second time step may be a time step following the first time step described above. For example, if the first time step is the N th frame of the fluid simulation, the second time step may be the N + 1 th frame. Alternatively, the second time step may refer to any frame after the N + 1 th frame.

도 3a 내지 3g를 참조하여 전술한 과정을 복수 개의 시간 단계의 진행에 따라 마지막 시간 단계까지 반복적으로 수행함으로써, 입자간의 상호 작용을 반영한 유체 시뮬레이션 결과를 얻을 수 있다. 즉, 각각의 입자들의 위치 및 속도 등을 복수 개의 시간 단계별로 산출할 수 있다. By repeating the process described above with reference to FIGS. 3A to 3G to the last time step as a plurality of time steps proceed, a fluid simulation result reflecting the interaction between particles can be obtained. That is, the position and velocity of each particle may be calculated in a plurality of time steps.

예를 들어, 도 3h를 참조하면, 도 3a 내지 3g를 참조하여 전술한 제1 시간 단계에 후속하는 제2 시간 단계에서, 미리 결정된 조건에 따라 다시 복수 개의 입자들(311 내지 317)이 생성될 수 있다. 또한, 도 3i를 참조하면, 제2 시간 단계에서 생성된 복수 개의 입자들(311 내지 317) 중 어느 하나의 입자(311)에 대하여 상기 하나의 입자(311)로부터 미리 결정된 거리 내에 위치하는 다른 입자(312)를 찾을 수 있다. 또한, 도 3j를 참조하면, 상기 하나의 입자(311)와 다른 입자(312) 사이에 상호 작용 조건을 생성할 수 있다. For example, referring to FIG. 3H, in a second time step subsequent to the first time step described above with reference to FIGS. 3A-3G, a plurality of particles 311-317 may be generated again according to a predetermined condition. Can be. 3I, another particle located within a predetermined distance from the one particle 311 with respect to any one particle 311 of the plurality of particles 311 to 317 generated in the second time step. (312). In addition, referring to FIG. 3J, an interaction condition may be generated between the one particle 311 and the other particle 312.

도 3k를 참조하면, 도 3i 및 도 3j를 참조하여 전술한 과정을 제2 시간 단계에서 생성된 모든 입자들(311 내지 317)에 대하여 수행함으로써, 제2 시간 단계에서 생성된 복수 개의 입자들(311 내지 317) 중 서로 미리 결정된 거리 내에 위치하는 입자들 사이에 상호 작용 조건을 생성할 수 있다. 다음으로, 복수 개의 입자들(311 내지 317) 사이의 상호 작용 조건에 기초하여, 제2 시간 단계에 후속하는 하나 이상의 시간 단계에서 복수 개의 입자들(311 내지 317)의 위치 및/또는 속도 등을 산출할 수 있다. Referring to FIG. 3K, the process described above with reference to FIGS. 3I and 3J is performed on all the particles 311 to 317 generated in the second time step, thereby generating a plurality of particles ( 311 to 317 may create interaction conditions between particles located within a predetermined distance from each other. Next, based on the interaction condition between the plurality of particles 311 to 317, the position and / or velocity of the plurality of particles 311 to 317 in one or more time steps subsequent to the second time step may be determined. Can be calculated.

이상에서 설명한 실시예들에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템 및 방법에 의하면, 동일한 시간 단계에서 생성된 입자들 사이에만 입자간의 상호 작용 조건이 생성될 수 있다. 즉, 임의의 시간 단계에서 생성된 복수 개의 입자들 사이에 상호 작용 조건이 생성되며, 후속하는 하나 이상의 시간 단계에서 상기 복수 개의 입자들의 위치 및 속도 등은 상기 상호 작용 조건에 기초하여 산출될 수 있다. 따라서, 매 시간 단계에서 상호 작용할 입자를 찾는 과정을 수행할 필요가 없이 미리 정해진 상호 작용 조건에 따라 입자들간의 상호 작용이 이루어지므로, 연산 시간이 단축될 수 있는 이점이 있다. According to the fluid simulation system and method using the interaction between particles according to the embodiments described above, the interaction conditions between particles can be generated only between the particles generated in the same time step. That is, an interaction condition is generated between a plurality of particles generated in an arbitrary time step, and the position and velocity of the plurality of particles in one or more subsequent time steps may be calculated based on the interaction condition. . Therefore, the interaction between the particles is made according to a predetermined interaction condition without having to perform the process of finding particles to interact at every time step, there is an advantage that the operation time can be shortened.

실시예들에 따른 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법은 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다. Fluid simulation method using the interaction between particles according to the embodiments has been described with reference to the flow chart 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 particle interaction 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 (6)

복수 개의 시간 단계 각각에서 유체를 포함하는 계산 영역에 복수 개의 입자를 생성하는 입자 생성 모듈;
상기 입자 생성 모듈에 의해 생성된 상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 미리 결정된 거리 이내에 위치하는 다른 입자 사이의 상호 작용 조건을 생성하되, 동일한 시간 단계에서 생성된 입자들 사이에만 상호 작용 조건을 생성하는 상호 작용 모듈; 및
상기 상호 작용 조건에 기초하여, 상기 복수 개의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 시뮬레이션 모듈을 포함하는 것을 특징으로 하는 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템.
A particle generation module for generating a plurality of particles in the calculation region containing the fluid in each of the plurality of time steps;
Among the plurality of particles produced by the particle generation module, create an interaction condition between each particle and other particles located within a predetermined distance from each particle, but only between particles generated at the same time step. An interaction module for creating an interaction condition; And
And a simulation module for calculating the positions and velocities of the plurality of particles in the plurality of time steps based on the interaction conditions.
삭제delete 제 1항에 있어서,
상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 상기 미리 결정된 거리보다 먼 거리에 위치하는 다른 입자 사이에는 상호 작용이 발생하지 않는 것을 특징으로 하는 입자간의 상호 작용을 이용한 유체 시뮬레이션 시스템.
The method of claim 1,
And said interaction between said particles and said other particles located at a distance greater than said predetermined distance from said particles does not occur.
복수 개의 시간 단계 각각에서 유체를 포함하는 계산 영역에 복수 개의 입자를 생성하는 단계;
생성된 상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 미리 결정된 거리 이내에 위치하는 다른 입자 사이의 상호 작용 조건을 생성하되, 동일한 시간 단계에서 생성된 입자들 사이에만 상기 상호 작용 조건을 생성하는 단계; 및
상기 상호 작용 조건에 기초하여, 상기 복수 개의 입자의 위치 및 속도를 상기 복수 개의 시간 단계별로 산출하는 단계를 포함하는 것을 특징으로 하는 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법.
Generating a plurality of particles in the computational region containing the fluid in each of the plurality of time steps;
Create interaction conditions between the particles and other particles located within a predetermined distance from the particles, wherein the interaction conditions are generated only between the particles created in the same time step; Doing; And
And calculating the positions and velocities of the plurality of particles in the plurality of time steps based on the interaction conditions.
삭제delete 제 4항에 있어서,
상기 복수 개의 입자 중, 상기 각 입자와, 상기 각 입자로부터 상기 미리 결정된 거리보다 먼 거리에 위치하는 다른 입자 사이에는 상호 작용이 발생하지 않는 것을 특징으로 하는 입자간의 상호 작용을 이용한 유체 시뮬레이션 방법.
5. The method of claim 4,
The fluid simulation method using the interaction between particles of the plurality of particles, the interaction between the particles and other particles located at a distance farther from the predetermined distance from each particle does not occur.
KR1020110019297A 2011-03-04 2011-03-04 System and method for fluid simulation using interaction between particles KR101214903B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110019297A KR101214903B1 (en) 2011-03-04 2011-03-04 System and method for fluid simulation using interaction between particles

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110019297A KR101214903B1 (en) 2011-03-04 2011-03-04 System and method for fluid simulation using interaction between particles

Publications (2)

Publication Number Publication Date
KR20120100421A KR20120100421A (en) 2012-09-12
KR101214903B1 true KR101214903B1 (en) 2012-12-24

Family

ID=47110162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110019297A KR101214903B1 (en) 2011-03-04 2011-03-04 System and method for fluid simulation using interaction between particles

Country Status (1)

Country Link
KR (1) KR101214903B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102320824B1 (en) * 2013-12-02 2021-11-03 삼성전자주식회사 Method and apparatus for analyxing charaters of particles
KR102399671B1 (en) * 2014-08-26 2022-05-20 삼성전자주식회사 Method and apparatus for modeling objects
KR102255188B1 (en) * 2014-10-13 2021-05-24 삼성전자주식회사 Modeling method and modeling apparatus of target object to represent smooth silhouette
KR102263096B1 (en) * 2014-11-13 2021-06-09 삼성전자주식회사 Method and apparatus for modeling objects consisting of particles
KR102437374B1 (en) * 2015-10-01 2022-08-30 삼성전자주식회사 Method and device for modeling an object
KR101978025B1 (en) * 2016-12-01 2019-09-03 동서대학교 산학협력단 Generating method of Trail Effects by Multiple Fragments
KR101957194B1 (en) * 2018-10-18 2019-03-13 한국과학기술정보연구원 Apparatus and method for generating field line of flow analysis data
KR102181988B1 (en) * 2019-12-13 2020-11-23 이에이트 주식회사 Sph based on fluid simulation method and fluid analysis simulation apparatus
KR102181986B1 (en) * 2019-12-13 2020-11-23 이에이트 주식회사 Dummy particle based fluid analysis simulation method and fluid simulation apparatus

Also Published As

Publication number Publication date
KR20120100421A (en) 2012-09-12

Similar Documents

Publication Publication Date Title
KR101214903B1 (en) System and method for fluid simulation using interaction between particles
KR101244826B1 (en) System and method for fluid simulation using interaction between grid and particle
JP7133894B2 (en) Data-driven interactive 3D experience
US8775140B2 (en) Time and space scaled S-model for turbulent fluid flow simulations
JP5441422B2 (en) Simulation method and program
JP2017224299A (en) Optimal pressure-projection method for incompressible transient and steady-state navier-stokes equations
Wang Interactive virtual prototyping of a mechanical system considering the environment effect. Part 2: Simulation quality
JP2010146369A (en) Simulation method and program
KR101170909B1 (en) System and method for fluid simulation using moving grid
US10248766B2 (en) Simulation method and analyzing device
KR102200443B1 (en) Apparatus, method and computer program for lattice boltzmann method based fluid analysis simulation
KR101110342B1 (en) System and method for shape controllable fluid simulation
JP6327927B2 (en) Simulation device, model generation device, simulation method, model generation method, and computer program
WO2020149919A1 (en) Inertial damping for enhanced simulation of elastic bodies
KR102058290B1 (en) Method for calculating installation location of windbars according to wind load, device and computer readable medium for performing the method
CN104508667A (en) Method for simulating a set of elements, and associated computer program
US10504269B2 (en) Inertial damping for enhanced simulation of elastic bodies
KR101030732B1 (en) Method for fluid flow simulation
JP6091402B2 (en) Analysis apparatus and analysis method
Ghaffar et al. Numerical solution of special ultra-relativistic Euler equations using central upwind scheme
KR101534322B1 (en) Apparatus and method for simulating fluid using interaction between material
Hao et al. Object Proposal with Modified Edge Boxes Based on Visual Saliency
KR101174791B1 (en) Method Of Water Surface Simulation Based On Particle System And Storage Medium Thereof
KR20220011513A (en) Apparatus, method and computer program for lattice boltzmann method-based fluid analysis simulation
Brouwer et al. Conservative finite differences as an alternative to finite volume for compressible flows

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 7