1. 程式人生 > 其它 >MFEM庫中NURBS網格檔案格式記錄

MFEM庫中NURBS網格檔案格式記錄

Straight meshes

MFEM mesh v1.0 

# Space dimension: 2 or 3
dimension 
<dimension> 

# Mesh elements, e.g. tetrahedrons (4)
elements 
<number of elements> 
<element attribute> <geometry type> <vertex index 1> ... <vertex index m> ... 

# Mesh faces/edges on the boundary, e.g. triangles (2)
boundary 
<number of boundary elements> 
<boundary element attribute> <geometry type> <vertex index 1> ... <vertex index m> ... 

# Vertex coordinates
vertices 
<number of vertices> 
<vdim> 
<coordinate 1> ... <coordinate <vdim>> ...

General MFEM Mesh Format

NURBS mesh,帶孔方板

示意圖:

現在根據模型解析出 網格檔案 的格式,註釋用 # 標識

MFEM NURBS mesh v1.0

#
# MFEM Geometry Types (see mesh/geom.hpp):
#
# SEGMENT     = 1
# SQUARE      = 3
# CUBE        = 5
#

# Types of domains for integration rules and reference finite elements:
#    Geometry::POINT    - a point
#    Geometry::SEGMENT  - the interval [0,1]
#    Geometry::TRIANGLE - triangle with vertices (0,0), (1,0), (0,1)
#    Geometry::SQUARE   - the unit square (0,1)x(0,1)
#    Geometry::TETRAHEDRON - w/ vert. (0,0,0),(1,0,0),(0,1,0),(0,0,1)
#    Geometry::CUBE - the unit cube
#    Geometry::PRISM - w/ vert. (0,0,0),(1,0,0),(0,1,0),(0,0,1),(1,0,1),(0,1,1)
#    Geometry::PYRAMID - w/ vert. (0,0,0),(1,0,0),(1,1,0),(0,1,0),(0,0,1)

dimension
2

elements  # 對應 NURBS patch
4
1 3 0 1 5 4  # 1-element attribute 3-geometry type {0 1 5 4}-vertex number
1 3 1 2 6 5  # 1-element attribute 3-square        {1 2 6 5}-vertex number
1 3 2 3 7 6
1 3 3 0 4 7

boundary # NURBS 邊界
8
1 1 0 1  # 1-boundary element attribute 1-geometry type {0 1}-vertex number
1 1 1 2  # 1-boundary element attribute 1-segment       {1 2}-vertex number
1 1 2 3
1 1 3 0
1 1 5 4
1 1 6 5
1 1 7 6
1 1 4 7

edges
12
0 0 1  # 0-knotvector id {0 1}-vertex number
0 4 5
1 1 2
1 5 6
2 2 3
2 6 7
3 3 0
3 7 4
4 0 4  # 4-knotvector id {0 4}-vertex number
4 1 5
4 2 6
4 3 7

vertices
8

knotvectors
5
2  3 0 0 0 1 1 1  # 2-degree 3-control point number {0 0 0 1 1 1}-knot vector
2  3 0 0 0 1 1 1
2  3 0 0 0 1 1 1
2  3 0 0 0 1 1 1
2  3 0 0 0 1 1 1

weights
1
1
1
1
1
1
1
1
1
0.707106781
1
0.707106781
1
0.707106781
1
0.707106781
1
1
1
1
0.853553391
0.853553391
0.853553391
0.853553391

FiniteElementSpace
FiniteElementCollection: NURBS2
VDim: 2
Ordering: 1

0 0
1 0
1 1
0 1
0.358578644 0.358578644
0.641421356 0.358578644
0.641421356 0.641421356
0.358578644 0.641421356
0.5 0
0.5 0.217157288
1 0.5
0.782842712 0.5
0.5 1
0.5 0.782842712
0 0.5
0.217157288 0.5
0.15 0.15
0.85 0.15
0.85 0.85
0.15 0.85
0.5  0.108578644
0.891421356 0.5
0.5 0.891421356
0.108578644 0.5


最後更新於 2022年4月20日 --- 最初發表於 2022年4月20日
原創作者:LitBro
關於作者:知識付費,shit!
本文連結: [https://www.cnblogs.com/LitBro/p/15890829.html]
版權宣告:本文采用 BY-NC-SA協議,轉載或引用請註明出處!
關於後續:礙於學業不精,如有描述不當,還請見諒並非常感謝指出