Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1225-6692(Print)
ISSN : 2287-4518(Online)
Journal of the Korean earth science society Vol.38 No.1 pp.80-90
DOI : https://doi.org/10.5467/JKESS.2017.38.1.80

The Development of Converting Program from Sealed Geological Model to Gmsh, COMSOL for Building Simulation Grid

Chang Won Lee*, Seong-Jun Cho
Korea Institute of Geoscience and Mineral Resources, Daejeon 34132, Korea
Corresponding author: cwlee@kigam.re.kr+82-42-868-3186, +82-42-868-3418
August 31, 2016 February 1, 2017 February 15, 2017

Abstract

To build tetrahedra mesh for FEM numerical analysis, Boundary Representation (B-Rep) model is required, which provides the efficient volume description of an object. In engineering, the parametric solid modeling method is used for building B-Rep model. However, a geological modeling generally adopts discrete modeling based on the triangulated surface, called a Sealed Geological Model, which defines geological domain by using geological interfaces such as horizons, faults, intrusives and modeling boundaries. Discrete B-Rep model is incompatible with mesh generation softwares in engineering because of discrepancies between discrete and parametric technique. In this research we have developed a converting program from Sealed Geological Model to Gmsh and COMSOL software. The developed program can convert complex geological model built by geomodeling software to user-friendly FEM software and it can be applied to geoscience simulation such as geothermal, mechanical rock simulation etc.


시뮬레이션 격자구조 제작을 위한 Mesh 기반 지질솔리드모델의 Gmsh, COMSOL 변환 프로그램 개발

이 창원*, 조 성준
한국지질자원연구원 광물자원연구본부, 34132, 대전광역시 유성구 과학로 124

초록

FEM 수치해석을 위한 사면체격자 생성을 위해서는 물체의 볼륨정보를 표현할 수 있는 Boundary Representation (B-Rep) 모델이 필요하다. 공학분야에서는 파라메트릭 솔리드 모델링(Parametric Solid Modeling) 방법을 사용하여 BRep 모델을 정의한다. 반면 지질모델링은 메쉬 기반의 불연속(discrete) 모델링 방법을 사용하는데 이를 지질솔리드모델 (Sealed Geological Model)이라 부르며 지층, 단층, 관입암, 모델 경계면과 같은 지질학적 인터페이스들을 이용해 지질 도메인을 정의한다. 공학분야의 파라메트릭 모델링과 불연속 모델링 방식의 자료구조의 차이로 인해 불연속 B-Rep 모 델은 공학분야에서 사용하는 다양한 오픈소스, 상용 메쉬제작 소프트웨어와 쉽게 호환되지 않는다. 이 논문에서는 공학 용 메쉬 제작 소프트웨어와의 호환성을 가지도록 지질솔리드모델을 대표적인 오픈소스인 Gmsh와 상용 FEM 해석 소 프트웨어인 COMSOL로 변환하는 프로그램을 제작하였다. 지질모델링 소프트웨어를 통해 제작한 복잡한 지질구조모델 을 사용자 편의성을 갖춘 다수의 상용 소프트웨어서 쉽게 활용할 수 있어 지열, 암석역학 등 다양한 지구과학 시뮬레 이션 연구에 도움이 될 것으로 생각된다.


    Korea Institute of Geoscience and Mineral Resources

    서 론

    지질모델은 지하 지질구조 및 물성 분포를 표현하 는 수치모델로서 광물자원분야에서는 3D 지질자료의 통합(Data Integration), 광상 매장량 평가, 및 잠재광 상매핑(Mineral Potential Mapping) 등에 활용되며 석 유탐사분야에서는 저류층 암상 및 물성 모델링 및 유 체 유동 시뮬레이션 등에 사용된다(Park et al., 2014).

    최근 들어 지열, CO2 지중저장, 열수 이동, 암석역 학 등의 지질관련 분야에서 물리적 현상에 대한 수 치 시뮬레이션 연구가 증가되고 있으며 이를 위해 COMSOL, TOUGH2, FLAC, Opengeosys 등 상용/ 오픈소스 시뮬레이션 소프트웨어가 활용되고 있다. 수치 시뮬레이션은 수치해석방법(FDM, FEM, FVM) 에 따라 정렬격자(structured grid, e.g. cartesian grid, corner point stratigraphic grid)나 비정렬격자(unstructured grid, 예를 들어 사면체, 육면체, 다면체) 등 다양한 격자구조가 사용된다. 격자구조를 제작하기 위해서는 대상 사물의 형상을 정의하는 기하모델링(geometric modeling) 과정이 필요하며 곡면(surface)과 곡면간의 연결정보를 이용하는 boundary representation(B-Rep) 방식이 가장 많이 활용된다(Mantyla, 1988). 지질사물 의 볼륨정의에 적합하도록 개선된 B-Rep 모델은 삼각 메쉬(triangular mesh)를 곡면으로 사용하며 이를 지 질솔리드모델(sealed geological model/sealed structural model)이라 한다(Caumon et al., 2004).

    물체의 볼륨의 정의에 있어서 지질모델링과 기타 공학용 솔리드모델링 소프트웨어의 가장 큰 차이점은 공학분야에서는 인공적인 물체 설계에 적합한 파라메 트릭(parametric) 모델링 방법을 사용하는 반면 지질 모델링은 불규칙하고 불확실성이 높은 지질학적 사물 을 표현하기 위해 메쉬기반의 불연속 모델링방법을 사용한다(Mallet, 1997). 또한 지질모델링은 유한한 단층의 존재로 인해 비다양체(non-manifold) 위상구 조의 표현이 필요하지만 대다수 상용소프트웨어는 다 양체(manifold) 구조만을 지원하고 있다. 이러한 2가 지 차이점이 메쉬기반의 지질모델과 기존 상용 소프 트웨어를 연계할 때 가장 큰 장애물이다.

    지질모델링은 공학적 솔리드모델링과 달리 적은 수 의 조사/탐사자료가 사용되며 이를 위해 전통적인 explicit 모델링 방법 외에 최근 들어 지층 곡면을 3 차원 스칼라 필드의 등치면(isosurface)으로 처리하는 implicit 모델링 방법들이 연구/개발되고 있다. 지질모 델링 기술은 복잡한 단층네트워크, 단층 변위, 얇은 층, 습곡, 광체 및 관입암 모델링, 지층의 두께변화 고려, 정합/부정합/침식 등의 층서관계, 시추자료를 이용한 지층 보정 등 지질학적 사물 묘사에 적합한 도구들을 제공한다.

    본 연구에서는 지질모델링 소프트웨어를 통해 제작 된 지질솔리드모델을 오픈소스 Gmsh와 상용 FEM 소프트웨어인 COMSOL로 변환하는 방법을 개발하 였다. Gmsh는 오픈소스 3D FEM 메쉬 생성기로서 기하모델링(geometric modeling), 메쉬 제작, 해석, 후 처리 모듈로 구성된다(Geuzaine and Remacle, 2009). COMSOL은 다중물리해석을 위한 통합환경을 제공하 며 형상, 격자, 물리현상 설정, 경계조건, 해석, 후처 리 및 결과가시화 작업과정으로 구성된다.

    Gmsh와의 연계는 메쉬기반 지질솔리드모델로부터 사면체격자를 생성하는 것이 주 목적이며 COMSOL 의 경우 지질모델을 COMSOL 기하구조(geometry)로 변환한 후 COMSOL 워크플로우를 이용해 최종 시 뮬레이션까지 수행하는 것이 목적이다.

    지질모델링 및 알고리즘개발은 Paradigm사의 SKUAGOCAD와 플러그인 개발 라이브러리인 development kit를 이용해 C++로 제작하였으며 데이터는 RING team에서 (http://www.ring-team.org) 지질모델링 연구 활성화를 위해 무료로 제공하는 가상 지질솔리드모델 (synthetic model)을 사용하였다. 9개 가상 지질모델 에 대한 복잡성에 대한 설명은 Pellerin et al. (2015) 논문에 기술되어 있다.

    메쉬기반 B-Rep 모델의 자료구조 및 제작방법

    B-Rep 모델은 물체의 경계면(boundary)을 닫힌 곡 면이나, 방향성을 가진 곡면들을 사용해 볼륨을 정의 하는 자료구조이다(Mantyla, 1998). 지질사물의 특성 에 맞게 수정한 지질솔리드모델(Sealed Geological Model)은 SKUA-GOCAD에서 Model3D란 객체로 개발되었으며 주요 특징은 다음과 같다.

    지질솔리드모델 M={S, E, R, L, F}은 5개 요소로 구성되며 S={B, F, H}는 다양체 곡면(manifold surface) 으로서 모델경계면(B, Boundary), 단층(F, Fault), 지 층(H, Horizon)으로 구성된다. E는 radial edge로서 공통 외곽선(border)에서 만나는 곡면들을 연결시키기 위해 사용된다. R은 곡면 part들에 의해 정의되는 영 역(region)이며, L과, F는 영역들을 레이어와 단층 블 럭으로 묶어주는 요소이다(Caumon et al., 2004).

    유효한 지질솔리드모델에서 서로 다른 두 지층 곡 면은 교차하지 않으며 단층을 제외한 모든 곡면은 다른 곡면과 접하는 특징을 갖는다.

    지질솔리드모델은 SKUA-GOCAD에서 3차원에서 는 Model3D, 2차원에서는 PLineFrame 자료구조로 구현되어 있다. Fig. 1은 Model3D에 대한 개념모델 로서 BFrameElement는 3차원의 경우 곡면 part, 2차 원의 경우 라인 part에 해당하며 2개의 방향을 표현 하기 위해 BFrameElementUse가 사용된다(Paradigm, 2007). 영역(Region)은 홀(Hole)을 표현하기 위해 BFrame들로 구성되며 각 BFrame은 BFrameElement Use로 구성된다. Model3D 자료구조는 전산기하학 (computational geometry) 분야에서 사용하는 halfedge 자료구조와 유사하며 위상구조요소들을 이용해 node, edge, face, border, volume정보에 접근할 수 있다.

    B-Rep 모델을 제작하기 위해서는 지형, 지층, 단층, 관입암 등의 지질학적 인터페이스와 모델링영역(Volume of Interest)에 대한 메쉬제작이 필요하다. Fig. 2는 지 층 곡면 3개, 단층 곡면 1개, 모델경계곡면 6개를 제 작한 후 곡면간의 연결을 통해 5개 지질도메인과 1 개의 Universe 도메인을 정의한 화면이다. Model3D 에서 곡면이나 곡면 part들은 곡면외곽선(surface border)에서 노드(node)를 공유하는 conformal 메쉬로 제작되어야 한다. Conformal 메쉬를 제작하기 위해서 는 곡면을 교차하도록 제작한 후 분할하거나 border constraint를 이용해 분할할 수 있다.

    Gmsh 기하구조 및 변환 알고리즘

    Gmsh는 기하구조를 정의하기 위해 B-Rep 방식을 사용하며 기하학적 요소는 Point, Line, Line Loop, Plane Surface, Surface Loop, Volume로서 상위요소 는 하위요소의 참조를 통해 정의한다(Fig. 3). Gmsh 는 스크립트언어를 제공하며 .geo 텍스트 화일을 이 용해 직접 기하구조를 정의할 수 있다.

    Fig. 4는 Model3D 구성요소와 Gmsh 구성요소의 대응관계로서 변환방법은 Model3D 각 구성요소를 대응하는 Gmsh 구성요소로 변환하면 된다. Gmsh가 Model3D와 같은 지질솔리드모델에 대한 메쉬 생성 에 유리한 이유는 곡선이나 곡면을 재메쉬(remeshing) 할 수 있는 기능과 단층과 같은 자유외곽선(free border)을 포함시켜 메쉬를 제작할 수 있기 때문이다. 즉, Gmsh는 compound line, compound surface를 이 용해 여러 선분이나 삼각형 집합을 하나의 선, 곡면 처럼 처리할 수 있는 기능을 제공한다(Remacle et al., 2010). Fig. 5는 Fig. 2 지질모델을 Gmsh 기하구 조로 변환한 결과로서 삼각메쉬와 곡면외곽선(border) 이 각각 compound surface와 compound line으로 변 환된 것을 확인할 수 있다. 변환 시 주의할 점은 자 유외곽선(free border)을 갖는 3차원 곡면은 surface in volume, free extremity를 갖는 2차원 외곽선은 line in surface를 이용해 각각 볼륨과 곡면에 포함시 켜야 한다.

    PLineFrame도 Model3D와 유사하게 Gmsh geometry로 변환을 수행할 수 있다(Fig. 6).

    COMSOL 기하구조 및 변환 알고리즘

    COMSOL 워크플로우를 사용하기 위해서는 반드시 기하구조 정의가 필요하며 다른 소프트웨어와 달리 외부에서 제작한 메쉬를 직접 사용할 수 없다.

    COMSOL ver. 5부터 convert mesh to geometry 기능을 제공하며 이 기능을 이용해 외부 메쉬를 BSpline형태의 기하구조로 변환할 수 있다. 기하구조로 변환 시 boundary partitioning 기능을 통해 면(face) 을 추정할 수 있는 기능이 제공되지만 Fig. 7a,b와 같이 node, edge, boundary와 같은 위상구조요소를 복원하기가 어렵다. Fig. 7c,d는 boundary partitioning 기능을 사용하지 않고 기하구조를 추정한 결과로 1 개의 면(face)은 제대로 정의되었으나 node 및 edge 가 제대로 정의되지 않아 Fig. 7e,f와 같이 최종 메쉬 에서 모서리가 제대로 보존되지 않는 문제점이 발생 한다.

    COMSOL 메쉬는 .mphtxt, .mphbin과 같은 아스키, 바이너리 포맷을 사용하며 메쉬데이터에는 메쉬작업 에 사용한 초기 기하구조정보를 간접적으로 같이 저 장할 수 있다(Fig. 8). 메쉬 요소는 mesh point coordinates, edge, triangle, tetrahedra로 구성되며 일 반적인 FEM방식과 동일하게 최하부요소인 mesh point를 참조하여 상위요소를 정의한다. 메쉬요소에 대응하는 기하학적 요소는 vertex, edge, boundary, domain이 있으며 동일한 geometric entity index를 갖 는 메쉬요소들의 집합으로 구성된다(Fig. 9).

    지질솔리드모델을 기하구조 정의가 포함된 COMSOL 의 메쉬(.mphtxt) 포맷으로 변환하면 지질솔리드모델 과 동일한 위상구조를 복원할 수 있다. 3차원 COMSOL 도메인을 정의하기 위해서는 사면체격자를 제작한 후 COMSOL 메쉬 포맷을 제작해야 하므로 본 연구에서는 삼각메쉬를 COMSOL 면(face)으로 변환하고 convert to solid기능을 이용해 도메인을 추 정하는 방법을 사용하였다.

    적용 사례

    Fig. 10은 GOCAD 가상지질모델을 Gmsh와 COMSOL 기하구조로 변환하고 사면체격자를 생성한 결과다. 모델 경계면을 제외한 암염돔 및 지층 곡면 은 메쉬 품질이 좋지 못하지만 compound line, compound surface를 이용한 재메쉬과정을 통해 품질 이 좋은 격자를 제작할 수 있다. 메쉬 기반으로 Model3D를 제작할 때 곡면들을 서로 커팅(cutting)하 거나 implicit 모델에서 등치곡면(isosurface)을 추출하 게 되면 메쉬 품질이 낮아지는 문제가 발생한다. 따 라서 Gmsh나 COMSOL 연계모듈을 사면체격자구조 제작이 아니라 2D 삼각메쉬를 제작하기 위한 지질구 조모델의 재메쉬(remeshing) 도구로서 사용할 수 있 다(Fig. 11).

    Gmsh의 경우 사면체 격자크기는 각 포인트에 크 기정보(characteristic length)를 할당하여 제어하였으 나 곡률이나, 크기에 대한 3D 필드분포를 사용할 수 도 있다.

    Fig. 12는 Fig. 2의 2차원 단면 PLineFrame 모델을 Gmsh와 COMSOL 기하구조로 변환한 후 삼각형 격 자를 생성한 결과이다.

    토의 및 향후 계획

    COMSOL 기하구조는 완전한 도메인(domain) 정보 를 정의하지 않고 삼각메쉬로부터 B-spline 곡면을 생성한 후 도메인을 구성하는 방법을 사용하였다. 따 라서 곡면을 연결하여 도메인을 구성하는 과정에서 곡면 경계선(border) 사이의 거리에 대한 임계치 (tolerance) 설정을 통해 곡면들을 연결해야 한다. COMSOL 3D 도메인정보 복원을 위해 사면체격자를 미리 제작해야 하는 점은 단점이지만 Gmsh의 사면 체격자 결과를 이용하는 방법을 고려해 볼 수 있을 것이다.

    또한 지질솔리드모델은 얇은 지층과 같이 두 곡면 이 너무 가깝거나, pinch-out에 의한 예각, 작은 단층 변위를 갖는 지층, 퇴적 동시성 단층(syn-sedimentary fault)의 존재로 인해 두 contact line이 가까운 문제가 발생할 수 있으며 기하구조가 제대로 복원되었어도 이후 사면체격자 생성과정에서 문제가 발생할 수 있 다. 이런 경우 지질구조모델을 단순화시키는 작업을 수행한 후 변환을 수행할 수 있다(Pellerin et al., 2014).

    Model3D와 같은 지질솔리드모델을 지원하는 소프 트웨어들이 많지 않으나 최근 들어 RINGMESH라는 오픈소스 라이브러리가 개발되었다(RINGMESH, 2016). RINGMESH는 현재 SKUA-GOCAD를 통해 제작된 model3d(.ml) 화일을 임포트하여 RINGMESH 포맷 으로 변환하는 기능을 제공하며 격자제작이나 외부 소프트웨어와의 연계 기능을 제공한다. 향후 GOCAD 에서 구동되는 본 프로그램을 RINGMESH 라이브러 리 기반으로 포팅하여 GOCAD를 보유하지 않은 사 용자들도 변환기능을 사용할 수 있도록 할 계획이다.

    본 연구는 단층에 의한 비다양체(Non-manifold) 위 상구조 처리를 위해 Gmsh와 COMSOL을 사용하였 지만 지질모델에 자유경계선(free border)를 갖는 단 층이 없다면 더 많은 공학용 소프트웨어들에서 지질 솔리드모델을 사용할 수 있을 것이다. 이를 위해서는 메쉬로부터 B-Spline, NURB 파라메트릭 곡면을 직 접 추정하여 표준캐드모델을 제작하는 알고리즘 개발 에 대한 연구가 필요하다.

    결 론

    지질솔리드모델을 이용해 사면체격자구조를 제작하 기 위해 메쉬기반 지질솔리드모델을 대표적인 오픈소 스 메쉬생성프로그램인 Gmsh와 상용 COMSOL 기 하구조로 변환하는 프로그램을 개발하였다. 지질모델 링 소프트웨어를 통해 제작된 복잡한 지질구조를 수 치시뮬레이션 소프트웨어 포맷으로 변환할 수 있어 지질모델에 대한 다양한 정량적인 수치시뮬레이션 연 구가 수행될 수 있을 것이다.

    감사의 글

    본 연구는 한국지질자원연구원이 수행하고 있는 에 너지기술개발사업인 “석회석 광산 통합 개발을 위한 3D 지질모델 기반 원가절감 10% 이상의 채광 기술 및 제품규격 오차 5% 이내의 선광기술 개발” 과제의 지원을 받아 수행되었습니다.

    Figure

    JKESS-38-1-80_F1.gif

    Topological structure of sealed geological model (Universe: region except model, Region is composed of BFrames (dotted red line), modified from Paradigm, 2007).

    JKESS-38-1-80_F2.gif

    Model3D created by horizon, faults and boundary surfaces.

    JKESS-38-1-80_F3.gif

    Components of Gmsh geometry.

    JKESS-38-1-80_F4.gif

    Relation between Model3D and Gmsh 3D geometry components.

    JKESS-38-1-80_F5.gif

    Gmsh compound line and compound surface (blue line: compound line, grey axis: plane surface).

    JKESS-38-1-80_F6.gif

    Relation between PlineFrame and Gmsh 2D geometry components.

    JKESS-38-1-80_F7.gif

    Convert external mesh to COMSOL Geometry (a) COMSOL boundaries (blue line) and (b) nodes (blue dot) by automatic boundary partitioning, (c) COMSOL boundaries (blue line) and (d) nodes (blue point) without partitioning (e) COMSOL geometry from (c) (d), (f) mesh results (sharp corner are not preserved in mesh).

    JKESS-38-1-80_F8.gif

    COMSOL .mphtxt mesh format example (vertex, edge, triangle and tetrahedra).

    JKESS-38-1-80_F9.gif

    Components of COMSOL geometry (a) vertex (b) edge (c) boundary (d) domain.

    JKESS-38-1-80_F10.gif

    Conversion result of GOCAD diapir model (a) GOCAD Model3D (b) Gmsh geometry (c) Gmsh tetrahedra (5 domain, clipped) (d) COMSOL geometry (e) Tetrahedra (5 domain, element filtered by domain).

    JKESS-38-1-80_F11.gif

    Use of Gmsh as surface remeshing (a) salt diapir GOCAD surface built by implicit modeling (b) remeshed surface by Gmsh.

    JKESS-38-1-80_F12.gif

    Conversion result of 2D cross section (a) GOCAD PLineFrame (b) Gmsh geometry (c) Gmsh triangular mesh (d) COMSOL geometry (e) COMSOL triangular mesh.

    Table

    Reference

    1. Caumon G , Lepage F , Sword C.H , Mallet J-L (2004) Building and editing a sealed geological model , Mathematical Geology, Vol.36 ; pp.405-424
    2. Geuzaine C , Remacle J-F (2009) Gmsh: A threedimensional finite element mesh generator with built-in pre- and post-processing facilities , International Journal for Numerical Methods in Engineering, Vol.79 ; pp.1309-1331
    3. Mallet J-L (1997) Discrete modelling for natural objects , Mathematical Geology, Vol.29 ; pp.199-219
    4. Mantyla M (1988) An introduction to solid modeling, Computer Science Press, ; pp.401
    5. Paradigm (2007) GOCAD Developer’s Guide, ; pp.511
    6. Park G , Cho S-J , Oh H-J , Lee C.W (2014) Mineral potential mapping of Gagok mine using 3D geological modeling , Journal of Korean Earth Science Society, Vol.35 ; pp.412-421(in Korean)
    7. Pellerin J , Levy B , Caumon G , Botella A (2014) Automatic surface remeshing of 3D structural models at specified resolution: A method based on voronoi diagrams , Computers & Geosciences, Vol.62 ; pp.103-116
    8. Pellerin J , Caumon G , Julio C , Mejia-Herrera P , Botella A (2015) Elements for measuring the complexity of 3D structural models: Connectivity and geometry , Computers & Geosciences, Vol.76 ; pp.130-140
    9. Remacle J-F , Geuzaine C , Compere G , Marchandise E (2010) High quality surface remeshing using harmonic maps , International Journal for Numerical Methods in Engineering, Vol.83 ; pp.403-425
    10. RINGMESH (2016) http://www.ring-team.org/software/ringmesh,