KR101809010B1 - System and method for analyzing openfoam - Google Patents

System and method for analyzing openfoam Download PDF

Info

Publication number
KR101809010B1
KR101809010B1 KR1020160116391A KR20160116391A KR101809010B1 KR 101809010 B1 KR101809010 B1 KR 101809010B1 KR 1020160116391 A KR1020160116391 A KR 1020160116391A KR 20160116391 A KR20160116391 A KR 20160116391A KR 101809010 B1 KR101809010 B1 KR 101809010B1
Authority
KR
South Korea
Prior art keywords
matrix
value
term
grid
numerical instability
Prior art date
Application number
KR1020160116391A
Other languages
Korean (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 KR1020160116391A priority Critical patent/KR101809010B1/en
Application granted granted Critical
Publication of KR101809010B1 publication Critical patent/KR101809010B1/en

Links

Images

Classifications

    • G06F17/5009

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An openFOAM analysis system and method are provided. The openFOAM analysis system according to an embodiment of the present invention includes a matrix analyzing part for analyzing a matrix for a plural equation generated on the basis of a grid and a setting condition on an open field operation and manipulation (OpenFOAM) and determining a risk grid causing the numerical instability of the matrix; a matrix value changing part for changing the matrix value of the risk grid to mitigate the numerical instability; and a calculation part for calculating the solution of the matrix using the changed matrix value.

Description

오픈폼 분석 시스템 및 방법{SYSTEM AND METHOD FOR ANALYZING OPENFOAM}[0001] SYSTEM AND METHOD FOR ANALYZING OPENFOAM [0002]

본 발명의 실시예들은 유동 해석을 위한 오픈폼(OpenFOAM)의 행렬을 분석하기 위한 기술과 관련된다.Embodiments of the present invention relate to techniques for analyzing a matrix of OpenFOAM for flow analysis.

오픈폼(OpenFOAM : Open Field Operation And Manipulation)은 유동 해석 라이브러리로서, C++ 프로그래밍 언어로 만들어진 소스가 공개되어 누구나 사용 가능하다. 상기 오픈폼은 기능성 및 확장성에 있어서 상용 유동 해석 프로그램에 준하거나 더 우수하기 때문에 다수의 연구 기관 및 산업체에서 많이 활용되고 있다. 이러한 오픈폼은 해석 공간을 나타내는 격자(grid)와 유동의 특성(밀도, 점성 등), 계산 조건(차분 기법, 경계 조건, 초기 조건, 계산 시간 간격 등), 난류 모델 등과 같은 설정 조건을 기반으로 유동의 속도, 압력, 온도 등을 계산하기 위한 다원의 1차 방정식의 행렬을 생성하고, 상기 오픈폼에서 제공되는 행렬 솔버(matrix solver)를 이용하여 상기 행렬의 해를 계산함으로써 구하고자 하는 유동의 속도, 압력, 온도, 밀도 등을 획득하게 된다.OpenFOAM (Open Field Operation and Manipulation) is a library of flow analysis, made available in C ++ programming language and available to anyone. Since the open foam is superior to or better than a commercial flow analysis program in terms of functionality and expandability, it is widely used in a large number of research institutes and industries. These open forms are based on setting conditions such as grid and flow characteristics (density, viscosity, etc.), calculation conditions (difference technique, boundary condition, initial condition, calculation time interval, etc.) A matrix of a plurality of linear equations for calculating the velocity, pressure, temperature and the like of the flow is generated and the solution of the matrix to be obtained is calculated by using the matrix solver provided in the open form, Speed, pressure, temperature, and density.

그러나, 종래에는 상기 행렬이 수치적으로 불안정하여 비물리적인 속도, 압력 등이 발생하는 경우(예를 들어, 속도가 몇 억 또는 몇 십억 m/s가 되거나 압력이 몇 천만 기압이 되는 등), 이를 해결하기 위한 기능이 존재하지 않아 사용자가 직접 상기 행렬의 수치적 불안정성에 대한 원인을 분석하여야 하였으며 이를 위해서는 매우 복잡한 오픈폼의 소스 코드 및 구조에 대한 이해와 더불어 높은 수준의 수치 해석 지식이 필요하였다. 따라서, 사용자들은 이러한 어려움으로 인해 오픈폼 상에서의 행렬의 수치적 불안정성에 대해 적극적으로 대응하지 못하고 있는 실정이다.However, in the past, when the matrix is numerically unstable and a non-physical velocity, pressure, or the like is generated (for example, the velocity is several hundred million or several billion m / s or the pressure is several million atmospheric pressure) Since there is no function to solve this problem, the user must directly analyze the cause of the numerical instability of the matrix. In order to do this, it is necessary to understand the source code and structure of a very complicated open form, . Therefore, users are not actively responding to the numerical instability of the matrix on the open form due to these difficulties.

한국등록특허공보 제10-1612506호(2016.04.07)Korean Patent Registration No. 10-1612506 (Apr.

본 발명의 실시예들은 오픈폼의 행렬을 분석하여 상기 행렬의 수치적 불안정성을 개선하는 수단을 제공하기 위한 것이다.Embodiments of the present invention are intended to provide a means for analyzing a matrix of open forms to improve the numerical instability of the matrix.

본 발명의 예시적인 실시예에 따르면, 오픈폼(OpenFOAM : Open Field Operation And Manipulation) 상에서의 격자(grid) 및 설정 조건을 기반으로 생성되는 다원 방정식에 대한 행렬을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정하는 행렬 분석부; 상기 수치적 불안정성이 개선되도록 상기 위험 격자의 행렬 값을 변경하는 행렬 값 변경부; 및 변경된 상기 행렬 값을 이용하여 상기 행렬의 해를 계산하는 계산부를 포함하는, 오픈폼 분석 시스템이 제공된다.According to an exemplary embodiment of the present invention, a matrix for a polygonal equation generated based on a grid and a setting condition on an Open Field Operation and Manipulation (OpenFOAM) is analyzed to determine the numerical instability of the matrix A matrix analyzer for determining a critical grid to cause; A matrix value changing unit for changing a matrix value of the critical grid to improve the numerical instability; And a calculation unit for calculating the solution of the matrix using the changed matrix value.

상기 행렬 분석부는, 상기 행렬의 요소를 분석하여 상기 위험 격자의 수치적 불안정성의 요인을 판단할 수 있다.The matrix analyzing unit may analyze factors of the matrix to determine factors of the numerical instability of the critical grid.

상기 행렬 분석부는, 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나 음수인 격자, 소스 행렬(source_)의 값이 설정된 값 이상인 격자, 또는 설정된 값 이상의 종횡비로 인해 특정 방향으로 플럭스(flux)가 증가하는 격자를 상기 위험 격자로 결정할 수 있다.The matrix analyzing unit may be configured such that a matrix having a value of a diagonal matrix diagPtr_ is less than or equal to a predetermined value, a lattice of a negative number, a lattice of which a value of a source matrix source_ is greater than or equal to a predetermined value, Can be determined as the above-mentioned critical grid.

상기 행렬 값 변경부는, 상기 수치적 불안정성이 비정상항에 기인한 것으로 판단되는 경우 상기 행렬의 인자에 적용되는 계산 시간 간격(△t)을 감소시킴으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The matrix value changing unit may change the matrix value of the critical grid by decreasing the computation time interval? T applied to the factor of the matrix when the numerical instability is determined to be caused by the abnormal term.

상기 행렬 값 변경부는, 상기 수치적 불안정성이 대류항에 기인한 것으로 판단되는 경우 상기 대류항에 내재적 모멘텀 소스항을 추가함으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The matrix value changing unit may change the matrix value of the critical grid by adding an implicit momentum source term to the convection term if it is determined that the numerical instability is due to the convection term.

상기 행렬 값 변경부는, 상기 수치적 불안정성이 압력구배항에 기인한 것으로 판단되는 경우 상기 압력구배항에 모멘텀 싱크항을 추가함으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The matrix value changing unit may change the matrix value of the critical grid by adding a momentum sink term to the pressure gradient term when it is determined that the numerical instability is due to the pressure gradient term.

상기 행렬 값 변경부는, 상기 수치적 불안정성이 확산항에 기인한 것으로 판단되는 경우 상기 확산항에 인위적 점성항을 추가함으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The matrix value changing unit may change the matrix value of the critical grid by adding an artificial viscous term to the diffusion term when it is determined that the numerical instability is due to a diffusion term.

상기 행렬 값 변경부는, 상기 대각 행렬의 값의 크기를 증가시킴으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The matrix value changing unit may change the matrix value of the critical grid by increasing the value of the diagonal matrix.

상기 오픈폼 분석 시스템은, 상기 위험 격자의 격자 형태, 속도, 압력, 온도 및 밀도 중 하나 이상을 가시화하여 사용자에게 제공하는 사용자 인터페이스(UI : User Interface)를 더 포함할 수 있다.The open-form analysis system may further include a user interface (UI) that provides at least one of a lattice shape, a velocity, a pressure, a temperature, and a density of the hazardous grid to a user.

본 발명의 다른 예시적인 실시예에 따르면, 행렬 분석부에서, 오픈폼(OpenFOAM) 상에서의 격자(grid) 및 설정 조건을 기반으로 생성되는 다원 방정식에 대한 행렬을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정하는 단계; 행렬 값 변경부에서, 상기 수치적 불안정성이 개선되도록 상기 위험 격자의 행렬 값을 변경하는 단계; 및 계산부에서, 변경된 상기 행렬 값을 이용하여 상기 행렬의 해를 계산하는 단계를 포함하는, 오픈폼 분석 방법이 제공된다.According to another exemplary embodiment of the present invention, a matrix analyzing unit analyzes a matrix of a polygonal equation generated based on a grid and a setting condition on an open form (OpenFOAM) to determine the numerical instability of the matrix Determining a risk grid to cause; Changing a matrix value of the critical grid so that the numerical instability is improved; And calculating a solution of the matrix using the modified matrix value in a calculation unit.

상기 오픈폼 분석 방법은, 상기 위험 격자를 결정하는 단계 이후, 상기 행렬 분석부에서, 상기 행렬의 요소를 분석하여 상기 위험 격자의 수치적 불안정성의 요인을 판단하는 단계를 더 포함할 수 있다.The open-form analysis method may further include a step of determining factors of numerical instability of the hazardous lattice by analyzing the elements of the matrix in the matrix analysis unit after the determining of the dangerous lattice.

상기 위험 격자를 결정하는 단계는, 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나 음수인 격자, 소스 행렬(source_)의 값이 설정된 값 이상인 격자, 또는 설정된 값 이상의 종횡비로 인해 특정 방향으로 플럭스(flux)가 증가하는 격자를 상기 위험 격자로 결정할 수 있다. The step of determining the critical grid may include determining whether the value of the diagonal matrix diagPtr_ is less than or equal to a predetermined value, a grid having a negative value, a grid having a value of the source matrix source_ equal to or greater than a predetermined value, flux is increased can be determined as the critical grid.

상기 위험 격자의 행렬 값을 변경하는 단계는, 상기 수치적 불안정성이 비정상항에 기인한 것으로 판단되는 경우 상기 행렬의 인자에 적용되는 계산 시간 간격(△t)을 감소시킴으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.Wherein the step of changing the matrix value of the critical grid further comprises the step of decreasing the computation time interval? T applied to the factor of the matrix when the numerical instability is determined to be due to an abnormal term, Can be changed.

상기 위험 격자의 행렬 값을 변경하는 단계는, 상기 수치적 불안정성이 대류항에 기인한 것으로 판단되는 경우 상기 대류항에 내재적 모멘텀 소스항을 추가함으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The step of changing the matrix value of the critical grid may change the matrix value of the critical grid by adding an implicit momentum source term to the convective term if the numerical instability is determined to be due to the convection term.

상기 위험 격자의 행렬 값을 변경하는 단계는, 상기 수치적 불안정성이 압력구배항에 기인한 것으로 판단되는 경우 상기 압력구배항에 모멘텀 싱크항을 추가함으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The step of changing the matrix value of the critical grid may change the matrix value of the critical grid by adding a momentum sink term to the pressure gradient term if it is determined that the numerical instability is due to the pressure gradient term.

상기 위험 격자의 행렬 값을 변경하는 단계는, 상기 수치적 불안정성이 확산항에 기인한 것으로 판단되는 경우 상기 확산항에 인위적 점성항을 추가함으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.Wherein changing the matrix value of the critical grid may change the matrix value of the critical grid by adding an artificial viscous term to the diffusion term if the numerical instability is determined to be due to a diffusion term.

상기 위험 격자의 행렬 값을 변경하는 단계는, 상기 대각 행렬의 값의 크기를 증가시킴으로써 상기 위험 격자의 행렬 값을 변경할 수 있다.The step of changing the matrix value of the critical grid may change the matrix value of the critical grid by increasing the size of the value of the diagonal matrix.

상기 오픈폼 분석 방법은, 상기 위험 격자를 결정하는 단계 이후, 사용자 인터페이스에서, 상기 위험 격자의 격자 형태, 속도, 압력, 온도 및 밀도 중 하나 이상을 가시화하여 사용자에게 제공하는 단계를 더 포함할 수 있다.The open-form analysis method may further include visualizing at least one of a lattice form, a velocity, a pressure, a temperature and a density of the hazardous grid in a user interface and providing the user with a visualized result have.

본 발명의 다른 예시적인 실시예에 따르면, 하드웨어와 결합되어 행렬 분석부에서, 오픈폼(OpenFOAM) 상에서의 격자(grid) 및 설정 조건을 기반으로 생성되는 다원 방정식에 대한 행렬을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정하는 단계; 행렬 값 변경부에서, 상기 수치적 불안정성이 개선되도록 상기 위험 격자의 행렬 값을 변경하는 단계; 및 계산부에서, 변경된 상기 행렬 값을 이용하여 상기 행렬의 해를 계산하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램이 제공된다.According to another exemplary embodiment of the present invention, a matrix analysis unit analyzes a matrix of a plurality of equations generated based on a grid on an open form (OpenFOAM) and a set condition in combination with hardware, Determining a risk lattice that causes numerical instability; Changing a matrix value of the critical grid so that the numerical instability is improved; And calculating a solution of the matrix using the modified matrix value in a calculation unit.

본 발명의 실시예들에 따르면, 오픈폼의 행렬을 분석하여 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정하고, 상기 수치적 불안정성의 요인을 판단할 수 있다.According to embodiments of the present invention, it is possible to determine the risk lattice that causes the numerical instability of the matrix by analyzing the matrix of the open form, and to determine the factor of the numerical instability.

또한, 본 발명의 실시예들에 따르면, 상기 수치적 불안정성이 개선되도록 상기 위험 격자의 행렬 값을 변경할 수 있다. 이 경우, 사용자는 매우 복잡한 오픈폼의 소스 코드 및 구조를 모두 이해할 필요가 없으며 높은 수준의 수치 해석 지식 또한 불필요하다. 이에 따라, 사용자들은 상기 수치적 불안정성에 대해 적극적으로 대응할 수 있게 된다.According to embodiments of the present invention, the matrix value of the critical grid can be changed so that the numerical instability is improved. In this case, the user does not have to understand all the source code and structure of the highly complex open forms, and the knowledge of high level numerical analysis is also unnecessary. Thus, users can positively respond to the numerical instability.

도 1은 본 발명의 일 실시예에 따른 오픈폼 분석 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 유동의 예시
도 3은 본 발명의 일 실시예에 따른 격자의 예시
도 4는 도 3의 격자들 중 위험 격자를 나타낸 예시
도 5는 본 발명의 일 실시예에 따른 수치적 불안정성의 요인을 판단하는 과정을 설명하기 위한 예시
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 7은 본 발명의 일 실시예에 따른 오픈폼 분석 방법을 설명하기 위한 흐름도
1 is a block diagram showing a detailed configuration of an open form analysis system according to an embodiment of the present invention;
Figure 2 is an illustration of a flow according to one embodiment of the present invention
Figure 3 is an illustration of a lattice according to an embodiment of the present invention
4 is a graph showing an example of a critical grid among the grids shown in FIG.
5 is a graph illustrating an example of a process for determining a factor of numerical instability according to an embodiment of the present invention.
Figure 6 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in the exemplary embodiments.
7 is a flowchart illustrating an open form analysis method according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and / or systems described herein. However, this is merely an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification. The terms used in the detailed description are intended only to describe embodiments of the invention and should in no way be limiting. Unless specifically stated otherwise, the singular form of a term includes plural forms of meaning. In this description, the expressions "comprising" or "comprising" are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, Should not be construed to preclude the presence or possibility of other features, numbers, steps, operations, elements, portions or combinations thereof.

도 1은 본 발명의 일 실시예에 따른 오픈폼 분석 시스템(100)의 상세 구성을 나타낸 블록도이다. 본 발명의 일 실시예에 따른 오픈폼 분석 시스템(100)은 오픈폼(OpenFOAM : Open Field Operation And Manipulation)에서 생성되는 행렬을 분석하여 상기 행렬의 수치적 불안정성을 개선하는 시스템으로서, 상기 오픈폼 상에 탑재되거나 또는 상기 오픈폼 외부에서 상기 오픈폼과 연동하여 동작할 수 있다.1 is a block diagram showing a detailed configuration of an open form analysis system 100 according to an embodiment of the present invention. The open-form analysis system 100 according to an exemplary embodiment of the present invention analyzes a matrix generated by OpenFOAM (Open Field Operation and Manipulation) to improve the numerical instability of the matrix, Or may operate in conjunction with the open form outside the open form.

오픈폼(OpenFOAM)은 유동 해석 라이브러리로서, C++ 프로그래밍 언어로 만들어진 소스가 공개되어 누구나 사용 가능하다. 일반적으로, 오픈폼은 해석 공간을 나타내는 격자(grid)와 각종 설정 조건을 기반으로 유동(또는 유체)의 속도, 압력, 온도 등을 계산하기 위한 다원의 1차 방정식의 행렬을 생성하고, 상기 오픈폼에서 제공되는 행렬 솔버(matrix solver)를 이용하여 상기 행렬의 해를 계산함으로써 구하고자 하는 유동의 속도, 압력, 온도, 밀도 등을 획득하게 된다. 여기서, 격자는 유동 해석을 위한 해석 공간을 수만 개 내지 수천만 개로 나누어 표기한 가상의 유한 체적으로서, 오픈폼 자체에서 생성되거나 외부에서 파일 형태로 로딩될 수 있다. 또한, 설정 조건은 유동의 특정 물리량(예를 들어, 유동의 속도, 압력, 온도 등)을 계산하기 위해 사전에 설정되는 각종 조건으로서, 예를 들어 유동의 특성(밀도, 점성 등), 계산 조건(차분 기법, 경계 조건, 초기 조건, 계산 시간 간격 등), 난류 모델 등이 될 수 있다. 오픈폼은 상기 격자 및 설정 조건을 기반으로 시간 차분 기법(time discretization scheme), 구배 차분 기법(gradient scheme), 격자 중심 간 거리 계산 기법 (interpolation scheme) 등을 이용하여 다원의 1차 방정식의 행렬을 생성하게 된다. 이때, 상기 행렬의 행 및 열의 개수(또는 다원 1차 방정식의 개수)는 격자의 수 및 구하고자 하는 물리량의 변수 개수에 따라 달라질 수 있다. 일 예시로서, 격자의 수가 1만개이고 구하고자 하는 유동의 물리량이 3차원 속도(x, y, z 방향의 속도, 변수 3개) 및 압력(변수 1개)인 경우(즉, 총 변수 4개) 4만 Ⅹ 4만 개의 정방 행렬이 도출될 수 있다. 이 경우, 4만 개의 개별 변수를 갖는 1차 방정식이 4만 개가 생성될 수 있다. 그러나, 종래에는 상기 행렬이 수치적으로 불안정하여 비물리적인 속도, 압력 등이 발생하는 경우(예를 들어, 속도가 몇 억 또는 몇 십억 m/s가 되거나 압력이 몇 천만 기압이 되는 등), 이를 해결하기 위한 기능이 존재하지 않아 사용자가 직접 상기 행렬의 수치적 불안정성에 대한 원인을 분석하여야 하였으며 이를 위해서는 매우 복잡한 오픈폼의 소스 코드 및 구조에 대한 이해와 더불어 높은 수준의 수치 해석 지식이 필요하였다. OpenFOAM is a fluid analysis library, available in C ++ programming language and open to anyone. Generally, an open form generates a matrix of multiple linear equations for calculating the velocity, pressure, temperature, etc. of a flow (or fluid) based on a grid representing an analysis space and various setting conditions, The velocity, pressure, temperature, density, etc. of the flow to be obtained are obtained by calculating the solution of the matrix using a matrix solver provided in the form. Here, the lattice is an imaginary finite volume expressed as tens of thousands to tens of millions of analysis spaces for the flow analysis, and can be generated in the open form itself or loaded in a file form from the outside. The setting conditions are various conditions that are set in advance to calculate a specific physical quantity (e.g., flow velocity, pressure, temperature, etc.) of the flow. For example, (Difference technique, boundary condition, initial condition, calculation time interval, etc.), and turbulence model. The open form uses a time discretization scheme, a gradient scheme, and an interpolation scheme based on the grid and setting conditions to calculate a matrix of plural linear equations Respectively. At this time, the number of rows and columns (or the number of first-order linear equations) of the matrix may vary depending on the number of gratings and the number of variables of the physical quantity to be obtained. As an example, if the number of grids is 10,000 and the physical quantity to be obtained is three-dimensional velocity (velocity in x, y, z direction, three variables) and pressure (one variable) ) 40,000 x 40,000 square matrices can be derived. In this case, 40,000 linear equations with 40,000 individual variables can be generated. However, in the past, when the matrix is numerically unstable and a non-physical velocity, pressure, or the like is generated (for example, the velocity is several hundred million or several billion m / s or the pressure is several million atmospheric pressure) Since there is no function to solve this problem, the user must directly analyze the cause of the numerical instability of the matrix. In order to do this, it is necessary to understand the source code and structure of a very complicated open form, .

본 발명의 실시예들은 이러한 행렬의 수치적 불안정성을 자동으로 개선하는 시스템에 관한 것으로, 본 실시예들에 있어서 수치적 불안정성(numerical instability)이란 행렬의 수치적 요인으로 인해 상기 행렬의 해를 구하는 데 있어서 심각한 오차가 발생하거나 실제 결과와 전혀 다른 부정확한 결과를 일으키는 현상을 의미한다. 이하에서는 이러한 수치적 불안정성을 개선하기 위한 오픈폼 분석 시스템(100)의 상세 구성에 대해 자세히 살펴보기로 한다.Embodiments of the present invention are directed to a system that automatically improves the numerical instability of such a matrix, where numerical instability is used to solve the matrix due to the numerical factors of the matrix Which means that there is a serious error or an inaccurate result which is completely different from the actual result. Hereinafter, the detailed configuration of the open-form analysis system 100 for improving the numerical instability will be described in detail.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 오픈폼 분석 시스템(100)은 행렬 분석부(102), 행렬 값 변경부(104), 계산부(106) 및 그래픽 사용자 인터페이스(UI : User Interface, 108)를 포함한다.1, an open form analysis system 100 according to an embodiment of the present invention includes a matrix analysis unit 102, a matrix value change unit 104, a calculation unit 106, and a graphical user interface : User Interface, 108).

행렬 분석부(102)는 오픈폼(OpenFOAM) 상에서의 격자(grid) 및 설정 조건을 기반으로 생성되는 다원 방정식에 대한 행렬을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정한다. 상기 행렬은 수치 해석의 효율성을 위해 대각 행렬(diagPtr_), 상삼각행렬(upperPtr_), 하삼각행렬(lowerPtr_), 경계 조건에서 발생하는 내재적 행렬 인자를 저장하기 위한 행렬(internalCoef_), 경계 조건에서 발생하는 외재적 소스항을 저장하기 위한 행렬(boundaryCoef_), 소스 행렬(source_) 등으로 구성되며, 오픈폼은 상기 행렬을 상술한 구성 요소들로 구분하여 제공할 수 있다. 대각 행렬(diagPtr_)은 N Ⅹ N 정방 행렬에서 대각 성분만을 추출한 것으로 각 격자가 스스로에게 미치는 영향을 수치화하여 나타낸 행렬이다. 상삼각행렬(upperPtr_) 및 하삼각행렬(lowerPtr_)은 인접한 격자가 자신에게 미치는 영향을 수치화하여 나타낸 행렬로서, 상삼각행렬(upperPtr_) 및 하삼각행렬(lowerPtr_)의 물리적 의미는 동일하며 수치적 효율성을 위해 구분된다. 경계 조건에서 발생하는 내재적 행렬 인자를 저장하기 위한 행렬(internalCoef_) 및 경계 조건에서 발생하는 외재적 소스항을 저장하기 위한 행렬(boundaryCoef_)은 경계 조건에 따라 유동에 미치는 영향을 수치화하여 나타낸 행렬이다. 소스 행렬(source_)은 각 격자에서 이전 속도의 영향과 외부에서 가해지는 힘에 의한 영향을 수치화하여 나타낸 행렬이다. 행렬 분석부(102)는 상기 행렬의 구성 요소들(즉, diagPtr_, upperPtr_, lowerPtr_, internalCoef_, boundaryCoef_, source_ 등)을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정할 수 있다. The matrix analyzing unit 102 analyzes a matrix of a plurality of equations generated based on a grid on an open form (OpenFOAM) and a set condition, and determines a risk lattice causing numerical instability of the matrix. The matrix is composed of a diagonal matrix (diagPtr_), an upper triangular matrix (upperPtr_), a lower triangular matrix (lowerPtr_), a matrix (internalCoef_) for storing an implicit matrix factor occurring in a boundary condition, (BoundaryCoef_), a source matrix (source_) for storing an external source term, and the open form can provide the matrix by dividing the matrix into the above-described components. The diagonal matrix (diagPtr_) is a matrix obtained by extracting only the diagonal components from the NXN square matrix and quantifying the influence of each grid on itself. The upper triangular matrix (upperPtr_) and the lower triangular matrix (lowerPtr_) are matrices representing the influence of adjacent grids on themselves. The upper triangular matrix (upperPtr_) and lower triangular matrix (lowerPtr_) have the same physical meaning, . A matrix (internalCoef_) for storing the implicit matrix factor occurring in the boundary condition and a matrix (boundaryCoef_) for storing the external source term occurring in the boundary condition are matrices representing the effect on the flow according to the boundary condition. The source matrix (source_) is a matrix representing the influence of the previous velocity and the external force on each grid. The matrix analyzing unit 102 may analyze the elements of the matrix (i.e., diagPtr_, upperPtr_, lowerPtr_, internalCoef_, boundaryCoef_, source_, etc.) to determine a risk lattice causing numerical instability of the matrix.

일 예시로서, 행렬 분석부(102)는 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나(또는 다른 행렬 요소의 값에 비해 설정된 값 이상 작거나) 음수인 격자를 위험 격자로 결정할 수 있다. 대각 행렬(diagPtr_)은 각 격자가 질량이나 운동량 등을 보존하기 위해 스스로에게 미치는 영향을 수치화하여 나타낸 행렬로서, 일반적으로 각 격자가 스스로에게 미치는 영향은 인접한 격자가 자신에게 미치는 영향보다 커야 수치적으로 안정한 것으로 볼 수 있다. 그러나, 일 격자에 대한 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나 음수가 되는 경우, 상기 격자에 힘을 가하여도 상기 힘과 반대 방향으로 움직인다던가, 상기 격자가 인접한 격자에서 발생한 조그만 오차에 매우 민감하게 작용하는 것으로 해석될 수 있다. 따라서, 이 경우 행렬 분석부(102)는 해당 격자를 행렬의 수치적 불안정성을 야기하는 위험 격자로 결정할 수 있다.As an example, the matrix analyzing unit 102 may determine a grid as a critical grid, where the value of the diagonal matrix diagPtr_ is negative or less than or equal to the set value (or less than or equal to a value set relative to the value of another matrix element). A diagonal matrix (diagPtr_) is a matrix of numerical representations of the effects of each lattice on itself to preserve mass and momentum. In general, the influence of each lattice on itself is greater than the influence of the adjacent lattice on itself. It can be seen as stable. However, when the value of the diagonal matrix diagPtr_ for one grid is less than or equal to a predetermined value, the grid is moved in the opposite direction to the force even when a force is applied to the grid, Can be interpreted as acting sensitively. Therefore, in this case, the matrix analyzing unit 102 can determine the corresponding lattice as a risk lattice causing the numerical instability of the matrix.

다른 예시로서, 행렬 분석부(102)는 소스 행렬(source_)의 값이 설정된 값 이상인 격자를 위험 격자로 결정할 수 있다. 일반적으로, 유동의 특성 상 특정 지점이 주변 지점에 비해 속도나 압력 등이 월등히 높을 수 없다. 그러나, 소스 행렬(source_)의 값이 설정된 값 이상으로 크게 나타나는 경우, 행렬 분석부(102)는 해당 격자를 행렬의 수치적 불안정성을 야기하는 위험 격자로 결정할 수 있다.As another example, the matrix analyzing unit 102 may determine a grid whose value of the source matrix (source_) is equal to or greater than a predetermined value as a critical grid. In general, the velocity or pressure of a specific point can not be much higher than that of a surrounding point due to the characteristics of the flow. However, when the value of the source matrix (source_) appears larger than a predetermined value, the matrix analyzing unit 102 can determine the corresponding grid as a critical grid causing numerical instability of the matrix.

다른 예시로서, 행렬 분석부(102)는 설정된 값 이상의 종횡비로 인해 특정 방향으로 플럭스(flux)가 증가하는 격자를 위험 격자로 결정할 수 있다. 일반적으로, 격자의 종횡비가 설정된 값 이상으로 크다는 것은 방향에 따라 격자의 면적 차이가 크다는 의미이므로, 면적이 큰 곳에서 발생한 오차가 면적이 작은 곳에서 더욱 증폭될 가능성이 있다. 따라서, 이 경우 행렬 분석부(102)는 해당 격자를 행렬의 수치적 불안정성을 야기하는 위험 격자로 결정할 수 있다.As another example, the matrix analyzing unit 102 may determine a grid in which a flux increases in a specific direction due to an aspect ratio exceeding a set value, as a critical grid. Generally, the fact that the aspect ratio of the lattice is larger than the predetermined value means that the lattice area difference is large according to the direction, and therefore, the error generated at a large area may be further amplified at a small area. Therefore, in this case, the matrix analyzing unit 102 can determine the corresponding lattice as a risk lattice causing the numerical instability of the matrix.

이와 같이, 행렬 분석부(102)는 다양한 방법들을 이용하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정할 수 있다. 다만, 상술한 위험 격자를 결정하는 방법들이 상술한 실시예들에 한정되는 것은 아니다.Thus, the matrix analyzer 102 can determine a critical grid that causes numerical instability of the matrix using a variety of methods. However, the methods for determining the above-described risk grid are not limited to the above-described embodiments.

또한, 행렬 분석부(102)는 상술한 방법들에 따라 위험 격자가 결정되는 경우 상기 행렬의 요소를 분석하여 위험 격자의 수치적 불안정성의 요인을 판단할 수 있다. 일반적으로, 오픈폼 상에서의 행렬 요소는 비정상항(unsteady term), 대류항(convective term), 압력구배항(pressure gradient term), 확산항(diffusion term)의 시간/공간 차분으로 결정된다. 미분 방정식으로 표현된 연속 방정식을 컴퓨터 상에서 해석하기 위해서는 각 격자점으로 구분된 이산 방정식으로 표현하여야 한다. 이와 같이 연속 미분 방정식을 이산 방정식으로 표현하는 것을 차분이라 하며, 상기 연속 미분 방정식을 시간 미분에 대해 이산 방정식으로 표현하는 것을 시간 차분, 상기 연속 미분 방정식을 공간 미분에 대해 이산 방정식으로 표현하는 것을 공간 차분이라 한다. 오픈폼 상에서의 연속 미분 방정식은 속도에 대한 시간 미분(비정상항), 속도의 비선형 공간 미분(대류항), 압력의 공간 미분(압력구배항), 속도의 2차 미분(확산항)으로 이루어지며, 행렬 분석부(102)는 상기 행렬의 요소, 즉 비정상항, 대류항, 압력구배항, 확산항의 시간/공간 차분을 분석하여 위험 격자의 수치적 불안정성의 요인을 판단할 수 있다.In addition, the matrix analyzing unit 102 may analyze the elements of the matrix when the risk grid is determined according to the methods described above to determine the factors of the numerical instability of the risk grid. In general, matrix elements on open forms are determined by the time / space difference of the unsteady term, convective term, pressure gradient term, and diffusion term. In order to analyze the continuity equation expressed by differential equations on a computer, it should be expressed as discrete equations divided by each grid point. Expressing the continuous differential equation by a discrete equation is referred to as a difference. Expressing the continuous differential equation by a discrete equation with respect to a time differential is called a time differential, and expressing the continuous differential equation by a discrete equation It is called difference. The continuous differential equation on an open form consists of a time derivative (velocity term) of velocity, a nonlinear spatial derivative of velocity (convection term), a spatial differential of pressure (pressure gradient term) and a second derivative of velocity (diffusion term) , The matrix analyzing unit 102 can determine the factor of the numerical instability of the critical grid by analyzing the time / space difference of the elements of the matrix, that is, the abnormal term, the convection term, the pressure gradient term, and the diffusion term.

일 예시로서, 상기 행렬 요소의 분석 결과, 비정상항과 확산항에서는 대각 행렬(diagPtr_)의 값이 양수이고 대류항에서는 대각 행렬(diagPtr_)의 값이 음수이며 상기 대각 행렬(diagPtr_)의 값을 모두 더했을 때 음수가 되는 경우, 행렬 분석부(102)는 상기 위험 격자의 수치적 불안정성이 대류항에 기인한 것으로 판단할 수 있다. 상술한 바와 같이, 일 격자에 대한 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나 음수가 되는 경우, 상기 격자에 힘을 가하여도 상기 힘과 반대 방향으로 움직인다던가, 상기 격자가 인접한 격자에서 발생한 조그만 오차에 매우 민감하게 작용하는 것으로 해석될 수 있다. 이와 같이, 행렬 분석부(102)는 상기 행렬의 요소를 분석하여 위험 격자의 수치적 불안정성이 어느 항의 어느 차분에 의한 것인지를 판단함으로써 차분법의 변경에 대한 논리적 근거와 방향을 제시할 수 있다.In an example of the analysis of the matrix elements, the diagonal matrix diagPtr_ is positive in the abnormal term and the diffusion term, the diagonal matrix diagPtr_ is negative in the convection term, and the diagonal matrix diagPtr_ The matrix analyzing unit 102 can determine that the numerical instability of the critical grid is due to the convection term. As described above, when the value of the diagonal matrix diagPtr_ for one grid is less than or equal to a predetermined value, even if a force is applied to the grid, the grid moves in the direction opposite to the force, It can be interpreted that it works very sensitively to the error. In this manner, the matrix analyzing unit 102 can analyze the elements of the matrix and present the logical basis and direction of the change of the difference method by determining which difference of the numerical instability of the critical grid is due to.

다만, 상기 위험 격자의 수치적 불안정성의 요인을 판단하는 방법은 일 예시에 불과하며, 행렬 분석부(102)가 수치적 불안정성의 요인을 판단하는 방법이 이에 한정되는 것은 아니다. 행렬 분석부(102)는 예를 들어, 행렬 요소를 분석하여 소스 행렬(source_)의 값이 설정된 값 이상인지의 여부를 판단함으로써 상기 위험 격자의 수치적 불안정성의 요인을 판단할 수도 있다.However, the method of determining the factor of the numerical instability of the critical grid is merely an example, and the method of determining the factor of the numerical instability by the matrix analysis unit 102 is not limited thereto. The matrix analyzing unit 102 may determine a factor of the numerical instability of the critical grid by, for example, analyzing a matrix element and determining whether or not the value of the source matrix source_ is equal to or greater than a predetermined value.

행렬 값 변경부(104)는 상기 수치적 불안정성이 개선되도록 상기 위험 격자의 행렬 값을 변경한다. 상술한 바와 같이, 행렬 분석부(102)는 상기 행렬의 요소를 분석하여 위험 격자의 수치적 불안정성이 어느 항의 어느 차분에 의한 것인지를 판단할 수 있다.The matrix value changing unit 104 changes the matrix value of the critical grid so that the numerical instability is improved. As described above, the matrix analyzing unit 102 can analyze the elements of the matrix to determine which difference of which term is the numerical instability of the critical grid.

일 예시로서, 행렬 값 변경부(104)는 상기 수치적 불안정성이 비정상항에 기인한 것으로 판단되는 경우 행렬의 인자에 적용되는 계산 시간 간격(△t)을 감소시킴으로써 위험 격자의 행렬 값을 변경할 수 있다. 상기 계산 시간 간격(△t)은 오픈폼 상에서 설정되는 설정 조건 중 하나로서, 본 발명이 속하는 기술분야(예를 들어, 전산 유체 해석 분야)에서 일반적으로 널리 사용되는 용어이므로 이에 대한 자세한 설명은 생략하기로 한다.As an example, the matrix value changing unit 104 may change the matrix value of the critical grid by decreasing the computation time interval [Delta] t applied to the factor of the matrix when the numerical instability is judged to be due to an abnormal term have. The calculation time interval? T is one of the setting conditions set on the open form, and is a commonly used term in the technical field to which the present invention belongs (for example, in the field of computational fluid analysis). .

다른 예시로서, 행렬 값 변경부(104)는 상기 수치적 불안정성이 대류항에 기인한 것으로 판단되는 경우 상기 대류항에 내재적 모멘텀 소스항(implicit momentum source term)을 추가함으로써 위험 격자의 행렬 값을 변경할 수 있다. 대각 행렬(diagPtr_)의 값은 비정상항, 대류항, 압력구배항, 확산항 등에서 도출된 값을 모두 더한 것이므로, 대류항에 내재적 모멘텀 소스항을 추가하는 경우 대각 행렬(diagPtr_)의 값이 변하게 되며 이에 따라 전체 행렬의 값 또한 변하게 된다.As another example, the matrix value changing unit 104 may change the matrix value of the critical grid by adding an implicit momentum source term to the convection term if it is determined that the numerical instability is due to the convection term. . Since the diagonal matrix (diagPtr_) is the sum of the values derived from the abnormal term, the convection term, the pressure gradient term, and the diffusion term, the value of the diagonal matrix (diagPtr_) is changed when the inherent momentum source term is added to the convection term Thus, the value of the entire matrix also changes.

다른 예시로서, 행렬 값 변경부(104)는 상기 수치적 불안정성이 압력구배항에 기인한 것으로 판단되는 경우 상기 압력구배항에 모멘텀 싱크항(momentum sink term)을 추가함으로써 위험 격자의 행렬 값을 변경할 수 있다. 대각 행렬(diagPtr_)의 값은 비정상항, 대류항, 압력구배항, 확산항 등에서 도출된 값을 모두 더한 것이므로, 압력구배항에 모멘텀 싱크항을 추가하는 경우 대각 행렬(diagPtr_)의 값이 변하게 되며 이에 따라 전체 행렬의 값 또한 변하게 된다.As another example, the matrix value changing unit 104 may change the matrix value of the critical grid by adding a momentum sink term to the pressure gradient term when it is determined that the numerical instability is due to the pressure gradient term . Since the value of the diagonal matrix diagPtr_ is the sum of the values derived from the abnormal term, the convection term, the pressure gradient term, and the diffusion term, the value of the diagonal matrix diagPtr_ is changed when the momentum sink term is added to the pressure gradient term Thus, the value of the entire matrix also changes.

다른 예시로서, 행렬 값 변경부(104)는 상기 수치적 불안정성이 확산항에 기인한 것으로 판단되는 경우 상기 확산항에 인위적 점성항(artificial viscous diffusion)을 추가함으로써 위험 격자의 행렬 값을 변경할 수 있다. 대각 행렬(diagPtr_)의 값은 비정상항, 대류항, 압력구배항, 확산항 등에서 도출된 값을 모두 더한 것이므로, 확산항에 인위적 점성항을 추가하는 경우 대각 행렬(diagPtr_)의 값이 변하게 되며 이에 따라 전체 행렬의 값 또한 변하게 된다.As another example, the matrix value changing unit 104 may change the matrix value of the critical grid by adding an artificial viscous diffusion to the diffusion term when it is determined that the numerical instability is due to a diffusion term . Since the value of diagonal matrix diagPtr_ is the sum of the values derived from the abnormal term, the convection term, the pressure gradient element, and the diffusion term, the value of the diagonal matrix (diagPtr_) is changed when an artificial viscous term is added to the diffusion term. The value of the entire matrix is also changed.

또한, 행렬 값 변경부(104)는 특정 항에 상관 없이 행렬의 수치적 안정성을 증가시키기 위해 대각 행렬(diagPtr_)의 값의 크기를 증가시킴으로써 위험 격자의 행렬 값을 변경할 수 있다. 이와 같이, 행렬 값 변경부(104)는 다양한 방법을 통해 위험 격자의 행렬 값을 변경함으로써 상술한 수치적 불안정성을 개선할 수 있다. In addition, the matrix value changing unit 104 may change the matrix value of the critical grid by increasing the value of the diagonal matrix diagPtr_ in order to increase the numerical stability of the matrix irrespective of the specific term. In this manner, the matrix value changing unit 104 can improve the numerical instability described above by changing the matrix value of the critical grid through various methods.

계산부(106)는 변경된 상기 행렬 값을 이용하여 행렬의 해를 계산한다. 계산부(106)는 예를 들어, 오픈폼에서 제공되는 다양한 행렬 솔버(matrix solver)를 이용하여 상기 행렬의 해를 계산할 수 있다. 상기 해는 수치적 불안정성이 개선된 행렬 값을 이용하여 도출되므로, 실제 결과와 유사한 값으로 수렴하게 된다.The calculation unit 106 calculates the solution of the matrix using the changed matrix value. The calculation unit 106 may calculate the solution of the matrix using various matrix solvers provided in the open form, for example. Since the solution is derived using the matrix value with improved numerical instability, it converges to a value similar to the actual result.

유저 인터페이스(108)는 위험 격자의 격자 형태, 속도, 압력, 온도 및 밀도 중 하나 이상을 가시화하여 사용자에게 제공한다. 유저 인터페이스(108)는 예를 들어, 그래픽 기반의 유저 인터페이스(GUI : Graphical User Interface), 텍스트 기반의 유저 인터페이스(Text-based User Interface) 등일 수 있다. 유저 인터페이스(108)는 위험 격자의 격자 형태, 속도, 압력, 온도 및 밀도 중 하나 이상을 가시화하여 사용자에게 제공할 수 있으며, 사용자는 위험 격자에 대한 각종 정보를 보다 직관적으로 확인할 수 있다.The user interface 108 visualizes one or more of the grid shape, velocity, pressure, temperature, and density of the critical grid to provide to the user. The user interface 108 may be, for example, a graphical user interface (GUI), a text-based user interface, or the like. The user interface 108 may visualize one or more of the grid shape, velocity, pressure, temperature, and density of the critical grid to provide the visualized information to the user, and the user can more intuitively confirm various information about the critical grid.

또한, 유저 인터페이스(108)는 계산부(106)에서 계산된 행렬 값을 사용자에게 제공할 수 있다. 유저 인터페이스(108)는 계산부(106)에서 계산된 행렬 값을 가시화하여 사용자에게 제공할 수 있으며, 이에 따라 사용자는 구하고자 하는 유동의 속도, 압력, 온도, 밀도 등을 확인할 수 있다.In addition, the user interface 108 may provide the matrix value calculated by the calculation unit 106 to the user. The user interface 108 can visualize the matrix values calculated by the calculation unit 106 and provide them to the user so that the user can confirm the velocity, pressure, temperature, density, etc. of the flow to be obtained.

도 2는 본 발명의 일 실시예에 따른 유동의 예시이다. 여기서, Re는 레이놀즈 수이며, 유동 특성을 결정하는 데 사용된다. 또한, U0는 유체가 속한 판이 움직이는 속도를 나타낸다. 또한, 화살표는 2차원 유동 해석의 속도 벡터를 나타내며, 색깔은 유동의 압력을 나타낸다. 예를 들어, 파란색은 유동의 압력이 낮음을 의미하며, 빨간색은 유동의 압력이 높음을 의미한다.Figure 2 is an illustration of flow in accordance with one embodiment of the present invention. Where Re is the Reynolds number and is used to determine flow characteristics. Also, U 0 represents the speed at which the plate to which the fluid belongs moves. The arrows represent the velocity vectors of the two-dimensional flow analysis, and the colors represent the pressure of the flow. For example, blue means that the pressure of the flow is low, and red means that the pressure of the flow is high.

본 발명의 일 실시예에 따른 오픈폼 분석 시스템(100)은 오픈폼 상에서 이와 같은 유동 분석시 수치적 불안정성을 개선하는 데 사용될 수 있다.The open-form analysis system 100 according to one embodiment of the present invention can be used to improve numerical instability in such flow analysis on open-form.

도 3은 본 발명의 일 실시예에 따른 격자의 예시이며, 도 4는 도 3의 격자들 중 위험 격자를 나타낸 예시이다.FIG. 3 is an illustration of a grating in accordance with an embodiment of the present invention, and FIG. 4 is an illustration of a critical grating among the gratings of FIG.

먼저, 도 3을 참조하면, 유동 해석을 위한 해석 공간은 수만 개 내지 수천만 개의 격자로 이루어질 수 있으며, 각 격자는 서로 다른 식별 번호로 구별될 수 있다.First, referring to FIG. 3, the analysis space for the flow analysis can be made up of tens of thousands to tens of millions of grids, and the grids can be distinguished by different identification numbers.

다음으로, 도 4를 참조하면, 각 행은 일 격자가 어느 격자로부터 어떤 영향을 받고 있는지 그 영향 계수를 나타내고 있으며, 흰색 부분의 행렬 값은 대각 행렬(diagPtr_)의 값을 나타낸다. 도 4에 도시된 바와 같이, 27번, 30번, 33번, 34번, 35번 격자의 대각 행렬(diagPtr_)의 값(0.00723/0.00712/-0.0043/0.00712/0.00723)은 설정된 값(예를 들어, 0.01) 이하이거나 음수인 것을 확인할 수 있다. 이에 따라, 행렬 분석부(102)는 27번, 30번, 34번, 35번 격자를 위험 격자로 판단할 수 있다. Next, referring to FIG. 4, each row represents the influence coefficient of which lattice is affected by which lattice, and the matrix value of the white portion represents the value of the diagonal matrix diagPtr_. (0.00723 / 0.00712 / -0.0043 / 0.00712 / 0.00723) of the diagonal matrix (diagPtr_) of the lattice of 27th, 30th, 33th, 34th and 35th lattice is set to a set value , 0.01) or a negative number. Accordingly, the matrix analyzing unit 102 can determine the grids 27, 30, 34, and 35 as a critical grid.

도 5는 본 발명의 일 실시예에 따른 수치적 불안정성의 요인을 판단하는 과정을 설명하기 위한 예시이다. 여기서, 도 5의 unsteady term 은 비정상항을 차분하였을 때 나타나는 행렬 계수를 의미하며, convective term 은 대류항을 차분하였을 때 나타나는 행렬 계수를 의미하며, diffusion term 은 확산항을 차분하였을 때 나타나는 행렬 계수를 의미한다.5 is an illustration for explaining a process of determining a factor of numerical instability according to an embodiment of the present invention. In this case, the unsteady term in FIG. 5 means a matrix coefficient when the abnormal term is subtracted. The convective term means a matrix coefficient when the convection term is subtracted, and the diffusion term means a matrix coefficient when the diffusion term is subtracted it means.

도 5를 참조하면, 비정상항과 확산항에서는 대각 행렬(diagPtr_)의 값(0.00878/0.00085)이 양수이고 대류항에서는 대각 행렬(diagPtr_)의 값(-0.01632)이 음수이며 상기 대각 행렬(diagPtr_)의 값을 모두 더했을 때 음수가 된다. 따라서, 행렬 분석부(102)는 상기 위험 격자의 수치적 불안정성이 대류항에 기인한 것으로 판단할 수 있다.5, in the abnormal term and the diffusion term, the diagonal matrix diagPtr_ (0.00878 / 0.00085) is positive and the diagonal matrix diagPtr_ (-0.01632) is negative in the convection term, When all the values are added, they become negative. Therefore, the matrix analyzing unit 102 can determine that the numerical instability of the critical grid is due to the convection term.

도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.FIG. 6 is a block diagram illustrating and illustrating a computing environment 10 including a computing device suitable for use in the exemplary embodiments. In the illustrated embodiment, each component may have different functions and capabilities than those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 오픈폼 분석 시스템(100), 또는 오픈폼 분석 시스템(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, computing device 12 may be one or more components included in open-form analysis system 100, or open-form analysis system 100.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The computing device 12 includes at least one processor 14, a computer readable storage medium 16, The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiment discussed above. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16. The one or more programs may include one or more computer-executable instructions, which when executed by the processor 14 cause the computing device 12 to perform operations in accordance with the illustrative embodiment .

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and / or other suitable forms of information. The program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, the computer-readable storage medium 16 may be any type of storage medium such as a memory (volatile memory such as random access memory, non-volatile memory, or any suitable combination thereof), one or more magnetic disk storage devices, Memory devices, or any other form of storage medium that can be accessed by the computing device 12 and store the desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12, including processor 14, computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.The computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. The exemplary input and output device 24 may be any type of device, such as a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touch pad or touch screen), a voice or sound input device, An input device, and / or an output device such as a display device, a printer, a speaker, and / or a network card. The exemplary input and output device 24 may be included within the computing device 12 as a component of the computing device 12 and may be coupled to the computing device 102 as a separate device distinct from the computing device 12 It is possible.

도 7은 본 발명의 일 실시예에 따른 오픈폼 분석 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.7 is a flowchart illustrating an open form analysis method according to an embodiment of the present invention. In the illustrated flow chart, the method is described as being divided into a plurality of steps, but at least some of the steps may be performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, One or more steps may be added and performed.

S702 단계에서, 행렬 분석부(102)는 오픈폼 상에서의 격자 및 설정 조건을 기반으로 생성되는 다원 방정식에 대한 행렬을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정한다. 일 예시로서, 행렬 분석부(102)는 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나 음수인 격자, 소스 행렬(source_)의 값이 설정된 값 이상인 격자, 또는 설정된 값 이상의 종횡비로 인해 특정 방향으로 플럭스(flux)가 증가하는 격자를 위험 격자로 결정할 수 있다.In step S702, the matrix analyzing unit 102 analyzes a matrix of a polyhedral equation generated based on a lattice and a set condition on an open form to determine a risk lattice causing numerical instability of the matrix. As an example, the matrix analyzing unit 102 may determine whether the value of the diagonal matrix diagPtr_ is less than or equal to a predetermined value, a lattice having a negative value, a lattice having a value of the source matrix source_ equal to or greater than a predetermined value, A grid with increasing flux can be determined as a critical grid.

S704 단계에서, 행렬 분석부(102)는 상기 행렬의 요소를 분석하여 위험 격자의 수치적 불안정성의 요인을 판단한다. 상술한 바와 같이, 행렬 분석부(102)는 상기 행렬의 요소, 즉 비정상항, 대류항, 압력구배항, 확산항의 시간/공간 차분을 분석하여 위험 격자의 수치적 불안정성의 요인을 판단할 수 있다.In step S704, the matrix analyzing unit 102 analyzes the elements of the matrix to determine the factors of the numerical instability of the critical grid. As described above, the matrix analyzing unit 102 can determine the factor of the numerical instability of the critical grid by analyzing the time / space difference of the elements of the matrix, that is, the abnormal term, the convection term, the pressure gradient term, .

S706 단계에서, 행렬 값 변경부(104)는 상기 수치적 불안정성이 개선되도록 위험 격자의 행렬 값을 변경한다. 일 예시로서, 행렬 값 변경부(104)는 상기 수치적 불안정성이 비정상항에 기인한 것으로 판단되는 경우 행렬의 인자에 적용되는 계산 시간 간격(△t)을 감소시킴으로써 위험 격자의 행렬 값을 변경할 수 있다.In step S706, the matrix value changing unit 104 changes the matrix value of the critical grid so that the numerical instability is improved. As an example, the matrix value changing unit 104 may change the matrix value of the critical grid by decreasing the computation time interval [Delta] t applied to the factor of the matrix when the numerical instability is judged to be due to an abnormal term have.

S708 단계에서, 계산부(106)는 변경된 행렬 값을 이용하여 행렬의 해를 계산한다. 계산부(106)는 예를 들어, 오픈폼에서 제공되는 다양한 행렬 솔버(matrix solver)를 이용하여 상기 행렬의 해를 계산할 수 있다.In step S708, the calculation unit 106 calculates the solution of the matrix using the changed matrix value. The calculation unit 106 may calculate the solution of the matrix using various matrix solvers provided in the open form, for example.

또한, 상술한 바와 같이, 유저 인터페이스(108)는 위험 격자의 격자 형태, 속도, 압력, 온도 및 밀도, 계산부(106)에서 계산된 행렬 값 등을 가시화하여 사용자에게 제공할 수 있다. Also, as described above, the user interface 108 can visualize the grid shape, speed, pressure, temperature and density of the hazardous grid, the matrix value calculated by the calculation unit 106, and provide the data to the user.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.On the other hand, an embodiment of the present invention may include a program for performing the methods described herein on a computer, and a computer-readable recording medium including the program. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the present invention, or may be those that are commonly used in the field of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, and specifically configured to store and execute program instructions such as ROM, RAM, flash memory, Hardware devices. Examples of such programs may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

10 : 컴퓨팅 환경
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스
100 : 오픈폼 분석 시스템
102 : 행렬 분석부
104 : 행렬 값 변경부
106 : 계산부
108 : 사용자 인터페이스(UI)
10: Computing environment
12: computing device
14: Processor
16: Computer readable storage medium
18: Communication bus
20: Program
22: I / O interface
24: input / output device
26: Network communication interface
100: Open Foam Analysis System
102: Matrix analyzing unit
104: Matrix value changing unit
106:
108: User Interface (UI)

Claims (9)

오픈폼(OpenFOAM : Open Field Operation And Manipulation) 상에서의 격자(grid) 및 설정 조건을 기반으로 생성되는 다원 방정식에 대한 행렬을 분석하여 상기 행렬의 수치적 불안정성을 야기하는 위험 격자를 결정하는 행렬 분석부;
상기 수치적 불안정성이 개선되도록 상기 위험 격자의 행렬 값을 변경하는 행렬 값 변경부; 및
변경된 상기 행렬 값을 이용하여 상기 행렬의 해를 계산하는 계산부를 포함하며,
상기 행렬 분석부는, 상기 행렬의 요소를 분석하여 상기 위험 격자의 수치적 불안정성의 요인을 판단하는, 오픈폼 분석 시스템.
A matrix analyzer for analyzing a matrix of a plurality of equations generated on the basis of a grid and setting conditions on an open field operation (OpenFOAM: Open Field Operation And Manipulation) and determining a risk lattice causing numerical instability of the matrix, ;
A matrix value changing unit for changing a matrix value of the critical grid to improve the numerical instability; And
And a calculation unit for calculating the solution of the matrix using the changed matrix value,
Wherein the matrix analyzing unit analyzes elements of the matrix to determine a factor of numerical instability of the risk grid.
삭제delete 청구항 1에 있어서,
상기 행렬 분석부는, 대각 행렬(diagPtr_)의 값이 설정된 값 이하이거나 음수인 격자, 소스 행렬(source_)의 값이 설정된 값 이상인 격자, 또는 설정된 값 이상의 종횡비로 인해 특정 방향으로 플럭스(flux)가 증가하는 격자를 상기 위험 격자로 결정하는, 오픈폼 분석 시스템.
The method according to claim 1,
The matrix analyzing unit may be configured to determine whether a value of the diagonal matrix diagPtr_ is less than or equal to a predetermined value, a lattice in which a value of the diagonal matrix diagPtr_ is less than a predetermined value, a lattice in which a value of a source matrix source_ is greater than or equal to a predetermined value, Wherein the grid is determined as the critical grid.
청구항 1에 있어서,
상기 행렬 값 변경부는, 상기 수치적 불안정성이 비정상항(unsteady term)에 기인한 것으로 판단되는 경우 상기 행렬의 인자에 적용되는 계산 시간 간격(△t)을 감소시킴으로써 상기 위험 격자의 행렬 값을 변경하는, 오픈폼 분석 시스템.
The method according to claim 1,
Wherein the matrix value changing unit changes a matrix value of the critical grid by decreasing a computation time interval? T applied to a factor of the matrix when the numerical instability is determined to be caused by an unsteady term , Open form analysis system.
청구항 1에 있어서,
상기 행렬 값 변경부는, 상기 수치적 불안정성이 대류항(convective term)에 기인한 것으로 판단되는 경우 상기 대류항에 내재적 모멘텀 소스항(implicit momentum source term)을 추가함으로써 상기 위험 격자의 행렬 값을 변경하는, 오픈폼 분석 시스템.
The method according to claim 1,
Wherein the matrix value changing unit changes the matrix value of the critical grid by adding an implicit momentum source term to the convection term when it is determined that the numerical instability is due to a convective term , Open form analysis system.
청구항 1에 있어서,
상기 행렬 값 변경부는, 상기 수치적 불안정성이 압력구배항(pressure gradient term)에 기인한 것으로 판단되는 경우 상기 압력구배항에 모멘텀 싱크항(momentum sink term)을 추가함으로써 상기 위험 격자의 행렬 값을 변경하는, 오픈폼 분석 시스템.
The method according to claim 1,
The matrix value changing unit may change the matrix value of the critical grid by adding a momentum sink term to the pressure gradient term when it is determined that the numerical instability is due to a pressure gradient term Open-form analysis system.
청구항 1에 있어서,
상기 행렬 값 변경부는, 상기 수치적 불안정성이 확산항(diffusion term)에 기인한 것으로 판단되는 경우 상기 확산항에 인위적 점성항(artificial viscous diffusion)을 추가함으로써 상기 위험 격자의 행렬 값을 변경하는, 오픈폼 분석 시스템.
The method according to claim 1,
Wherein the matrix value changing unit changes the matrix value of the risk lattice by adding an artificial viscous diffusion to the spread term when the numerical instability is determined to be caused by a diffusion term, Foam analysis system.
청구항 3에 있어서,
상기 행렬 값 변경부는, 상기 대각 행렬의 값의 크기를 증가시킴으로써 상기 위험 격자의 행렬 값을 변경하는, 오픈폼 분석 시스템.
The method of claim 3,
Wherein the matrix value changing unit changes a matrix value of the critical grid by increasing a value of the diagonal matrix.
청구항 1에 있어서,
상기 위험 격자의 격자 형태, 속도, 압력, 온도 및 밀도 중 하나 이상을 가시화하여 사용자에게 제공하는 사용자 인터페이스(UI : User Interface)를 더 포함하는, 오픈폼 분석 시스템.
The method according to claim 1,
Further comprising a user interface (UI) for visualizing at least one of a lattice shape, a velocity, a pressure, a temperature and a density of the critical grid to provide the visualized user with a user interface (UI).
KR1020160116391A 2016-09-09 2016-09-09 System and method for analyzing openfoam KR101809010B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160116391A KR101809010B1 (en) 2016-09-09 2016-09-09 System and method for analyzing openfoam

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160116391A KR101809010B1 (en) 2016-09-09 2016-09-09 System and method for analyzing openfoam

Publications (1)

Publication Number Publication Date
KR101809010B1 true KR101809010B1 (en) 2018-01-18

Family

ID=61028827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160116391A KR101809010B1 (en) 2016-09-09 2016-09-09 System and method for analyzing openfoam

Country Status (1)

Country Link
KR (1) KR101809010B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071993A (en) * 2018-12-12 2020-06-22 주식회사 넥스트폼 Improved velocity pressure enthalpy coupled analyzing method and computing system implementing the same using energy equation
CN111931449A (en) * 2020-08-11 2020-11-13 上海华力微电子有限公司 Analysis method of layout graph density

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154510A (en) * 2010-01-27 2011-08-11 Canon Inc Numerical calculation method and apparatus for simultaneous linear equation
KR101192335B1 (en) 2011-05-16 2012-10-26 한국과학기술연구원 Method for simulating fluid flow and recording medium for performing the method
KR101612506B1 (en) * 2014-10-21 2016-04-14 한국항공우주산업 주식회사 System and method for Aircraft areodynamic analysis using CFD

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154510A (en) * 2010-01-27 2011-08-11 Canon Inc Numerical calculation method and apparatus for simultaneous linear equation
KR101192335B1 (en) 2011-05-16 2012-10-26 한국과학기술연구원 Method for simulating fluid flow and recording medium for performing the method
KR101612506B1 (en) * 2014-10-21 2016-04-14 한국항공우주산업 주식회사 System and method for Aircraft areodynamic analysis using CFD

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"OpenFOAM과 어탭티드 격자를 이용한 난류 경계층의 직접 수치 모사", 대한조선학회논문집 제53권 제3호(pp. 210-216), 2016년 6월

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071993A (en) * 2018-12-12 2020-06-22 주식회사 넥스트폼 Improved velocity pressure enthalpy coupled analyzing method and computing system implementing the same using energy equation
KR102287504B1 (en) 2018-12-12 2021-08-09 주식회사 넥스트폼 Improved velocity pressure enthalpy coupled analyzing method and computing system implementing the same using energy equation
CN111931449A (en) * 2020-08-11 2020-11-13 上海华力微电子有限公司 Analysis method of layout graph density
CN111931449B (en) * 2020-08-11 2023-11-03 上海华力微电子有限公司 Layout pattern density analysis method

Similar Documents

Publication Publication Date Title
Pareschi et al. Structure preserving schemes for nonlinear Fokker–Planck equations and applications
Li et al. Identification of parameter correlations for parameter estimation in dynamic biological models
Sevilla et al. A face‐centred finite volume method for second‐order elliptic problems
US20140208289A1 (en) Systems and methods for modeling execution behavior
US10755001B2 (en) Port management for graphical modeling
BR112015025513B1 (en) METHOD TO COMPILE A TRANSFORMATION CHAIN FROM A USER INTERFACE TO RECALCULATION AND COMPUTER SYSTEM
KR101809010B1 (en) System and method for analyzing openfoam
Gurris et al. Implicit finite element schemes for the stationary compressible Euler equations
Valen-Sendstad et al. A comparison of finite element schemes for the incompressible Navier–Stokes equations
Kolokolnikov et al. Stable asymmetric spike equilibria for the Gierer–Meinhardt model with a precursor field
Brightwell et al. Extinction times in the subcritical stochastic SIS logistic epidemic
Schmidt et al. Latin hypercube sampling-based Monte Carlo simulation: extension of the sample size and correlation control
CN106484389A (en) Stream of action sectional management
Linders et al. Locally conservative and flux consistent iterative methods
KR101562863B1 (en) Method for simulating fluid flow by using the lattice Boltzmann theory and recording medium for performing the method
KR20170067374A (en) Method and apparatus for modeling movement of air bubble based on fluid particle
Melis et al. Telescopic projective integration for linear kinetic equations with multiple relaxation times
Lang Rosenbrock-Wanner methods: Construction and mission
Oliveira et al. Teaching particle swarm optimization through an open‐loop system identification project
US10853532B2 (en) Graphical modeling for accessing dynamic system states across different components
EP2831761B1 (en) Configurable representation of domain models
Najariyan et al. Solving first order linear fuzzy differential equations system
KR101846746B1 (en) Apparatus and method for simplifying boundary representation based 3d model
Schwieger et al. Graph representations of monotonic Boolean model pools
Gatto et al. Bayesian inference on the bimodality of the generalized von Mises distribution

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant