1 概述
gmsh的几何模型可以自底向上定义(点-线-面-体),也可以用构造实体方法(体通过布尔运算)定义。可以通过内建几何引擎构建,也可以通过openCascade构建(可能是软件开发过程中,更改了技术路线?)。但是网格只能是按照点-线-面-体的顺序来画网格。
model实体包括点、线、面和体。model实体可以是cad实体(通过geo内核或openCascade occ内核)创建,或者是离散实体(mesh)。
model–
|
----geometry
|
--------entity: point(dim = 0, tag:正整数), line(dim=1), surface(dim=2), volume
|
----mesh
|
--------element: ???
对于cad几何数据,其中组成单元称为实体(entity),它可以是点线面体,每个实体包含dimension和tag属性。
对于网格数据,其组成单元为单元/元素(element),它可以是点线三角形四边形四面体六面体锥形等。每个元素包含nodes和tag属性,而每个node也有tag。tag是全局唯一的。
每个几何entity包含网格的element。比如,0维的几何点包含一个元素点,同时包含一个网格的node。1维的几何线包含元素线和网格点。2维几何面包含网格三角形或四边形等,还包含网格点等等。
// A model entity of dimension 0 (a geometrical point) will contain a mesh
// element of type point, as well as a mesh node. A model curve will contain
// line elements as well as its interior nodes, while its boundary nodes
// will be stored in the bounding model points. A model surface will contain
// triangular and/or quadrangular elements and all the nodes not classified
// on its boundary or on its embedded entities. A model volume will contain
// tetrahedra, hexahedra, etc. and all the nodes not classified on its
// boundary or on its embedded entities.
2 api
操作几何模型和网格数据的函数在model命名空间,操作后处理数据的函数在view命名空间。
其他的命名空间还有:
option:各种选项
plugin:插件
graphics:绘图
fltk:gui
onelab:仿真
logger:日志
3生成网格的程序
// -----------------------------------------------------------------------------
//
// Gmsh C++ tutorial 1
//
// Geometry basics, elementary entities, physical groups
//
// -----------------------------------------------------------------------------
// The Gmsh C++ API is entirely defined in the `gmsh.h' header (which contains
// the full documentation of all the functions in the API):
#include <gmsh.h>
int main(int argc, char **argv)
{
// Before using any functions in the C++ API, Gmsh must be initialized:
//首先进行初始化
gmsh::initialize();
// By default Gmsh will not print out any messages: in order to output
// messages on the terminal, just set the "General.Terminal" option to 1:
//如果需要输出中间过程信息,使用下面这个语句
//gmsh::option::setNumber("General.Terminal", 1);
// We now add a new model, named "t1". If gmsh::model::add() is not called, a
// new default (unnamed) model will be created on the fly, if necessary.
//新增模型,名为t1
gmsh::model::add("t1");
// The C++ API provides direct access to each supported geometry kernel. The
// built-in kernel is used in this first tutorial: the corresponding API
// functions live in the "gmsh::model::geo" namespace.
// The first type of `elementary entity' in Gmsh is a `Point'. To create a
// point with the built-in geometry kernel, the C++ API function is
// gmsh::model::geo::addPoint():
// - the first 3 arguments are the point coordinates (x, y, z)
// - the next (optional) argument is the target mesh size (the "characteristic
// length") close to the point
// - the last (optional) argument is the point tag (a stricly positive integer
// that uniquely identifies the point)
// 新增点
double lc = 1e-2;
gmsh::model::geo::addPoint(0, 0, 0, lc, 1);
// The distribution of the mesh element sizes will be obtained by
// interpolation of these characteristic lengths throughout the
// geometry. Another method to specify characteristic lengths is to use
// general mesh size Fields (see `t10.cpp'). A particular case is the use of a
// background mesh (see `t7.cpp').
//
// If no target mesh size of provided, a default uniform coarse size will be
// used for the model, based on the overall model size.
//
// We can then define some additional points. All points should have different
// tags:
gmsh::model::geo::addPoint(.1, 0, 0, lc, 2);
gmsh::model::geo::addPoint(.1, .3, 0, lc, 3);
// If the tag is not provided explicitly, a new tag is automatically created,
// and returned by the function:
int p4 = gmsh::model::geo::addPoint(0, .3, 0, lc);
// Curves are Gmsh's second type of elementery entities, and, amongst curves,
// straight lines are the simplest. The API to create straight line segments
// with the built-in kernel follows the same conventions: the first 2
// arguments are point tags (the start and end points of the line), and the
// last (optional one) is the line tag.
//
// In the commands below, for example, the line 1 starts at point 1 and ends
// at point 2.
//
// Note that curve tags are separate from point tags - hence we can reuse tag
// `1' for our first curve. And as a general rule, elementary entity tags in
// Gmsh have to be unique per geometrical dimension.
//新增线
gmsh::model::geo::addLine(1, 2, 1);
gmsh::model::geo::addLine(3, 2, 2);
gmsh::model::geo::addLine(3, p4, 3);
gmsh::model::geo::addLine(4, 1, p4);
// The third elementary entity is the surface. In order to define a simple
// rectangular surface from the four curves defined above, a curve loop has
// first to be defined. A curve loop is defined by an ordered list of
// connected curves, a sign being associated with each curve (depending on the
// orientation of the curve to form a loop). The API function to create curve
// loops takes a vector of integers as first argument, and the curve loop tag
// (which must be unique amongst curve loops) as the second (optional)
// argument:
//增加封闭曲线
gmsh::model::geo::addCurveLoop({4, 1, -2, 3}, 1);
// We can then define the surface as a list of curve loops (only one here,
// representing the external contour, since there are no holes--see `t4.cpp'
// for an example of a surface with a hole):
//增加表面
gmsh::model::geo::addPlaneSurface({1}, 1);
// At this level, Gmsh knows everything to display the rectangular surface 1
// and to mesh it. An optional step is needed if we want to group elementary
// geometrical entities into more meaningful groups, e.g. to define some
// mathematical ("domain", "boundary"), functional ("left wing", "fuselage")
// or material ("steel", "carbon") properties.
//可以定义实体组,比如材料组,功能组等,这在gmsh中叫做物理组。
//
// Such groups are called "Physical Groups" in Gmsh. By default, if physical
// groups are defined, Gmsh will export in output files only mesh elements
// that belong to at least one physical group. (To force Gmsh to save all
// elements, whether they belong to physical groups or not, set the
// `Mesh.SaveAll' option to 1.) Physical groups are also identified by tags,
// i.e. stricly positive integers, that should be unique per dimension (0D,
// 1D, 2D or 3D). Physical groups can also be given names.
//
// Here we define a physical curve that groups the left, bottom and right
// curves in a single group (with prescribed tag 5); and a physical surface
// with name "My surface" (with an automatic tag) containing the geometrical
// surface 1:
gmsh::model::addPhysicalGroup(1, {1, 2, 4}, 5);
int ps = gmsh::model::addPhysicalGroup(2, {1});
gmsh::model::setPhysicalName(2, ps, "My surface");
// Before it can be meshed, the internal geometrical representation must be
// synchronized with the Gmsh model, which will create the relevant Gmsh data
// structures. This is achieved by the gmsh::model::geo::synchronize() API
// call for the built-in geometry kernel. Synchronizations can be called at
// any time, but they involve a non trivial amount of processing; so while you
// could synchronize the internal CAD data after every CAD command, it is
// usually better to minimize the number of synchronization points.
gmsh::model::geo::synchronize();
// We can then generate a 2D mesh...
gmsh::model::mesh::generate(2);
// ... and save it to disk
gmsh::write("t1.msh");
// Remember that by default, if physical groups are defined, Gmsh will export
// in the output mesh file only those elements that belong to at least one
// physical group. To force Gmsh to save all elements, you can use
//
// gmsh::option::setNumber("Mesh.SaveAll", 1);
// By default, Gmsh saves meshes in the latest version of the Gmsh mesh file
// format (the `MSH' format). You can save meshes in other mesh formats by
// specifying a filename with a different extension. For example
//
// gmsh::write("t1.unv");
//
// will save the mesh in the UNV format. You can also save the mesh in older
// versions of the MSH format: simply set
//
// gmsh::option::setNumber("Mesh.MshFileVersion", x);
//
// for any version number `x'. As an alternative, you can also not specify
// the format explicitly, and just choose a filename with the `.msh2' or
// `.msh4' extension.
//结果输出可以选择不同格式,如msh,unv等。
// To visualize the model we could run the graphical user interface with:
// 用gui界面可以使用如下语句
// gmsh::fltk::run();
// Note that starting with Gmsh 3.0, models can be built using other geometry
// kernels than the default "built-in" kernel. To use the OpenCASCADE geometry
// kernel instead of the built-in kernel, you should use the functions in the
// "gmsh::model::occ" namespace.
//
// Different geometry kernels have different features. With OpenCASCADE,
// instead of defining the surface by successively defining 4 points, 4 curves
// and 1 curve loop, one can define the rectangular surface directly with
//
// gmsh::model::occ::addRectangle(.2, 0, 0, .1, .3);
//
// After synchronization with the Gmsh model with
//
// gmsh::model::occ::synchronize();
//
// the underlying curves and points could be accessed with
// gmsh::model::getBoundary().
//
// See e.g `t16.cpp', `t18.cpp', `t19.cpp' or `t20.cpp' for complete examples
// based on OpenCASCADE, and `demos/api' for more.
//从3.0开始,可以使用openCascade内核进行几何模型定义。这种方法相比内建的内核定义方法更简单。
// This should be called when you are done using the Gmsh C++ API:
//退出时需要调用
gmsh::finalize();
return 0;
}
总的来说,程序结构如下:
gmsh::initialize();
gmsh::write(“t1.msh”);
gmsh::finalize();
4 读取网格的程序
#include <iostream>
#include <gmsh.h>
int main(int argc, char **argv)
{
if(argc < 2) {
std::cout << "Usage: " << argv[0] << " file.msh" << std::endl;
return 0;
}
gmsh::initialize();
gmsh::option::setNumber("General.Terminal", 1);
gmsh::open(argv[1]);
// get all elementary entities in the model
//获取几何模型的entity, 包含<dim, tag>属性
std::vector<std::pair<int, int> > entities;
gmsh::model::getEntities(entities);
for(unsigned int i = 0; i < entities.size(); i++) {
// get the mesh nodes for each elementary entity
std::vector<std::size_t> nodeTags;
std::vector<double> nodeCoords, nodeParams;
int dim = entities[i].first, tag = entities[i].second;
//nodecoords为节点的xyz坐标,nodeparams为节点的参数坐标(u1,v1,u2,v2)
gmsh::model::mesh::getNodes(nodeTags, nodeCoords, nodeParams, dim, tag);
// get the mesh elements for each elementary entity
std::vector<int> elemTypes;
std::vector<std::vector<std::size_t> > elemTags, elemNodeTags;
//比如dim=2, tag=13,这个表面有90个单元,那么elemTags[0]是90元素的向量,elemTags[0][0]为第一个三角面元的编号,而elemNodeTags[0][0]-[0][2]是第一个三角面元三顶点的编号。
gmsh::model::mesh::getElements(elemTypes, elemTags, elemNodeTags, dim, tag);
// report some statistics
int numElem = 0;
for(unsigned int j = 0; j < elemTags.size(); j++)
numElem += elemTags[j].size();
std::string type;
gmsh::model::getType(dim, tag, type);
std::cout << nodeTags.size() << " mesh nodes and " << numElem
<< " mesh elements on entity (" << dim << "," << tag
<< ") of type " << type << "\n";
std::vector<int> partitions;
gmsh::model::getPartitions(dim, tag, partitions);
if(partitions.size()) {
std::cout << " - Partition tag(s):";
for(unsigned int j = 0; j < partitions.size(); j++)
std::cout << " " << partitions[j];
int parentDim, parentTag;
gmsh::model::getParent(dim, tag, parentDim, parentTag);
std::cout << " - parent entity (" << parentDim << "," << parentTag
<< ")\n";
}
for(unsigned int j = 0; j < elemTypes.size(); j++) {
std::string name;
int d, order, numv, numpv;
std::vector<double> param;
gmsh::model::mesh::getElementProperties(elemTypes[j], name, d, order,
numv, param, numpv);
std::cout << " - Element type: " << name << ", order " << order << "\n";
std::cout << " with " << numv << " nodes in param coord: (";
for(unsigned int k = 0; k < param.size(); k++)
std::cout << param[k] << " ";
std::cout << ")\n";
}
}
gmsh::finalize();
return 0;
}
5 文件格式
文件由section(节/段)组成。第一个section必须是
$MeshFormat // same as MSH version 2
4.1 //网格文件版本号
0 //文件类型,0为文本格式,1为二进制格式
111111 //文件大小
$EndMeshFormat
$Entities //几何模型,可选
$EndEntities
$Nodes //网格节点
$EndNodes
$Elements
$EndElements
示例文件
$MeshFormat
4.1 0 8 MSH4.1, ASCII
$EndMeshFormat
$Nodes
1 6 1 6 1 entity bloc, 6 nodes total, min/max node tags: 1 and 6
2 1 0 6 2D entity (surface) 1, no parametric coordinates, 6 nodes
1 node tag #1
2 node tag #2
3 etc.
4
5
6
0. 0. 0. node #1 coordinates (0., 0., 0.)
1. 0. 0. node #2 coordinates (1., 0., 0.)
1. 1. 0. etc.
0. 1. 0.
2. 0. 0.
2. 1. 0.
$EndNodes
$Elements
1 2 1 2 1 entity bloc, 2 elements total, min/max element tags: 1 and 2
2 1 3 2 2D entity (surface) 1, element type 3 (4-node quad), 2 elements
1 1 2 3 4 quad tag #1, nodes 1 2 3 4
2 2 5 6 3 quad tag #2, nodes 2 5 6 3
$EndElements
$NodeData
1 1 string tag:
"A scalar view" the name of the view ("A scalar view")
1 1 real tag:
0.0 the time value (0.0)
3 3 integer tags:
0 the time step (0; time steps always start at 0)
1 1-component (scalar) field
6 6 associated nodal values
1 0.0 value associated with node #1 (0.0)
2 0.1 value associated with node #2 (0.1)
3 0.2 etc.
4 0.0
5 0.2
6 0.4
$EndNodeData
//示例文件2
$MeshFormat
4.1 0 8
$EndMeshFormat
$Entities //几何实体列表
8 12 6 1 //8个点,12条线,6个表面,1个体
17 0.5 0.2 1.8 0 //点tag,x-y-z坐标,物理tag
18 0.5 0.2 0.8 0
19 0.5 1.2 1.8 0
20 0.5 1.2 0.8 0
21 1.5 0.2 1.8 0
22 1.5 0.2 0.8 0
23 1.5 1.2 1.8 0
24 1.5 1.2 0.8 0
25 0.4999999 0.1999999 0.7999999000000001 0.5000000999999999 0.2000001 1.8000001 0 2 18 -17 //线tag...
26 0.4999999 0.1999999 1.7999999 0.5000000999999999 1.2000001 1.8000001 0 2 17 -19
27 0.4999999 1.1999999 0.7999999000000001 0.5000000999999999 1.2000001 1.8000001 0 2 20 -19
28 0.4999999 0.1999999 0.7999999000000001 0.5000000999999999 1.2000001 0.8000001 0 2 18 -20
29 1.4999999 0.1999999 0.7999999000000001 1.5000001 0.2000001 1.8000001 0 2 22 -21
30 1.4999999 0.1999999 1.7999999 1.5000001 1.2000001 1.8000001 0 2 21 -23
31 1.4999999 1.1999999 0.7999999000000001 1.5000001 1.2000001 1.8000001 0 2 24 -23
32 1.4999999 0.1999999 0.7999999000000001 1.5000001 1.2000001 0.8000001 0 2 22 -24
33 0.4999998999999999 0.1999999 0.7999999000000001 1.5000001 0.2000001 0.8000001 0 2 18 -22
34 0.4999998999999999 0.1999999 1.7999999 1.5000001 0.2000001 1.8000001 0 2 17 -21
35 0.4999998999999999 1.1999999 0.7999999000000001 1.5000001 1.2000001 0.8000001 0 2 20 -24
36 0.4999998999999999 1.1999999 1.7999999 1.5000001 1.2000001 1.8000001 0 2 19 -23
13 0.4999999 0.1999999 0.7999999000000001 0.5000000999999999 1.2000001 1.8000001 0 4 25 26 -27 -28 //面信息
14 1.4999999 0.1999999 0.7999999000000001 1.5000001 1.2000001 1.8000001 0 4 29 30 -31 -32
15 0.4999998999999999 0.1999999 0.7999999000000001 1.5000001 0.2000001 1.8000001 0 4 33 29 -34 -25
16 0.4999998999999999 1.1999999 0.7999999000000001 1.5000001 1.2000001 1.8000001 0 4 35 31 -36 -27
17 0.4999998999999999 0.1999999 0.7999999000000001 1.5000001 1.2000001 0.8000001 0 4 28 35 -32 -33
18 0.4999998999999999 0.1999999 1.7999999 1.5000001 1.2000001 1.8000001 0 4 26 36 -30 -34
3 0.4999998999999999 0.1999999 0.7999999000000001 1.5000001 1.2000001 1.8000001 0 6 13 14 15 16 17 18
$EndEntities
$Nodes //节点信息
27 272 1 272
0 17 0 1
1
0.5 0.2 1.8
0 18 0 1
2
0.5 0.2 0.8
0 19 0 1
3
0.5 1.2 1.8
0 20 0 1
4
0.5 1.2 0.8
0 21 0 1
5
1.5 0.2 1.8
0 22 0 1
6
1.5 0.2 0.8
0 23 0 1
7
1.5 1.2 1.8
0 24 0 1
8
1.5 1.2 0.8
1 25 0 5
9
10
11
12
13
0.5 0.2 0.9666666666666662
0.5 0.2 1.133333333333332
0.5 0.2 1.299999999999998
0.5 0.2 1.466666666666665
0.5 0.2 1.633333333333332
1 26 0 5
14
15
16
17
18
0.5 0.3666666666666663 1.8
0.5 0.5333333333333323 1.8
0.5 0.6999999999999986 1.8
0.5 0.8666666666666647 1.8
0.5 1.033333333333332 1.8
1 27 0 5
19
20
21
22
23
0.5 1.2 0.9666666666666662
0.5 1.2 1.133333333333332
0.5 1.2 1.299999999999998
0.5 1.2 1.466666666666665
0.5 1.2 1.633333333333332
1 28 0 5
24
25
26
27
28
0.5 0.3666666666666663 0.8
0.5 0.5333333333333323 0.8
0.5 0.6999999999999986 0.8
0.5 0.8666666666666647 0.8
0.5 1.033333333333332 0.8
1 29 0 5
29
30
31
32
33
1.5 0.2 0.9666666666666662
1.5 0.2 1.133333333333332
1.5 0.2 1.299999999999998
1.5 0.2 1.466666666666665
1.5 0.2 1.633333333333332
1 30 0 5
34
35
36
37
38
1.5 0.3666666666666663 1.8
1.5 0.5333333333333323 1.8
1.5 0.6999999999999986 1.8
1.5 0.8666666666666647 1.8
1.5 1.033333333333332 1.8
1 31 0 5
39
40
41
42
43
1.5 1.2 0.9666666666666662
1.5 1.2 1.133333333333332
1.5 1.2 1.299999999999998
1.5 1.2 1.466666666666665
1.5 1.2 1.633333333333332
1 32 0 5
44
45
46
47
48
1.5 0.3666666666666663 0.8
1.5 0.5333333333333323 0.8
1.5 0.6999999999999986 0.8
1.5 0.8666666666666647 0.8
1.5 1.033333333333332 0.8
1 33 0 5
49
50
51
52
53
0.6666666666666662 0.2 0.8
0.8333333333333324 0.2 0.8
0.9999999999999986 0.2 0.8
1.166666666666665 0.2 0.8
1.333333333333332 0.2 0.8
1 34 0 5
54
55
56
57
58
0.6666666666666662 0.2 1.8
0.8333333333333324 0.2 1.8
0.9999999999999986 0.2 1.8
1.166666666666665 0.2 1.8
1.333333333333332 0.2 1.8
1 35 0 5
59
60
61
62
63
0.6666666666666662 1.2 0.8
0.8333333333333324 1.2 0.8
0.9999999999999986 1.2 0.8
1.166666666666665 1.2 0.8
1.333333333333332 1.2 0.8
1 36 0 5
64
65
66
67
68
0.6666666666666662 1.2 1.8
0.8333333333333324 1.2 1.8
0.9999999999999986 1.2 1.8
1.166666666666665 1.2 1.8
1.333333333333332 1.2 1.8
//有删节
2 16 0 34
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
0.6508426476087525 1.2 1.381510956834052
1.097787609117762 1.2 0.9493826874925712
1.355662432702594 1.2 1.383333333333332
1.097787609117763 1.2 1.650617312507428
0.745879829473358 1.2 0.9356302602983095
0.7477062749977592 1.2 1.661162021202656
1.358871325824028 1.2 1.050706228213479
1.358871325824028 1.2 1.549293771786519
1.197528712446488 1.2 1.492564646662274
1.209025506578738 1.2 1.304316329999267
1.066987298107782 1.2 1.383333333333332
1.063812934215549 1.2 1.222220446824229
0.925063584221011 1.2 1.30092563002626
0.922649730810376 1.2 1.466666666666665
0.9213699392000604 1.2 1.140090540338241
0.7835712984850783 1.2 1.240465917555634
1.196746752058104 1.2 1.108845369074414
0.9203907139583827 1.2 0.9687852027634299
0.9209213154057616 1.2 1.631801208463608
1.353384336193911 1.2 1.213422432325637
1.251495706808269 1.2 1.661354996061843
0.6369493419813703 1.2 1.552883104482442
1.251402616285843 1.2 0.9388128629544283
0.6313072671406489 1.2 1.041807230776599
0.8153718094250966 1.2 1.382547596179446
0.6351634612227937 1.2 1.205995239691189
0.7833193598962169 1.2 1.083207576000983
0.7824068533715194 1.2 1.512761925638145
1.050240473580838 1.2 1.52099364905389
1.040021589709972 1.2 1.077864849298577
1.377991532071853 1.2 1.677991532071853
0.6220084679281456 1.2 1.677991532071854
1.377991532071854 1.2 0.9220084679281455
0.6211598774258424 1.2 0.9211598774258425
2 17 0 34
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
1.097787609117763 0.349382687492571 0.8
0.6508426476087527 0.7815109568340521 0.8
1.097787609117763 1.050617312507428 0.8
1.355662432702594 0.7833333333333314 0.8
0.7458798294733583 0.3356302602983093 0.8
1.358871325824028 0.4507062282134787 0.8
0.7477062749977592 1.061162021202656 0.8
1.358871325824028 0.9492937717865189 0.8
1.197528712446488 0.8925646466622739 0.8
1.209025506578738 0.7043163299992665 0.8
1.066987298107782 0.783333333333331 0.8
1.06381293421555 0.6222204468242278 0.8
0.9250635842210116 0.7009256300262581 0.8
0.922649730810376 0.8666666666666636 0.8
0.9213699392000615 0.5400905403382402 0.8
0.7835712984850792 0.6404659175556329 0.8
0.9209213154057614 1.031801208463607 0.8
1.355814021751758 0.6175037597021233 0.8
0.9203907139583835 0.3687852027634294 0.8
1.196768407636557 0.5089649537937651 0.8
1.251495706808269 1.061354996061843 0.8
0.6369493419813702 0.9528831044824415 0.8
1.251405194330897 0.3388270992305415 0.8
0.6313072671406494 0.4418072307765987 0.8
0.6351634612227943 0.6059952396911892 0.8
0.8153718094250968 0.7825475961794448 0.8
0.7833193598962184 0.4832075760009824 0.8
0.7824068533715194 0.9127619256381441 0.8
1.050240473580838 0.9209936490538888 0.8
1.040025920825663 0.4778887662424467 0.8
1.377991532071853 1.077991532071853 0.8
1.377991532071854 0.3220084679281456 0.8
0.6220084679281455 1.077991532071854 0.8
0.6211598774258424 0.3211598774258424 0.8
2 18 0 34
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
1.097787609117763 0.349382687492571 1.8
0.6508426476087527 0.7815109568340521 1.8
1.097787609117763 1.050617312507428 1.8
1.355662432702594 0.7833333333333314 1.8
0.6513080901435649 0.4623742252847557 1.8
1.358871325824028 0.4507062282134787 1.8
0.7477062749977592 1.061162021202656 1.8
1.358871325824028 0.9492937717865189 1.8
1.197528712446488 0.8925646466622739 1.8
1.209025506578738 0.7043163299992665 1.8
1.066987298107782 0.783333333333331 1.8
1.06381293421555 0.6222204468242278 1.8
0.9250635842210116 0.7009256300262581 1.8
0.9212660308626635 0.5399105658185368 1.8
0.922649730810376 0.8666666666666636 1.8
0.772222170949889 0.6199000080986981 1.8
0.9209213154057614 1.031801208463607 1.8
1.355814021751758 0.6175037597021233 1.8
0.922042975355188 0.3691750301123358 1.8
1.196768407636557 0.5089649537937651 1.8
1.251495706808269 1.061354996061843 1.8
0.6369493419813702 0.9528831044824415 1.8
1.251405194330897 0.3388270992305415 1.8
0.7555622040077321 0.3392783562418089 1.8
0.6148745817404413 0.6194237047101674 1.8
0.8131019839180587 0.7784344142880579 1.8
0.8044802942638075 0.466127637111227 1.8
0.7820285491203463 0.912076395322913 1.8
1.050240473580838 0.9209936490538888 1.8
1.040335591437544 0.4779307368082872 1.8
1.377991532071853 1.077991532071853 1.8
0.6220084679281458 0.3220084679281459 1.8
1.377991532071854 0.3220084679281456 1.8
0.6220084679281455 1.077991532071854 1.8
3 3 0 0
$EndNodes
//网格信息
//对应几何的点线面体,这里给出网格的点线面体的信息
//比如,几何的线包含多个网格节点,这种对应关系在这里描述
//网格的点线面体称为entity,单独设置tag
$Elements //网格信息
26 620 1 620 //26个entiti block,620个网格,网格编号从1到620
0 17 15 1 //entity dim(0),tag(17),type(15),本entity含有的单元数量(1)
1 1
0 18 15 1
2 2
0 19 15 1
3 3
0 20 15 1
4 4
0 21 15 1
5 5
0 22 15 1
6 6
0 23 15 1
7 7
0 24 15 1
8 8
1 25 1 6
9 2 9
10 9 10
11 10 11
12 11 12
13 12 13
14 13 1
1 26 1 6
15 1 14
16 14 15
17 15 16
18 16 17
19 17 18
20 18 3
1 27 1 6
21 4 19
22 19 20
23 20 21
24 21 22
25 22 23
26 23 3
1 28 1 6
27 2 24
28 24 25
29 25 26
30 26 27
31 27 28
32 28 4
1 29 1 6
33 6 29
34 29 30
35 30 31
36 31 32
37 32 33
38 33 5
1 30 1 6
39 5 34
40 34 35
41 35 36
42 36 37
43 37 38
44 38 7
1 31 1 6
45 8 39
46 39 40
47 40 41
48 41 42
49 42 43
50 43 7
1 32 1 6
51 6 44
52 44 45
53 45 46
54 46 47
55 47 48
56 48 8
1 33 1 6
57 2 49
58 49 50
59 50 51
60 51 52
61 52 53
62 53 6
1 34 1 6
63 1 54
64 54 55
65 55 56
66 56 57
67 57 58
68 58 5
1 35 1 6
69 4 59
70 59 60
71 60 61
72 61 62
73 62 63
74 63 8
1 36 1 6
75 3 64
76 64 65
77 65 66
78 66 67
79 67 68
80 68 7
2 13 2 90
81 70 77 89
82 85 71 90
83 77 70 97
84 71 85 98
85 73 84 94
86 84 69 94
87 69 84 93
88 84 73 95
89 91 69 96
90 69 93 96
91 77 76 89
92 74 85 90
93 88 83 97
94 82 87 98
95 87 82 95
96 83 88 96
97 70 88 97
98 87 71 98
99 16 72 86
100 78 79 80
101 72 78 86
102 80 79 81
103 17 18 76
104 78 80 85
105 78 85 86
106 81 79 83
107 15 16 86
108 82 81 84
109 20 75 88
110 72 77 78
111 85 74 86
112 80 81 82
113 10 11 87
114 11 12 71
115 11 71 87
116 72 76 77
117 14 15 74
118 74 15 86
119 16 17 72
120 21 20 88
121 22 21 70
122 25 24 73
123 27 26 69
124 78 77 79
125 20 19 75
126 72 17 76
127 70 21 88
128 88 75 96
129 12 13 90
130 23 22 89
131 28 27 91
132 9 10 92
133 92 87 95
134 69 26 94
135 84 81 93
136 25 73 94
137 22 70 89
138 71 12 90
139 27 69 91
140 10 87 92
141 79 77 97
142 85 80 98
143 18 3 99
144 3 23 99
145 24 2 101
146 4 28 100
147 13 1 102
148 2 9 101
149 19 4 100
150 1 14 102
151 26 25 94
152 81 83 93
153 75 91 96
154 82 84 95
155 73 92 95
156 83 79 97
157 80 82 98
158 9 92 101
159 28 91 100
160 90 13 102
161 23 89 99
162 76 18 99
163 75 19 100
164 73 24 101
165 14 74 102
166 93 83 96
167 91 75 100
168 74 90 102
169 89 76 99
170 92 73 101
2 14 2 90
171 103 123 111
172 119 124 104
173 111 131 103
174 104 132 119
175 107 128 118
176 118 128 105
177 105 127 118
178 118 129 107
179 125 130 105
180 105 130 127
181 111 123 110
182 108 124 119
183 122 131 117
184 116 132 121
185 121 129 116
186 117 130 122
187 103 131 122
188 121 132 104
189 36 120 106
190 112 114 113
191 106 120 112
192 114 115 113
193 37 110 38
194 112 119 114
195 112 120 119
196 115 117 113
197 35 120 36
198 116 118 115
199 40 122 109
200 106 112 111
201 119 120 108
202 114 116 115
203 30 121 31
204 31 104 32
205 31 121 104
206 106 111 110
207 34 108 35
208 108 120 35
209 36 106 37
210 41 122 40
211 42 103 41
212 45 107 44
213 47 105 46
214 112 113 111
215 40 109 39
216 106 110 37
217 103 122 41
218 122 130 109
219 32 124 33
220 43 123 42
221 48 125 47
222 29 126 30
223 126 129 121
224 105 128 46
225 118 127 115
226 45 128 107
227 42 123 103
228 104 124 32
229 47 125 105
230 30 126 121
231 113 131 111
232 119 132 114
233 38 133 7
234 7 133 43
235 44 135 6
236 8 134 48
237 33 136 5
238 6 135 29
239 39 134 8
240 5 136 34
241 46 128 45
242 115 127 117
243 109 130 125
244 116 129 118
245 107 129 126
246 117 131 113
247 114 132 116
248 29 135 126
249 48 134 125
250 124 136 33
251 43 133 123
252 110 133 38
253 107 135 44
254 109 134 39
255 34 136 108
256 127 130 117
257 125 134 109
258 108 136 124
259 123 133 110
260 126 135 107
2 15 2 90
261 140 145 157
262 156 139 159
263 145 140 165
264 139 156 166
265 161 160 163
266 152 161 163
267 152 138 161
268 138 152 162
269 158 138 164
270 138 162 164
271 145 144 157
272 143 156 159
273 154 150 165
274 151 153 166
275 153 151 163
276 150 154 164
277 140 154 165
278 153 139 166
279 143 30 155
280 137 145 146
281 148 147 149
282 30 31 155
283 29 30 143
284 51 139 153
285 32 33 144
286 49 50 141
287 51 52 139
288 31 137 155
289 141 50 153
290 140 56 154
291 151 149 152
292 55 142 154
293 155 146 156
294 148 149 151
295 146 148 156
296 137 146 155
297 12 11 138
298 31 32 137
299 50 51 153
300 137 32 144
301 137 144 145
302 146 145 147
303 149 147 150
304 55 54 142
305 56 55 154
306 57 56 140
307 143 155 156
308 146 147 148
309 141 153 163
310 154 142 164
311 58 57 157
312 52 53 159
313 13 12 158
314 152 149 162
315 138 11 161
316 57 140 157
317 139 52 159
318 12 138 158
319 10 9 160
320 147 145 165
321 156 148 166
322 33 5 167
323 5 58 167
324 53 6 169
325 1 13 168
326 54 1 168
327 6 29 169
328 10 160 161
329 9 2 170
330 2 49 170
331 11 10 161
332 149 150 162
333 160 141 163
334 142 158 164
335 151 152 163
336 150 147 165
337 148 151 166
338 13 158 168
339 159 53 169
340 58 157 167
341 49 141 170
342 29 143 169
343 142 54 168
344 144 33 167
345 162 150 164
346 158 142 168
347 143 159 169
348 157 144 167
349 141 160 170
350 160 9 170
2 16 2 90
351 174 191 179
352 187 193 172
353 179 199 174
354 172 200 187
355 196 197 194
356 186 197 196
357 171 195 186
358 186 196 171
359 192 198 171
360 171 198 195
361 179 191 178
362 177 193 187
363 189 199 184
364 185 200 188
365 188 197 185
366 184 198 189
367 174 199 189
368 188 200 172
369 173 180 179
370 187 190 177
371 180 190 187
372 173 190 180
373 39 177 40
374 61 188 172
375 42 178 43
376 59 175 60
377 177 190 40
378 61 172 62
379 182 183 181
380 175 188 60
381 180 181 179
382 180 187 182
383 182 185 183
384 65 189 176
385 174 189 66
386 180 182 181
387 22 171 21
388 40 190 41
389 41 173 42
390 60 188 61
391 173 178 42
392 173 179 178
393 65 176 64
394 66 189 65
395 67 174 66
396 185 186 183
397 41 190 173
398 183 184 181
399 175 197 188
400 189 198 176
401 68 191 67
402 62 193 63
403 23 192 22
404 186 195 183
405 171 196 21
406 67 191 174
407 172 193 62
408 22 192 171
409 20 194 19
410 181 199 179
411 187 200 182
412 43 201 7
413 7 201 68
414 63 203 8
415 3 202 23
416 64 202 3
417 8 203 39
418 20 196 194
419 19 204 4
420 4 204 59
421 183 195 184
422 21 196 20
423 194 197 175
424 176 198 192
425 185 197 186
426 184 199 181
427 182 200 185
428 23 202 192
429 193 203 63
430 68 201 191
431 59 204 175
432 39 203 177
433 176 202 64
434 178 201 43
435 195 198 184
436 192 202 176
437 177 203 193
438 191 201 178
439 175 204 194
440 194 204 19
2 17 2 90
441 213 207 225
442 205 224 227
443 207 213 233
444 224 205 234
445 228 229 231
446 229 220 231
447 206 220 229
448 220 206 230
449 206 226 232
450 230 206 232
451 212 213 225
452 224 210 227
453 218 221 233
454 223 219 234
455 219 223 231
456 221 218 232
457 221 207 233
458 205 223 234
459 214 208 222
460 48 47 212
461 213 208 214
462 214 222 224
463 46 45 222
464 51 50 223
465 212 208 213
466 215 217 218
467 61 62 207
468 61 207 221
469 205 51 223
470 59 60 211
471 217 216 219
472 50 49 209
473 215 214 216
474 26 27 206
475 45 44 210
476 47 46 208
477 50 209 223
478 52 51 205
479 222 210 224
480 217 219 220
481 208 46 222
482 47 208 212
483 213 214 215
484 215 216 217
485 211 60 221
486 45 210 222
487 216 214 224
488 60 61 221
489 223 209 231
490 211 221 232
491 27 28 226
492 53 52 227
493 62 63 225
494 26 206 229
495 217 220 230
496 206 27 226
497 52 205 227
498 207 62 225
499 24 25 228
500 213 215 233
501 216 224 234
502 8 48 235
503 63 8 235
504 28 4 237
505 6 53 236
506 44 6 236
507 4 59 237
508 228 25 229
509 2 24 238
510 49 2 238
511 25 26 229
512 218 217 230
513 209 228 231
514 226 211 232
515 220 219 231
516 215 218 233
517 219 216 234
518 226 28 237
519 53 227 236
520 225 63 235
521 209 49 238
522 48 212 235
523 59 211 237
524 210 44 236
525 218 230 232
526 211 226 237
527 227 210 236
528 212 225 235
529 228 209 238
530 24 228 238
2 18 2 90
531 247 259 241
532 239 261 258
533 241 267 247
534 258 268 239
535 240 263 254
536 254 264 240
537 254 263 243
538 243 265 254
539 240 266 260
540 264 266 240
541 246 259 247
542 258 261 244
543 253 267 255
544 257 268 252
545 252 265 257
546 255 266 253
547 255 267 241
548 239 268 257
549 248 256 242
550 38 246 37
551 247 248 242
552 248 258 256
553 36 256 35
554 246 247 242
555 56 257 55
556 249 253 251
557 66 241 67
558 66 255 241
559 64 245 65
560 239 257 56
561 249 250 248
562 251 254 252
563 14 243 15
564 16 240 17
565 35 244 34
566 37 242 36
567 57 239 56
568 256 258 244
569 242 256 36
570 37 246 242
571 247 249 248
572 251 252 250
573 249 251 250
574 245 255 65
575 35 256 244
576 250 258 248
577 65 255 66
578 245 266 255
579 17 260 18
580 58 261 57
581 67 259 68
582 55 262 54
583 257 265 262
584 243 263 15
585 16 263 240
586 251 264 254
587 240 260 17
588 57 261 239
589 241 259 67
590 257 262 55
591 247 267 249
592 250 268 258
593 7 269 38
594 68 269 7
595 54 270 1
596 18 272 3
597 5 271 58
598 1 270 14
599 34 271 5
600 3 272 64
601 15 263 16
602 253 264 251
603 260 266 245
604 254 265 252
605 262 265 243
606 249 267 253
607 252 268 250
608 260 272 18
609 58 271 261
610 262 270 54
611 259 269 68
612 38 269 246
613 64 272 245
614 14 270 243
615 244 271 34
616 253 266 264
617 245 272 260
618 261 271 244
619 246 269 259
620 243 270 262
$EndElements