KR20140109210A - V 사이클을 이용한 멀티그리드 방법 및 장치 - Google Patents

V 사이클을 이용한 멀티그리드 방법 및 장치 Download PDF

Info

Publication number
KR20140109210A
KR20140109210A KR1020130050295A KR20130050295A KR20140109210A KR 20140109210 A KR20140109210 A KR 20140109210A KR 1020130050295 A KR1020130050295 A KR 1020130050295A KR 20130050295 A KR20130050295 A KR 20130050295A KR 20140109210 A KR20140109210 A KR 20140109210A
Authority
KR
South Korea
Prior art keywords
cell
smoothing
solution
level
frequency component
Prior art date
Application number
KR1020130050295A
Other languages
English (en)
Other versions
KR101470488B1 (ko
Inventor
홍정모
정휘룡
김선태
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to PCT/KR2013/007401 priority Critical patent/WO2014137042A1/ko
Publication of KR20140109210A publication Critical patent/KR20140109210A/ko
Application granted granted Critical
Publication of KR101470488B1 publication Critical patent/KR101470488B1/ko
Priority to US14/846,069 priority patent/US9818167B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)

Abstract

V사이클을 이용한 멀티그리드 방법이 개시된다. 본 발명의 실시예에 따른 V사이클을 이용한 멀티그리드 방법은 상세한 레벨의 셀을 스무딩하여 제 1 중간해 및 제 1 레지듀얼을 구하는 프리스무딩(pre-smoothing) 단계, 상기 상세한 레벨의 셀을 다운 샘플링하여 성긴 레벨의 셀을 구하고, 상기 제 1 레지듀얼을 상기 성긴 레벨의 셀의 제 2 레지듀얼로 설정하는 리스트릭션(restriction) 단계, 상기 상세한 레벨의 셀의 고주파성분해를 구하고, 상기 고주파성분해를 스무딩하여 완곡화된 고주파성분해를 구하는 미들스무딩(middle smoothing) 단계, 상기 성긴 레벨의 셀에서 성긴해를 구하는 연산 단계, 상기 성긴해를 업샘플링하여 상기 상세한 레벨의 셀로 전달하고, 상기 제1 중간해, 상기 완곡화된 고주파성분해 및 상기 성긴해를 더하여 수정된 중간해를 구하는 프로롱게이션(prolongation) 단계 및 상기 수정된 중간해를 스무딩하여 제 2 중간해를 구하는 포스트스무딩(post-smoothing) 단계를 포함한다.

Description

V 사이클을 이용한 멀티그리드 방법 및 장치{Method and Apparatus of multi-grid using V-cycle}
본 발명은 컴퓨터 그래픽 기술에 관한 것으로, 보다 상세하게는 V 사이클을 이용한 멀티그리드 방법 및 장치에 관한 것이다.
최근 컴퓨터 그래픽(Computer Graphics, CG) 기술은 영화, 애니메이션, 광고 분야를 비롯한 다양한 분야에 널리 활용되고 있으며, 그 비중 또한 증가하고 있다. 특히, CG 기술을 활용한 대표적 특수효과인 물, 불 등의 유체 표현은 영상물의 제작에 있어 중요한 비중을 차지한다.
유체 표현과 관련된 CG 기술은 크게 모델링(scene representation), 시뮬레이션(simulation), 형상화(reconstruction), 렌더링(rendering) 과정으로 구성된다.
모델링 과정은 시뮬레이션의 대상이 되는 유체 외에 유체와 상호작용이 이루어지는 외부 물체를 시뮬레이션에 적합한 형태로 재구성하는 과정이다. 균일한 격자 위치에서 시뮬레이션을 수행하는 방법에 대해서는 상호작용을 하는 물체도 격자 형태로 표현되어야 하는데, 시뮬레이션 전에 이루어지는 초기 조건이나 경계 조건의 설정은 모델링 과정에서 이루어진다.
시뮬레이션 과정은 나비어-스토크(Navier-Stokes) 방정식과 같이 유체의 움직임을 설명하는 식을 사용하거나 또는 간단한 랜덤 요소를 사용하여 유체의 움직임을 계산하는 과정이다.
형상화 과정은 물과 같이 외형을 갖고 이를 유지하는 유체에 대해 시뮬레이션 결과로부터 외형을 계산해내는 과정을 말하며, 임의의 점들로부터 외형을 계산하거나 초기에 계산된 외형을 업데이트 해나가는 방법이 있다.
렌더링 과정은 점, 면 또는 임의의 함수 형태로 구성된 유체와 빛 사이의 관계로부터 최종 영상을 생성하는 과정이다.
일반적으로 상술한 과정 중 시뮬레이션 과정에서 가장 많은 시간이 소요되는데, 이는 시뮬레이션 과정에서 방대한 양의 계산을 수행되어야 하기 때문이다.
유체를 시뮬레이션하는 과정은 푸아송 방정식(Poisson equation)의 해를 구하는 과정이다. 푸아송 방정식의 해를 구하는 방법으로 크게 켤레 구배법(conjugate gradient), 전처리된 켤레 구배법(preconditioned conjugate gradient) 또는 멀티 그리드법(multi-grid)등이 사용된다.
멀티그리드 방법은 계산의 속도가 빠르고, 시뮬레이션의 해상도가 올라가는 경우라도 계산시간의 증가량이 다른 방법에 비해 상대적으로 적다는 장점을 갖는다. 멀티그리드 방법 중 V 사이클을 이용한 멀티그리드 방법은 유체를 시뮬레이션하는 과정에서 가장 많이 사용되고 있다.
멀티그리드 방법에 소요되는 시간을 줄이기 위하여 복수의 프로세서를 이용해 병렬 처리하는 기법이 개발되고 있으나, 종래의 V 사이클을 이용한 멀티그리드 방법은 각 과정을 복수의 프로세서가 나누어 처리하는 것으로, 복수의 프로세서를 동시에 이용하는 진정한 의미의 병렬처리 기법이라 할 수 없었으며, 특정 정확도의 해를 구하는 과정은 과도한 계산 시간을 요구하여 유체를 사실적으로 표현하는데 어려움이 있었다.
본 발명이 해결하고자 하는 과제는 계산에 소요되는 시간의 증가 없이 보다 정확한 해를 구하는 멀티그리드 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 복수의 프로세서를 동시에 사용하여 소요 시간의 증가 없이 보다 높은 사실적인 유체 표현이 가능한 멀티그리드 방법 및 장치를 제공하는 것이다.
본 발명의 일 양태에 있어서, V사이클을 이용한 멀티그리드 방법이 제공된다. 본 발명의 실시례에 따른 V사이클을 이용한 멀티그리드 방법은 상세한 레벨의 셀을 스무딩하여 제 1 중간해 및 제 1 레지듀얼을 구하는 프리스무딩(pre-smoothing) 단계, 상기 상세한 레벨의 셀을 다운 샘플링하여 성긴 레벨의 셀을 구하고, 상기 제 1 레지듀얼을 상기 성긴 레벨의 셀의 제 2 레지듀얼로 설정하는 리스트릭션(restriction) 단계, 상기 상세한 레벨의 셀의 고주파성분해를 구하고, 상기 고주파성분해를 스무딩하여 완곡화된 고주파성분해를 구하는 미들스무딩(middle smoothing) 단계, 상기 성긴 레벨의 셀에서 성긴해를 구하는 연산 단계, 상기 성긴해를 업샘플링하여 상기 상세한 레벨의 셀로 전달하고, 상기 제1 중간해, 상기 완곡화된 고주파성분해 및 상기 성긴해를 더하여 수정된 중간해를 구하는 프로롱게이션(prolongation) 단계 및 상기 수정된 중간해를 스무딩하여 제 2 중간해를 구하는 포스트스무딩(post-smoothing) 단계를 포함한다.
상기 프리스무딩 단계, 상기 미들스무딩 단계, 상기 포스트스무딩 단계에 적용되는 스무딩 기법은 자코비 스무딩(Jacobi smoothing)방법 또는 가우스-자이델 스무딩(Gauss-Sidel smoothing) 방법일 수 있다.
상기 프리스무딩 단계, 상기 리스트릭션 단계, 상기 미들스무딩 단계, 상기 프로롱게이션 단계 및 상기 포스트스무딩 단계는 제1 프로세서에서 수행되고, 상기 연산 단계는 제2 프로세서에서 수행될 수 있다.
상기 미들스무딩 단계 및 상기 연산단계는 동시에 수행될 수 있다.
상기 리스트릭션 단계는 리스트릭션 대상 셀이 솔리드 객체 셀인지 여부를 판단하는 단계 및 상기 리스트릭션 대상 셀이 솔리드 객체 셀이면, 상기 리스트릭션 대상 셀을 상기 리스트릭션 대상 셀의 주변 유체 셀의 평균값으로 설정하는 단계를 포함할 수 있다.
상기 프로롱게이션 단계는 프로롱게이션 대상 셀이 솔리드 객체 셀인지 여부를 판단하는 단계 및 상기 프로롱게이션 대상 셀이 솔리드 객체 셀이면, 상기 프로롱게이션 대상 셀을 상기 프로롱게이션 대상 셀의 주변 유체 셀의 평균값으로 설정하는 단계를 포함할 수 있다.
본 발명의 다른 양태에 있어서, 본 발명의 실시례에 따른 V 사이클을 이용한 멀티그리드 방법을 수행하는 프로그램이 기록된 컴퓨터 읽을 수 있는 기록 매체가 제공된다.
본 발명의 다른 양태에 있어서, 본 발명의 실시례에 따른 V사이클을 이용한 멀티그리드 방법을 수행하도록 설정된 적어도 하나의 프로세서를 포함하는 정보 처리 장치가 제공된다.
본 발명의 실시례에 따른 V 사이클(V-cycle)을 이용한 멀티그리드 방법에 의하면, 멀티그리드(multi-gird) 방법에 의한 시뮬레이션 과정에서 계산에 소요되는 시간의 증가 없이 보다 높은 정확도를 갖는 해를 구할 수 있으며, 유체 표현 CG 기술에 적용될 때 보다 사실적인 유체 표현이 가능하다.
복수의 프로세서를 동시에 활용하여 멀티그리드 방법을 수행하는 병렬 처리가 가능하며, 멀티그리드 방법을 수행하는 과정에서 고주파 성분을 고려하여 보다 높은 정확도를 갖는 해를 구할 있다.
도 1은 V 사이클을 이용한 멀티 그리드 방법의 각 과정을 간략히 나타낸 것이다.
도 2는 본 발명의 실시례에 따른 V 사이클을 이용한 멀티그리드 방법을 나타낸 것이다.
도 3은 상세한 레벨의 셀을 성긴 레벨의 셀로 리스트릭션한 결과를 예시한 것이다.
도 4는 본 발명의 실시례에 따른 프로롱게이션 단계에서 하나의 셀을 4개의 셀로 업 샘플링하는 과정을 예시한 것이다.
도 5는 유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 프로롱게이션하는 방법의 예이다.
도 6은 본 발명의 실시례에 따른 유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 프로롱게이션하는 방법을 예시한 것이다.
도 7은 본 발명의 실시례에 따른 ∀ 사이클을 이용한 멀티그리드 방법이 구현될 수 있는 정보 처리 장치를 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 하나 이상을 의미하는 것으로 해석되어야 한다.
이하, 본 발명에 따른 실시례의 이해를 돕기 위해 관련 용어를 설명한다.
영화 또는 TV 광고 등에서 사용되는 유체 애니메이션은 나비어-스트로크(Navier-Stokes) 방정식을 오일러(Eulerian) 격자(grid)에서 푸는 과정을 통해 사실적으로 계산될 수 있다. 나비어-스트로크(Navier-Stokes) 방정식을 오일러 격자에서 푸는 과정에서, 유체의 질량 및 부피를 보존하기 위해 수행되는 프로젝션(projection)단계는 가장 많은 계산 시간을 필요로 한다.
프로젝션 단계의 계산 시간을 줄이기 위해 멀티그리드 방법을 주로 사용한다. 멀티그리드 방법은 푸아송 방정식의 해를 구하는 과정이다. 푸아송 방적식의 해를 구할 때 계산의 속도를 향상시키기 위해 멀티그리드 방법이 적용된다. 각 그리드 레벨간에 포아송 방정식을 푸는데 필요한 정보를 이동시키기 위해 리스트릭션 연산자(restriction operator) 및 프로롱게이션 연산자(prolongation operator)가 사용된다. 또한, 많은 수의 아이겐밸류(eigenvalue)를 갖는 선형시스템을 풀기 위해 멀티그리드 켤레경사도법를 사용한다.
도 1은 V 사이클을 이용한 멀티 그리드 방법을 각 과정을 간략히 나타낸 것이다.
멀티그리드 방법은 스무딩(smoothing), 콜스닝(coarsening), 리스트릭션(restriction) 및 프로롱게이션(prolongation) 등의 연산자를 사용한다.
멀티그리드 방법을 수행하기 전 시스템 행렬의 계층 구조를 구축하는데, 상세한 레벨의 시스템을 콜스닝 연산자(coarsening operator)를 이용하여 성긴 레벨상의 선형시스템으로 만든다. 이 과정을 가장 상세한 레벨에서 가장 성긴 레벨까지 반복하여 전체 계층 구조를 생성한다. 도 1의 예는 가장 상세한 레벨에서 가장 성긴 레벨까지 L 단계(0~L-1)를 갖는 모델을 예시한 것이다. 선형 시스템의 계층 구조가 만들어지면 멀티그리드 방법은 계층 구조의 레벨을 위아래로 오가며 해를 찾는다.
스무딩(Smoothing) 연산자는 가장 상세한 레벨에서 쉽게 표현되는 고주파 에러(좁은 영역 변형)를 분리시킨다. 스무딩 과정을 여러 번 반복하면 가장 상세한 레벨에서 선형시스템의 중간해(Immediate solution)와 레지듀얼(residual) 에러를 얻을 수 있다.
리스트릭션(Restriction) 연산자는 레지듀얼 에러를 서브 샘플링(sub-sampling)해서 다음 성긴 레벨상의 레지듀얼(residual) 에러로 설정한다. 가장 성긴 레벨까지 리스트릭션 과정을 반복적으로 수행하여 얻어지는 가장 성긴 레벨(L-1) 선형시스템은 다이렉트 솔버(direct solver)를 사용하여 푼다.
프로롱게이션(Prolongation) 연산자는 가장 성긴 레벨(L-1)의 해를 보간하여 그 다음 상세한 레벨의 중간 해를 수정한다. 수정된 해를 그 레벨의 초기 예상 값으로 하여 선형 시스템을 푼다. 이때 스무딩 연산자를 다시 반복 적용하여 이 초기 예상 값의 에러를 줄여서 근접한 해로 만든다. 이렇게 스무딩(smoothing)과 프로롱게이션(prolongation)을 반복하여 가장 상세한 레벨까지 도달하면 V 사이클이 종료된다.
표 1은 V 사이클 기법을 구현하는 알고리즘의 일례이다.
Figure pat00001
도 2는 본 발명의 실시례에 따른 V 사이클을 이용한 멀티그리드 방법을 나타낸 것이다.
본 발명의 실시례에 따른 비압축성 유체를 시뮬레이션하는 V 사이클을 이용한 멀티그리드 방법은 프리스무딩 단계(S101), 리스트릭션 단계(S102), 미들스무딩 단계(S104), 연산 단계(S105), 프로롱게이션 단계(S107) 및 포스트스무딩 단계(S108)를 포함한다.
도 1의 V 사이클과의 차이점을 중심으로 설명한다. 도 1의 S50에 해당하는 본 발명의 실시예에 따른 V 사이클은, 도 2의 S100 과정이다. S100 과정은 가장 성긴 레벨 L-1 과 그 직전 레벨 L-2에서의 이루어지는 각 단계로 구성될 수 있다. 본 발명의 실시예에 따른 V 사이클은 미들스무딩 단계(S104)를 더 포함하는 것을 특징으로 한다. 이하에서 상세한 레벨과 성긴 레벨은 상대적인 개념으로, 설명의 편의를 위하여 상세한 레벨의 예로 레벨 L-1을, 성긴 레벨의 예로 레벨 L-2를 들어 설명하나, 상세한 레벨로 표현되는 레벨 t는 레벨 0 내지 레벨 L-2 중 어느 하나일 수 있으며, 성긴 레벨로 표현되는 레벨은 레벨 t+1일 수 있다.
도 2의 예에서, 프리스무딩 단계(S101)는 상세한 레벨(e.g. L-2)의 셀을 스무딩하여 제 1 중간해 및 제 1 레지듀얼을 구하는 단계이다. 다시 말해서, 프리스무딩 단계(S101)는 상세한 레벨의 셀에서 해를 구하는 과정이다.
본 발명의 실시예에서, 해를 구하는 과정에는 자코비 스무딩(Jacobi smoothing) 방법 또는 가우스-자이델 스무딩(Gauss-Sidel smoothing) 방법이 적용될 수 있다. 프리스무딩 단계(S101)를 통해서 상세한 레벨의 셀에서 선형시스템의 중간해(Immediate solution)와 레지듀얼(residual)을 얻을 수 있다. 여기서, 중간해는 최종 참값을 구하는 중간 과정에서 얻을 수 있는 참 값에 근사한 해를 말하며, 최종 참값과는 차이가 있을 수 있다. 레지듀얼은 중간해와 참값의 차이를 보상해주는 값을 의미한다.
리스트릭션 단계(S102)는 상세한 레벨의 셀을 다운 샘플링(down sampling)하여 성긴 레벨의 셀을 구하고, 제 1 레지듀얼을 성긴 레벨의 셀의 제 2 레지듀얼로 설정하는 단계이다. 다운 샘플링은 상세한 레벨의 셀의 정중앙값을 취하고, 정중앙값을 취한 셀의 숫자로 정중앙값을 나누어 성긴 레벨의 셀을 구하는 과정을 포함할 수 있다.
도 3은 상세한 레벨의 셀을 성긴 레벨의 셀로 리스트릭션한 결과를 예시한 것이다.
상세한 레벨의 셀이 4개의 셀을 포함한다고 가정할 때, 4개의 셀의 정중앙값 4개를 획득하고, 획득한 정중앙 값을 4로 나누어 하나의 성긴 레벨의 셀 값으로 설정할 수 있다. 또한, 제 1 레지듀얼을 성긴 레벨상의 레지듀얼, 즉 제 2 레지듀얼로 설정하여 성긴 레벨상에서 해를 구할 수 있다.
본 발명의 실시례에 따른 V 사이클의 리스트릭션 단계(S102)에서 비유체 셀 중 비어있는 셀이 아닌 솔리드 객체 셀에 대하여, 솔리드 객체 셀의 주변 유체 셀 값의 평균을 구하여 해당 솔리드 객체 셀의 값으로 설정할 수 있다. 이로 인해 해의 최종적인 해의 정확도를 더욱 향상시키는 결과를 얻을 수 있다.
유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 리스트릭션하면, 리스트릭션 과정에서 유체 셀의 값을 계산할 때 비유체 셀의 값을 고려하게 되어 경계에 위치한 유체 셀의 값은 원래 그 위치에서의 값보다 낮은 값을 갖게 된다. 하지만, 본 발명의 실시례에 따른 V 사이클을 이용한 멀티그리드 방법의 리스트릭션 단계에서는 비유체 셀에 주변 유체 셀의 평균값을 채우기 때문에 리스트릭션을 수행한 이후에 유체 셀의 값이 감소하는 경향이 현저하게 줄어들어 유체 셀의 해를 참값에 더욱 가깝게 구할 수 있다.
미들스무딩 단계(S104)는 상세한 레벨의 셀에서 고주파 성분을 분리하여 고주파 성분해를 구하고, 고주파성분해를 스무딩하여 완곡화된 고주파성분해를 구하는 단계이다.
상술한 미들스무딩 단계(S104)에서 분리되는 고주파 성분은 상세한 레벨의 셀과 성긴 레벨의 셀의 차로 얻어질 수 있다. 리스트릭션 단계(S102)를 수행하기 전 상세한 레벨의 셀은 고주파 성분과 저주파 성분을 모두 포함하고 있으나, 리스트릭션 결과로 얻어지는 성긴 레벨의 셀은 저주파성분만을 포함하게 된다. 따라서, 상세한 레벨의 셀의 고주파 성분은 상세한 레벨의 셀과 성긴 레벨의 셀의 차로 얻어질 수 있다.
종래의 V 사이클은 리스트릭션 과정에서 버려지는 고주파 성분을 고려하지 아니하여, V 사이클을 통해 얻어지는 해의 정확도가 떨어지거나, 일정 수준 이상의 정확도를 갖는 해를 구하기 위해서는 상대적으로 더 많은 계산시간을 요구하는 단점이 있었다. 그러나 본 발명의 실시례에 따른 멀티그리드 방법은 종래에는 고려되지 않은 고주파 성분이 고려되어 얻어지는 해의 정확도를 높일 수 있도록 하였다.
미들스무딩 단계(S104)에서 분리된 고주파 성분을 스무딩하여 고주파성분해를 구할 때, 고주파성분해를 구하는 과정은 자코비 스무딩(Jacobi smoothing) 기법 또는 가우스-자이델 스무딩(Gauss-Sidel smoothing) 기법을 적용될 수 있다. 스무딩을 거쳐 고주파성분해을 구하면, 제 1 중간해를 참값에 가까워지도록 보간하는 효과를 얻을 수 있다.
미들스무딩 단계(S104)에서 고주파성분해를 미들스무딩하여 완곡화된 고주파성분해를 얻을 수 있다. 본 발명의 실시례에 따른 V 사이클을 이용한 멀티그리드 방법은 종래의 V 사이클에 더하여 미들 스무딩 단계(S104) 부가하여 완곡화된 고주파성분해를 제 1 중간해에 더하여 이후 과정을 수행하므로, 결과적으로 보다 참값에 더 가까운 해를 얻을 수 있다.
연산 단계(S105)는 성긴 레벨의 셀에서 성긴 해를 구하는 단계이다. 성긴 레벨의 셀에서 성긴해를 구하는 방법으로 켤레 경사도법(conjugate gradient), 전처리된 켤레 경사도법(preconditioned conjugate gradient) 등이 이용될 수 있다.
상술한 바와 같이 멀티그리드 방법의 전 과정에서 상대적으로 가장 많은 시간이 소요되는 단계는 연산 단계(S105)이다. 종래의 V 사이클에서 연산 단계(S105)는 CPU에서 처리되는 것이 일반적이었다. V 사이클을 이용한 멀티 그리드법이 복수의 프로세서에 의해 구현되는 경우에도 각각의 프로세서가 특정 단계를 수행하는 형태로서 어느 한 프로세서가 특정 단계를 수행할 때, 다른 프로세서는 유휴 상태로, 특정 단계 시점에서 병렬처리라 보기 어려운 점이 있었다.
본 발명의 실시 예에 따른 V 사이클을 이용한 멀티그리드 방법은 복수의 프로세서를 동시에 이용하여 멀티그리드 방법을 수행하는 진정한 의미의 병렬 처리 방법을 제공한다. 본 발명의 실시예에 따른 V 사이클을 이용한 멀티그리드 방법의 각 단계는 적어도 하나 이상의 프로세서에 의해 수행될 수 있다. 이하에서는 복수의 프로세서에 의해 수행되는 실시례를 설명한다.
설명의 편의를 위해 2개의 프로세서에 의해 수행되는 경우를 가정하여 설명하나, 3개 이상의 프로세서나 1개의 프로세서 내에 구현된 별개의 코어를 통해 각각 수행될 수 있음은 자명하다. 보다 구체적인 일례로 본 발명의 실시례에 따른 V 사이클을 이용한 멀티그리드 방법을 수행하는 2개의 프로세서는 각각 CPU와 GPU일 수 있다. 이하에서 CPU와 GPU는 해당 단계를 수행하는 각각의 프로세서의 구체적인 일례에 불과하며, 그 명칭에 구애됨 없이 실시례에 따라 다양한 프로세서가 이용될 수 있다.
종래의 V 사이클을 멀티그리드 방법에서 연산과정은 CPU에서 수행되었으나, 본 발명의 실시례에 따른 멀티그리드 방법에서 연산단계(S105)는 GPU에서 수행될 수 있다. CPU는 연산 속도가 늦는 대신 많은 메모리를 포함하고 있어, 상세한 레벨의 셀의 해를 구하는데 유리하다. 이에 반해, GPU는 메모리가 작은 대신 연산 속도가 빨라 성긴 레벨의 셀의 해를 구하는 데 유리하다.
구현의 일례에서, 포스트 스무딩 단계(S101)와 리스트릭션 단계(S102)가 CPU에서 수행되고, 연산 단계(S105)가 GPU에서 수행될 때, 종래의 멀티 그리드 방법에 의하면 GPU가 연산 단계(S105)가 수행할 때, CPU는 유휴 상태가 된다.
본 발명의 실시예에 따른 V 사이클을 이용한 멀티그리드 방법에서는 상술한 바와 같이 종래의 V 사이클 과정에서 고려되지 아니하던 상세한 레벨의 셀의 고주파 성분을 고려하여 최종 해를 얻어낸 것을 일 특징으로 하며, 이를 위해 미들스무딩 단계(S104)를 더 포함함을 설명한 바 있다. 본 발명의 실시예에 따른 멀티그리드 방법에서 GPU가 성긴 레벨의 셀에서 해를 구할 때, 유휴 상태의 CPU에 의해 미들스무딩 단계(S104)가 수행될 수 있다.
본 발명의 실시례에 따른 멀티그리드 방법은 GPU가 연산 단계(S105)를 수행하는 동안 CPU가 미들스무딩 단계(S104)를 수행하여 CPU의 유휴상태를 제거하였다. 이러한 점에서 본 발명의 실시례에 따른 멀티그리드 방법은 미들스무딩 단계(S104)가 CPU에서 수행되는 동안 GPU에서 연산 단계(S105)가 수행되므로 진정한 의미의 병렬처리 방법이라 할 수 있다.
프로롱게이션 단계(S107)는 연산 단계(S105)를 통해 얻은 성긴 해를 업 샘플링(up-sampling)하여 상세한 레벨의 셀로 전달하고, 제1 중간해, 상기 완곡화된 고주파성분해 및 성긴 해를 더하여 수정된 중간 해를 구하는 단계이다.
도 4는 본 발명의 실시례에 따른 프로롱게이션 단계(S107)에서 하나의 셀을 4개의 셀로 업 샘플링하는 과정을 예시한 것이다. 업 샘플링 과정을 거쳐 하나의 셀의 해를 4개의 셀의 해로 설정하여 상세한 레벨의 셀을 얻을 수 있다. 또한, 프리스무딩 단계(S101)를 통해서 구한 제1 중간해, 미들스무딩 단계(S104)를 통해서 구한 완곡화된 고주파성분해 및 연산 단계(S105)에서 구한 성긴 해를 더하여 참값에 더욱 가까운 수정된 중간해를 얻을 수 있다.
포스트스무딩 단계(S108)는 프로롱게이션 단계(S107)에서 얻은 수정된 중간해를 스무딩하여 제2 중간해를 구하는 단계이다. 포스트스무딩 단계(S107)에는 자코비 스무딩 기법 또는 가우스-자이델 스무딩 기법이 적용될 수 있다. 수정된 중간해를 포스트스무딩하여 제 2 중간해를 얻을 수 있으며, 포스트스무딩 단계(S108)를 거친 제2 중간해는 참 값에 더욱 가까운 값이 될 수 있다.
유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 프로롱게이션하는 경우, 본 발명의 실시례에 따른 프로롱게이션 단계(S107)에서 유체 셀의 해와 비유체 셀의 해를 평균하여 해를 구할 수 있다.
도 5는 유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 프로롱게이션하는 방법의 예이며, 도 6은 본 발명의 실시례에 따른 유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 프로롱게이션하는 방법을 예시한 것이다.
도 5를 참조하면, 유체 셀과 비유체 셀의 경계에 위치한 유체 셀을 프로롱게이션 할 때 비유체 셀의 값을 고려하게 되어 경계에 위치한 유체 셀의 값은 평균 값보다 낮은 값을 갖게 된다. 따라서, 본 발명의 실시례에 따른 프로롱게이션 단계(S107)에서는 프로롱게이션 대상 셀이 유체 셀이 아닌 셀 중 비어있는 셀이 아닌 솔리드 객체 셀인지 여부를 판단하고, 솔리드 객체 셀에 대해서 주변 유체 셀의 평균값을 채워주는 과정이 수행될 수 있다. 도 6에서 EX로 표시된 셀은 솔리드 객체 셀로서 주변 유체 셀의 평균값이 해당 셀에 설정된다.
이러한 결과, 유체 셀의 리스트릭션 과정에 주변값이 아닌 최대한 유체 셀의 값만이 반영되어 경계에 위한 유체 셀의 해를 참값에 더욱 가깝게 구할 수 있다. 도 6을 참조하면, 도 5에서 구한 유체 셀과 비유체 셀의 경계에 위치한 상기 유체 셀의 해는 같은 위치에서의 프로롱게이션 전의 값보다 감소된 값을 갖는다는 것을 알 수 있다.
표 2는 본 발명의 일 실시례에 따른 V 사이클을 이용한 멀티그리드 방법을 구현하는 알고리즘의 일례를 나타낸 것이다.
상술한 바와 같이 본 발명의 실시례에 따른 V 사이클은 리스트릭션 과정에서 분리한 고주파 성분을 처리하여 고주파 성분해를 구하고 이를 포스트스무딩과정에 반영하는 미들 스무딩 과정을 거친다. 본 발명의 실시례에 따른 V 사이클을 종래의 V 사이클과 구별하여 ∀(Inverted A) 사이클로 칭하기로 한다.
Figure pat00002
본 발명의 실시례에 따른 ∀ 사이클이 종래의 V 사이클과 구별되는 기술적 특징은 표 2의 알고리즘에서 Line 5, Line 7, Line 11 및 Line 14를 통해 확인할 수 있다.
Line 1에서 L은 가장 상세한 레벨과 가장 성긴 레벨까지의 개수를 나타낸다. 예를 들어, 레벨이 L개인 경우, 상기 L은 0에서 L-2까지 L-1번 스무딩 및 리스트릭션이 수행 될 수 있다.
Line 2에서 Al 은 각 레벨의 이산 라플라시안(Discrete Laplacian)이고, Smooth(Al,xl,bl)은 프리스무딩(presmoothing)을 나타낸다.
Line 3에서 r은 레지듀얼을 나타낸다. 예를 들어, 선형 방정식의 형태가 Ax=b인 경우(여기서, A, x 및 b는 행렬을 의미하며, 편의상 b를 선형 방정식의 우측항이라고 지칭하고, Ax는 좌측항이라고 지칭한다), 우측항에서 좌측항을 뺀 값을 레지듀얼로 정의하며, rl?bl-Alxl는 본 레지듀얼을 각 레벨별로 구해짐을 나타낸다.
Line 4의 bl +1?Restrict(rl)은 리스트릭션을 나타낸다. Line 3에서 구한 레지듀얼 rl을 다운 샘플링하여, 다음 레벨의 우측항으로 설정한다.
Line 5의 rl high ? rl - Prolongate(bl +1)는 미들스무딩을 위해 고주파 성분을 분리하는 단계이다. 고주파 성분을 분리하는 단계는 리스트릭션 전 셀(rl )과 리스트릭션 후 셀(bl +1)의 차를 이용해서 구할 수 있으며, rl high은 종래의 V 사이클을 이용한 멀티그리드 방법에서 고려되지 않은 고주파성분해에 해당한다.
Line 7의 xl high?0에서는 미들스무딩에 사용되는 값을 0으로 초기화한다.
Line 9의 AL -1xL -1=bL -1은 가장 성긴 레벨에서의 연산 단계를 나타낸다. 연산 단계에는 켤레 경사도법(conjugate gradient) 또는 전처리된 켤레 경사도법(preconditioned conjugate gradient)이 적용될 수 있다.
Line 11의 Smooth(Al, xl high, rl high)은 고주파 성분을 미들스무딩을 수행하는 단계를 나타낸다. 이 과정을 거쳐 완곡화된 고주파성분해를 구할 수 있다.
Line 14의 xl ?xl + xl high +prolongate(xl +1)은 새로운 압력 근사치를 계산하기 위해 미들스무딩의 결과로 나온 압력 xl high을 기존 근사치에 추가해주는 단계를 나타낸다. xl은 프리스무딩단계를 거친 중간해이고, xl high 은 종래에 고려되지 않은 고주파성분으로서, 본 발명의 실시예에서는 고주파성분해를 미들스무딩한 완곡화된 고주파성분해를 의미한다. prolongate(xl+1)은 성긴 레벨의 셀의 해를 프로롱게이션 하여 상세한 레벨로 전달한 성긴 해를 의미한다.
Line 15에서 Smooth(Al,xl,bl)은 포스트스무딩을 나타낸다. 종래에는 고려되지 않은 고주파성분을 고려해서 스무딩하게 되어, 스무딩의 횟수가 적은 경우에도 참값에 빨리 도달할 수 있다.
도 7은 본 발명의 실시례에 따른 ∀ 사이클을 이용한 멀티그리드 방법이 구현될 수 있는 정보 처리 장치(70)를 나타낸 블록도이다.
정보 처리 장치(70)는 적어도 하나 이상의 프로세서를 포함한다. 도 7은 2개의 프로세서(제1 프로세서(71) 및 제2 프로세서(72))로 구성된 예를 도시하고 있으나, 이는 일례에 불과하며 프로세서의 수에는 그 제한이 없다.
정보 처리 장치(70)는 메모리(75)를 더 포함할 수 있다. 실시례에 따라서 정보 처리 장치(70)는 제1 메모리(76)와 제2 메모리(77)를 더 포함할 수 있으며, 제1 메모리(76)와 제2 메모리(77)는 각각 제1 프로세서(71) 및 제2 프로세서(72)와 기능적으로 연결되어 있을 수 있다.
제1 프로세서(71) 및 제2 프로세서(72)는 본 발명의 실시례에 따른 ∀ 사이클을 이용한 멀티그리드 방법을 구현할 수 있다. 본 발명의 실시례에 따른 ∀ 사이클을 이용한 멀티그리드 방법의 각 단계는 제1 프로세서(71) 및 제2 프로세서(72)에 의해 각각 수행되거나, 나뉘어 수행될 수 있다. 일 실시례에서 제1 프로세서(71)는 CPU, 제2 프로세서(72)는 GPU 일 수 있다.
제1 메모리(76)와 제2 메모리(77)는 각각 제1 프로세서(71) 및 제2 프로세서(72) 내부에 구현되거나, 전용 메모리로서 외부에 구현되어 기능적으로 연결될 수 있다.
제1 프로세서(71) 및 제2 프로세서(72)는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다.
메모리(75), 제1 메모리(76), 제2 메모리(77)는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.
본 발명의 실시례가 소프트웨어로 구현될 때, 상술한 기법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(75), 제1 메모리(76), 제2 메모리(77) 중 어느 하나에 저장되고, 제1 프로세서(71) 및/또는 제2 프로세서(72)에 의해 실행될 수 있다.
본 발명의 실시례에 따른 ∀ 사이클을 이용한 멀티그리드 방법은 정보 처리 장치에 의하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
표 3은 본 발명에 따른 ∀ 사이클을 이용한 멀티그리드 방법에 의해 실험한 결과를 표로 정리한 것이다.
Figure pat00003
표 3에서 리솔루션(Resolution)은 해상도를 나타내고, 레지듀얼(Residual)은 그리드의 각 셀에 대해 구하고자 하는 최종 값과 현재의 단계까지 구해진 값 사이의 차이를 나타낸다.
표 3에서, 해상도가 1283 일 때, 미들스무딩이 8인 경우, 종래의 V 사이클에서는 레지듀얼이 20.452였으나, 본 발명의 실시예에 따른 ∀ 사이클을 적용한 경우에는 8.283으로 레지듀얼의 감소비율(Residual Reduction)이 59.5%에 이르는 것을 확인할 수 있다. 이를 통해, 본 발명에 따른 ∀ 사이클을 이용한 멀티그리드 방법이 적용되면, 단위 사이클(cycle)의 정확도를 높이고, 특정 정확도까지의 계산시간을 단축하는 효과가 있음을 확인할 수 있다.
상술한 실시예들은 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (14)

  1. 상세한 레벨의 셀을 스무딩하여 제 1 중간해 및 제 1 레지듀얼을 구하는 프리스무딩(pre-smoothing) 단계;
    상기 상세한 레벨의 셀을 다운 샘플링(down-sampling)하여 성긴 레벨의 셀을 구하고, 상기 제 1 레지듀얼을 상기 성긴 레벨의 셀의 제 2 레지듀얼로 설정하는 리스트릭션(restriction) 단계;
    상기 상세한 레벨의 셀의 고주파성분해를 구하고, 상기 고주파성분해를 스무딩하여 완곡화된 고주파성분해를 구하는 미들스무딩(middle smoothing) 단계;
    상기 성긴 레벨의 셀에서 성긴해를 구하는 연산 단계;
    상기 성긴해를 업샘플링하여 상기 상세한 레벨의 셀로 전달하고, 상기 제1 중간해, 상기 완곡화된 고주파성분해 및 상기 성긴해를 더하여 수정된 중간해를 구하는 프로롱게이션(prolongation) 단계; 및
    상기 수정된 중간해를 스무딩하여 제 2 중간해를 구하는 포스트스무딩(post-smoothing) 단계;를 포함하는 V사이클을 이용한 멀티그리드 방법.
  2. 제1 항에 있어서,
    상기 프리스무딩 단계, 상기 미들스무딩 단계, 상기 포스트스무딩 단계에 적용되는 스무딩 기법은 자코비 스무딩(Jacobi smoothing)방법 또는 가우스-자이델 스무딩(Gauss-Sidel smoothing)방법인 방법.

  3. 제1 항에 있어서,
    상기 프리스무딩 단계, 상기 리스트릭션 단계, 상기 미들스무딩 단계, 상기 프로롱게이션 단계 및 상기 포스트스무딩 단계는 제1 프로세서에서 수행되고,
    상기 연산 단계는 제2 프로세서에서 수행되는 방법.
  4. 제3 항에 있어서,
    상기 미들스무딩 단계 및 상기 연산단계는 동시에 수행되는 방법.
  5. 제1 항에 있어서, 상기 리스트릭션 단계는,
    리스트릭션 대상 셀이 솔리드 객체 셀인지 여부를 판단하는 단계; 및
    상기 리스트릭션 대상 셀이 솔리드 객체 셀이면, 상기 리스트릭션 대상 셀을 상기 리스트릭션 대상 셀의 주변 유체 셀의 평균값으로 설정하는 단계;를 포함하는 방법.
  6. 제5 항에 있어서, 상기 프로롱게이션 단계는,
    프로롱게이션 대상 셀이 솔리드 객체 셀인지 여부를 판단하는 단계; 및
    상기 프로롱게이션 대상 셀이 솔리드 객체 셀이면, 상기 프로롱게이션 대상 셀을 상기 프로롱게이션 대상 셀의 주변 유체 셀의 평균값으로 설정하는 단계;를 포함하는 방법.
  7. V 사이클을 이용한 멀티그리드 방법을 수행하는 프로그램이 기록된 컴퓨터 읽을 수 있는 기록 매체에 있어서, 상기 V 사이클을 이용한 멀티그리드 방법은:
    상세한 레벨의 셀을 스무딩하여 제 1 중간해 및 제 1 레지듀얼을 구하는 프리스무딩(pre-smoothing) 단계;
    상기 상세한 레벨의 셀을 다운 샘플링하여 성긴 레벨의 셀을 구하고, 상기 제 1 레지듀얼을 상기 성긴 레벨의 셀의 제 2 레지듀얼로 설정하는 리스트릭션(restriction) 단계;
    상기 상세한 레벨의 셀의 고주파성분해를 구하고, 상기 고주파성분해를 스무딩하여 완곡화된 고주파성분해를 구하는 미들스무딩(middle smoothing) 단계;
    상기 성긴 레벨의 셀에서 성긴해를 구하는 연산 단계;
    상기 성긴해를 업샘플링하여 상기 상세한 레벨의 셀로 전달하고, 상기 제1 중간해, 상기 완곡화된 고주파성분해 및 상기 성긴해를 더하여 수정된 중간해를 구하는 프로롱게이션(prolongation) 단계; 및
    상기 수정된 중간해를 스무딩하여 제 2 중간해를 구하는 포스트스무딩(post-smoothing) 단계;를 포함하는 기록 매체.
  8. V사이클을 이용한 멀티그리드 방법을 수행하도록 설정된 적어도 하나의 프로세서를 포함하는 정보 처리 장치에 있어서, 상기 V 사이클을 이용한 멀티그리드 방법은:
    상세한 레벨의 셀을 스무딩하여 제 1 중간해 및 제 1 레지듀얼을 구하는 프리스무딩(pre-smoothing) 단계;
    상기 상세한 레벨의 셀을 다운 샘플링하여 성긴 레벨의 셀을 구하고, 상기 제 1 레지듀얼을 상기 성긴 레벨의 셀의 제 2 레지듀얼로 설정하는 리스트릭션(restriction) 단계;
    상기 상세한 레벨의 셀의 고주파성분해를 구하고, 상기 고주파성분해를 스무딩하여 완곡화된 고주파성분해를 구하는 미들스무딩(middle smoothing) 단계;
    상기 성긴 레벨의 셀에서 성긴해를 구하는 연산 단계;
    상기 성긴해를 업샘플링하여 상기 상세한 레벨의 셀로 전달하고, 상기 제1 중간해, 상기 완곡화된 고주파성분해 및 상기 성긴해를 더하여 수정된 중간해를 구하는 프로롱게이션(prolongation) 단계; 및
    상기 수정된 중간해를 스무딩하여 제 2 중간해를 구하는 포스트스무딩(post-smoothing) 단계;를 포함하는 정보 처리 장치.
  9. 제8 항에 있어서, 상기 적어도 하나의 프로세서는:
    상기 프리스무딩 단계, 상기 리스트릭션 단계, 상기 미들스무딩 단계, 상기 프로롱게이션 단계 및 상기 포스트스무딩 단계를 수행하도록 설정된 제1 프로세서; 및
    상기 연산 단계를 수행하도록 설정된 제2 프로세서;를 포함하는 정보 처리 장치.
  10. 제9 항에 있어서,
    상기 제1 프로세서는 CPU(central processing unit) 이고, 상기 제2 프로세서는 GPU(graphics processing unit)인 정보 처리 장치.
  11. 제10 항에 있어서,
    상기 미들스무딩 단계 및 상기 연산단계가 동시에 수행되는 것을 특징으로 하는 비압축성 유체를 시뮬레이션하는 V사이클을 이용한 멀티그리드 방법.
  12. 제8 항에 있어서,
    상기 프리스무딩 단계, 상기 미들스무딩 단계, 상기 포스트스무딩 단계에 적용되는 스무딩 기법은 자코비 스무딩(Jacobi smoothing)방법 또는 가우스-자이델 스무딩(Gauss-Sidel smoothing)방법인 정보 처리 장치.
  13. 제8 항에 있어서, 상기 리스트릭션 단계는,
    리스트릭션 대상 셀이 솔리드 객체 셀인지 여부를 판단하는 단계; 및
    상기 리스트릭션 대상 셀이 솔리드 객체 셀이면, 상기 리스트릭션 대상 셀을 상기 리스트릭션 대상 셀의 주변 유체 셀의 평균값으로 설정하는 단계;를 포함하는 정보 처리 장치.
  14. 제13 항에 있어서, 상기 프로롱게이션 단계는,
    프로롱게이션 대상 셀이 솔리드 객체 셀인지 여부를 판단하는 단계; 및
    상기 프로롱게이션 대상 셀이 솔리드 객체 셀이면, 상기 프로롱게이션 대상 셀을 상기 프로롱게이션 대상 셀의 주변 유체 셀의 평균값으로 설정하는 단계;를 포함하는 정보 처리 장치.
KR1020130050295A 2013-03-04 2013-05-03 V 사이클을 이용한 멀티그리드 방법 및 장치 KR101470488B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2013/007401 WO2014137042A1 (ko) 2013-03-04 2013-08-16 V 사이클을 이용한 멀티그리드 방법 및 장치
US14/846,069 US9818167B2 (en) 2013-03-04 2015-09-04 Multi-grid method and apparatus using V cycle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130023039 2013-03-04
KR1020130023039 2013-03-04

Publications (2)

Publication Number Publication Date
KR20140109210A true KR20140109210A (ko) 2014-09-15
KR101470488B1 KR101470488B1 (ko) 2014-12-09

Family

ID=51755965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130050295A KR101470488B1 (ko) 2013-03-04 2013-05-03 V 사이클을 이용한 멀티그리드 방법 및 장치

Country Status (2)

Country Link
US (1) US9818167B2 (ko)
KR (1) KR101470488B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102399601B1 (ko) 2015-07-20 2022-05-18 삼성전자주식회사 효율적인 제약 조건 처리를 위한 입자 기반 모델링 방법 및 장치
CN117252788B (zh) * 2023-11-20 2024-03-05 华南理工大学 一种图像修复方法、装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293488A (ja) * 2005-04-06 2006-10-26 Canon Inc データ処理方法及びデータ処理装置
US7672511B2 (en) * 2005-08-30 2010-03-02 Siemens Medical Solutions Usa, Inc. System and method for lattice-preserving multigrid method for image segmentation and filtering
DE102005058095A1 (de) * 2005-12-05 2007-06-06 Forschungszentrum Jülich GmbH Verfahren zur topographischen Darstellung von Veränderungen in einem untersuchten Gehirn
JP2008197921A (ja) 2007-02-13 2008-08-28 Mizuho Information & Research Institute Inc シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
KR101178443B1 (ko) * 2009-01-29 2012-08-30 오승우 의상 시뮬레이션을 위한 물리법칙에 기반한 멀티그리드 방법 및 그 프로그램이 기록된 컴퓨터가 판독가능한 기록매체
KR101335497B1 (ko) * 2010-11-15 2013-12-02 (주)에프엑스기어 멀티그리드를 이용한 유체 시뮬레이션 시스템 및 방법
CA2839098C (en) * 2011-06-27 2016-09-20 Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. Applying rapid numerical approximation of convolutions with filters for image processing purposes

Also Published As

Publication number Publication date
US9818167B2 (en) 2017-11-14
KR101470488B1 (ko) 2014-12-09
US20150379691A1 (en) 2015-12-31

Similar Documents

Publication Publication Date Title
US11830143B2 (en) Tessellation method using recursive sub-division of triangles
CN107977414B (zh) 基于深度学习的图像风格迁移方法及其系统
US11734879B2 (en) Graphics processing using directional representations of lighting at probe positions within a scene
Akinci et al. Coupling elastic solids with smoothed particle hydrodynamics fluids
Akinci et al. Parallel surface reconstruction for particle‐based fluids
KR101808027B1 (ko) 수치 데이터의 압축 및 압축해제
US20100277475A1 (en) Computer graphic system and method for simulating hair
KR102282189B1 (ko) 밉맵 생성 방법 및 장치
KR101470488B1 (ko) V 사이클을 이용한 멀티그리드 방법 및 장치
US8264487B2 (en) Method for converting polygonal surfaces to levelsets
Auer et al. A semi‐Lagrangian closest point method for deforming surfaces
WO2015110638A1 (en) Method, system and computer program product for 3d objects graphical representation
KR20160068204A (ko) 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체
Jung et al. A heterogeneous CPU–GPU parallel approach to a multigrid poisson solver for incompressible fluid simulation
Wang et al. An improved CPU–GPU parallel framework for real-time interactive cutting simulation of deformable objects
US10586401B2 (en) Sculpting brushes based on solutions of elasticity
Xu et al. View-space meta-ball approximation by depth-independent accumulative fields
US8010330B1 (en) Extracting temporally coherent surfaces from particle systems
CN116310145A (zh) 基于正交基函数的三维空间模型重建方法和装置
WO2014137042A1 (ko) V 사이클을 이용한 멀티그리드 방법 및 장치
JP2006209631A (ja) 高精度モデルの生成方法及び生成装置

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: 20171204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191128

Year of fee payment: 6