Hello dokken,
Based on the question you asked, I checked whether my format is correct and I solved my problem. When converting from gmsh to msh, I needed to select version II ASCII format, then I deleted the truss elements from the msh file. So my code worked.
Thank you so much
I was trying to run it, does not work now. Is there any updates how to convert msh to xdmf? Thank you!
The geo-file I am trying to convert:
Point(1) = {0.0, 0.0, 0, 0.1};
Point(2) = {1.0, 0.0, 0, 0.0001};
Point(3) = {0.0, 1.0, 0, 0.01};
Point(4) = {-1.0, 0.0, 0, 0.01};
Point(5) = {0.0, -1.0, 0, 0.01};
Circle(1) = {2, 1, 3};
Circle(2) = {3, 1, 4};
Circle(3) = {4, 1, 5};
Circle(4) = {5, 1, 2};
Line Loop(1) = {1, 2, 3, 4};
Plane Surface(1) = {1};
Point{1} In Surface{1};
from dolfin import *
from configparser import ConfigParser
import numpy as np
# Importing mesh from gmsh and defining surface and boundary markers
msh = meshio.read("mesh.msh")
# print(msh.cell_sets_dict)
print(msh.cell_data_dict)
for key in msh.cell_data_dict["gmsh:geometrical"].keys():
if key == "triangle":
triangle_data = msh.cell_data_dict["gmsh:geometrical"][key]
for cell in msh.cells:
if cell.type == "tetra":
tetra_cells = cell.data
elif cell.type == "triangle":
triangle_cells = cell.data
triangle_mesh =meshio.Mesh(points=msh.points,
cells=[("triangle", triangle_cells)],
cell_data={"name_to_read":[triangle_data]})
meshio.write("mesh.xdmf", triangle_mesh)
mesh = Mesh()
mvc = MeshValueCollection("size_t", mesh, mesh.topology().dim())
with XDMFFile("mesh.xdmf") as infile:
infile.read(mesh)
mvc = MeshValueCollection("size_t", mesh, mesh.topology().dim())
with XDMFFile("mesh.xdmf") as infile:
infile.read(mvc, "name_to_read")
mf = cpp.mesh.MeshFunctionSizet(mesh, mvc)
print(mesh.topology().dim() - 1)
boundary_markers = MeshFunction('size_t', mesh, mesh.topology().dim()-1, 0)
class Boundary(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x[1], 0.0)
b_c = Boundary()
b_c.mark(boundary_markers, 3)
# Compiling subdomains
ds = Measure('ds', domain=mesh, subdomain_data=boundary_markers)
dx = Measure("dx", domain=mesh, subdomain_data=mf, subdomain_id=1)
this works for me
Hi, please make sure to select version II ASCII format when you export your gmsh as msh
Hello Dokken,
I create a 2D mesh with an obstacle, the goal is to have different boundary conditions on all the walls and on the obstacle, when I get the mesh.msh and convert it through dolfin-convert, however, it only creates a file malla_physical_region.xml. When trying to impose the boundary conditions it gives me error. any suggestions?
Blockquote
def main():
#mesh = fe.UnitSquareMesh(N_POINTS_P_AXIS, N_POINTS_P_AXIS)
xml_file = “Malla1.xml”
mesh = fe.Mesh(xml_file)
n = fe.FacetNormal(mesh)
# Taylor-Hood Elements. The order of the function space for the pressure has
# to be one order lower than for the velocity
velocity_function_space = fe.VectorFunctionSpace(mesh, "Lagrange", 2)
pressure_function_space = fe.FunctionSpace(mesh, "Lagrange", 1)
u_trial = fe.TrialFunction(velocity_function_space)
p_trial = fe.TrialFunction(pressure_function_space)
v_test = fe.TestFunction(velocity_function_space)
q_test = fe.TestFunction(pressure_function_space)
# Define the Initial Value for velocity
u_0 = fe.Expression(('0.0', '0.0'), degree=2)
cd = fe.MeshFunction('size_t', mesh, "Malla1_physical_region.xml")
# Define the Boundary Condition for velocity
ymax = 2.0
Umax = 0.1
inflow = fe.Expression(('Umax*ymax*x[1]*(ymax - x[1])/(ymax*ymax)', '0.0'), degree=2, Umax=Umax, ymax=ymax)
u_in_boundary_condition = fe.DirichletBC(
velocity_function_space,
inflow,
cd,
12
)
Blockquote
Without supplying how you have generated the mesh, or the mesh itself, i cannot give any further guidance.
Please note that dolfin-convert is no longer maintained, and that it is recommended to use the xdmf format
Thank you very much. I created the mesh in gmsh with a .txt file and adding phishycal groups manually.
It is a very simple domain, as it is a first approximation to make a good labeling of the boundary conditions at entrance, walls and exit, as well as at the obstacle.Mallas
As I said, you should not use dolfin-convert
(as it is no longer maintained).
The thread here has plenty of examples of how to use the newer and more supported framework. For instance
Sorry, I will try to use the one you recommend. However, when I want to use the code you mention, I get the following error. I have doubts about how to work with the “ds” since in my weak formulation I don’t consider them.
Blockquote
UserWarning: h5py is running against HDF5 1.10.7 when it was built against 1.12.2, this may cause problems
_warn(("h5py is running against HDF5 {0} when it was built against {1}, "
Warning! HDF5 library version mismatched error
I am using this mesh and the recommended code.
Blockquote
Point(1) = { 0.000000, 0.000000, 0, 0.100000 };
Point(2) = { 2.000000, 0.000000, 0, 0.100000 };
Point(3) = { 2.000000, 1.000000, 0, 0.100000 };
Point(4) = { 0.000000, 1.000000, 0, 0.100000 };
Point(5) = { 0.500000, 0.2500000, 0, 0.100000 };
Point(6) = { 1.500000, 0.250000, 0, 0.100000 };
Point(7) = { 1.500000, 0.750000, 0, 0.100000 };
Point(8) = { 0.500000, 0.750000, 0, 0.100000 };
Line(1) = { 1, 2};
Line(2) = { 2, 3};
Line(3) = { 3, 4};
Line(4) = { 4, 1};
Line(5) = { 5, 6};
Line(6) = { 6, 7};
Line(7) = { 7, 8};
Line(8) = { 8, 5};
Curve Loop(9) = { 1, 2, 3, 4 };
Curve Loop(10) = { 5, 6, 7, 8 };
Plane Surface(11) = {9,10};
Physical Surface(“Obstaculo”) = {11}
Mesh 2;
Mesh.SurfaceFaces = 1;
Mesh.Points = 1;
When you install h5py, you need to build it against the allready installed HDF5 library.
This can be achieved by calling
pip3 uninstall h5py
pip3 install —no-binary=h5py h5py
How do I know how the walls are labeled to impose boundary conditions?
Tjue are label with integer markers, and you can visually inspect the files (mesh.xdmf for cell markers, and mf.xdmf for facet markers) to see what values you assigned them in GMSH.
Is it necessary to create pishycal groups in gmsh to extract them from the suggested code?
Blockquote
Point(1) = { 0.000000, 0.000000, 0, 0.100000 };
Point(2) = { 2.000000, 0.000000, 0, 0.100000 };
Point(3) = { 2.000000, 1.000000, 0, 0.100000 };
Point(4) = { 0.000000, 1.000000, 0, 0.100000 };
Point(5) = { 0.500000, 0.2500000, 0, 0.100000 };
Point(6) = { 1.500000, 0.250000, 0, 0.100000 };
Point(7) = { 1.500000, 0.750000, 0, 0.100000 };
Point(8) = { 0.500000, 0.750000, 0, 0.100000 };
Line(1) = { 1, 2};
Line(2) = { 2, 3};
Line(3) = { 3, 4};
Line(4) = { 4, 1};
Line(5) = { 5, 6};
Line(6) = { 6, 7};
Line(7) = { 7, 8};
Line(8) = { 8, 5};Curve Loop(9) = { 1, 2, 3, 4 };
Curve Loop(10) = { 5, 6, 7, 8 };Plane Surface(11) = {9,10};
Physical Surface(“Obstaculo”) = {11}
Mesh 2;
Mesh.SurfaceFaces = 1;
Mesh.Points = 1;
Is there a way to write pygmsh meshes with physical groups directly with meshio, without the intermediate step of writing the .msh
using gmsh?
Consider the following MWE with the flag gmsh_workaround = True|False
:
import meshio
import numpy as np
import pygmsh
def create_mesh(mesh, cell_type):
cells = mesh.get_cells_type(cell_type)
cell_data = mesh.get_cell_data("gmsh:physical", cell_type)
out_mesh = meshio.Mesh(
points=mesh.points, cells={cell_type: cells}, cell_data={"markers": [cell_data]}
)
return out_mesh
gmsh_workaround = True
with pygmsh.geo.Geometry() as geom:
ny = 10
cylinder = geom.add_circle((0.2, 0, 0), 0.05, mesh_size=np.pi / ny / 30)
rectangle = geom.add_rectangle(
0.0, 2.2, -0.2, 0.21, 0, mesh_size=0.41 / ny, holes=[cylinder]
)
geom.add_physical(rectangle.lines[3], "inlet") # 1
geom.add_physical(rectangle.lines[1], "outlet") # 2
geom.add_physical(rectangle.lines[0::2], "walls") # 3
geom.add_physical(cylinder.curve_loop.curves, "cylinder") # 4
geom.add_physical(rectangle.surface, "domain") # 5
mesh = geom.generate_mesh(dim=2, verbose=True)
if gmsh_workaround:
import gmsh
gmsh.write("karm_test.msh")
gmsh.clear()
mesh = meshio.read("karm_test.msh")
triangle_mesh = create_mesh(mesh, "triangle")
line_mesh = create_mesh(mesh, "line")
meshio.write("mesh_2d.xdmf", triangle_mesh)
meshio.write("mesh_1d.xdmf", line_mesh)
Without writing the gmsh mesh, I get this error:
Traceback (most recent call last):
File "/home/david/work/FEniCS/NavierStokes/examples/scripts/test_genmesh.py", line 38, in <module>
triangle_mesh = create_mesh(mesh, "triangle")
File "/home/david/work/FEniCS/NavierStokes/examples/scripts/test_genmesh.py", line 8, in create_mesh
cell_data = mesh.get_cell_data("gmsh:physical", cell_type)
File "/usr/lib/python3.10/site-packages/meshio/_mesh.py", line 250, in get_cell_data
[d for c, d in zip(self.cells, self.cell_data[name]) if c.type == cell_type]
KeyError: 'gmsh:physical'
Thanks!
Bonus question: is there a way to force the integer IDs for physical groups? Some versions ago ints could be specified instead of string labels for add_physical()
.
This question is solely about pygmsh
, and I would suggest asking the authors of the software at: Discussions · meshpro/pygmsh · GitHub
In the version of meshio that I am using (5.3.4), msh.cells
is not a dictionary anymore. This part needs to be replaced by, e.g., msh.cells_dict["triangle"]
.
Hello @dokken,
I started to have an error with this code as below:
Traceback (most recent call last):
File "/home/hd/.local/lib/python3.10/site-packages/spyder_kernels/py3compat.py", line 356, in compat_exec
exec(code, globals, locals)
File "/home/hd/Desktop/work/readfromgmsh.py", line 26, in <module>
msh = meshio.read("mesh.msh")
File "/home/hd/.local/lib/python3.10/site-packages/meshio/_helpers.py", line 71, in read
return _read_file(Path(filename), file_format)
File "/home/hd.local/lib/python3.10/site-packages/meshio/_helpers.py", line 103, in _read_file
return reader_map[file_format](str(path))
File "/home/hd/.local/lib/python3.10/site-packages/meshio/gmsh/main.py", line 19, in read
mesh = read_buffer(f)
File "/home/hd/.local/lib/python3.10/site-packages/meshio/gmsh/main.py", line 48, in read_buffer
return reader.read_buffer(f, is_ascii, data_size)
File "/home/hd/.local/lib/python3.10/site-packages/meshio/gmsh/_gmsh22.py", line 59, in read_buffer
has_additional_tag_data, cell_tags = _read_cells(
File "/home/hd/.local/lib/python3.10/site-packages/meshio/gmsh/_gmsh22.py", line 135, in _read_cells
point_tags = np.asarray(point_tags, dtype=np.int32) - 1
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
Is this a format problem?
Without supplying the mesh or the code you are running, your guess is as good as mine.
sorry, here it is:
$MeshFormat
2.2 0 8
$EndMeshFormat
$PhysicalNames
2
2 1 "b1"
2 2 "b2"
$EndPhysicalNames
$ParametricNodes
212
1 0 0 0 0 1
2 0 6 0 0 2
3 6 6 0 0 3
4 6 0 0 0 4
5 2 2 0 0 5
6 2 4 0 0 6
7 4 4 0 0 7
8 4 2 0 0 8
9 0.5 0 0 1 1 0.5
10 1 0 0 1 1 1
11 1.5 0 0 1 1 1.5
12 2 0 0 1 1 2
13 2.5 0 0 1 1 2.5
14 3 0 0 1 1 3
15 3.5 0 0 1 1 3.5
16 4 0 0 1 1 4
17 4.5 0 0 1 1 4.5
18 5 0 0 1 1 5
19 5.5 0 0 1 1 5.5
20 6 0.5 0 1 2 0.5
21 6 1 0 1 2 1
22 6 1.5 0 1 2 1.5
23 6 2 0 1 2 2
24 6 2.5 0 1 2 2.5
25 6 3 0 1 2 3
26 6 3.5 0 1 2 3.5
27 6 4 0 1 2 4
28 6 4.5 0 1 2 4.5
29 6 5 0 1 2 5
30 6 5.5 0 1 2 5.5
31 5.5 6 0 1 3 0.5
32 5 6 0 1 3 1
33 4.5 6 0 1 3 1.5
34 4 6 0 1 3 2
35 3.5 6 0 1 3 2.5
36 3 6 0 1 3 3
37 2.5 6 0 1 3 3.5
38 2 6 0 1 3 4
39 1.5 6 0 1 3 4.5
40 1 6 0 1 3 5
41 0.5 6 0 1 3 5.5
42 0 5.5 0 1 4 0.5
43 0 5 0 1 4 1
44 0 4.5 0 1 4 1.5
45 0 4 0 1 4 2
46 0 3.5 0 1 4 2.5
47 0 3 0 1 4 3
48 0 2.5 0 1 4 3.5
49 0 2 0 1 4 4
50 0 1.5 0 1 4 4.5
51 0 1 0 1 4 5
52 0 0.5 0 1 4 5.5
53 2.5 2 0 1 5 0.5
54 3 2 0 1 5 1
55 3.5 2 0 1 5 1.5
56 4 2.5 0 1 6 0.5
57 4 3 0 1 6 1
58 4 3.5 0 1 6 1.5
59 3.5 4 0 1 7 0.5
60 3 4 0 1 7 1
61 2.5 4 0 1 7 1.5
62 2 3.5 0 1 8 0.5
63 2 3 0 1 8 1
64 2 2.5 0 1 8 1.5
65 1.25 0.4330127018922192 0 2 1 -1.75 -2.566987298107781
66 1.25 5.566987298107781 0 2 1 -1.75 2.566987298107781
67 5.566987298107781 4.75 0 2 1 2.566987298107781 1.75
68 4.785698770022839 0.4946886104645802 0 2 1 1.785698770022839 -2.50531138953542
69 2.254496105780926 0.4612037892318082 0 2 1 -0.7455038942190743 -2.538796210768192
70 0.4419071631207996 1.801986396852013 0 2 1 -2.5580928368792 -1.198013603147987
71 2.25 4.433012701892219 0 2 1 -0.7499999999999999 1.433012701892219
72 0.424154499976745 4.244885714739565 0 2 1 -2.575845500023255 1.244885714739565
73 5.542555409831971 3.751214045741246 0 2 1 2.542555409831971 0.7512140457412455
74 4.198013603147987 5.558092836879201 0 2 1 1.198013603147987 2.5580928368792
75 3.749794349187955 0.4109272108559554 0 2 1 0.7497943491879548 -2.589072789144045
76 5.566987298107781 1.75 0 2 1 2.566987298107781 -1.25
77 5.561441691445058 2.710602528363683 0 2 1 2.561441691445058 -0.2893974716363172
78 3.289397471636317 5.561441691445058 0 2 1 0.2893974716363173 2.561441691445058
79 0.4385583085549416 3.210602528363683 0 2 1 -2.561441691445058 0.2106025283636827
80 1.769833736592407 4.450027367558652 0 2 1 -1.230166263407593 1.450027367558653
81 3.75 4.433012701892219 0 2 1 0.75 1.433012701892219
82 4.25 4.411827143433352 0 2 1 1.25 1.411827143433352
83 4.433012701892219 2.25 0 2 1 1.433012701892219 -0.7499999999999999
84 4.450027367558652 1.769833736592407 0 2 1 1.450027367558653 -1.230166263407593
85 4.380943079440677 3.260564491082436 0 2 1 1.380943079440677 0.2605644910824355
86 1.566987298107781 2.25 0 2 1 -1.433012701892219 -0.75
87 1.588172856566648 1.75 0 2 1 -1.411827143433352 -1.25
88 1.619672732565809 3.729960694538078 0 2 1 -1.380327267434191 0.7299606945380781
89 2.739631311553749 1.619187983641561 0 2 1 -0.2603686884462507 -1.380812016358439
90 2.194843539709156 5.57738249888757 0 2 1 -0.8051564602908443 2.57738249888757
91 3.729960694538078 1.598487174106941 0 2 1 0.729960694538078 -1.401512825893059
92 1.973824670666154 1.481059130458052 0 2 1 -1.026175329333846 -1.518940869541948
93 4.518955620286768 4.026371131970031 0 2 1 1.518955620286768 1.026371131970031
94 0.3977124653510797 5.277533144360017 0 2 1 -2.60228753464892 2.277533144360018
95 5.577380721241608 0.7975652546932412 0 2 1 2.577380721241608 -2.202434745306759
96 5.247881315359562 5.576613977472084 0 2 1 2.247881315359562 2.576613977472084
97 0.4233860225279162 0.7521186846404384 0 2 1 -2.576613977472084 -2.247881315359562
98 4.763602441325423 4.366598061914489 0 2 1 1.763602441325423 1.366598061914489
99 1.633434571858209 1.236400017132047 0 2 1 -1.366565428141791 -1.763599982867953
100 4.039397471636317 4.869409218767684 0 2 1 1.039397471636317 1.869409218767684
101 3.453641813381747 4.875403267153482 0 2 1 0.4536418133817469 1.875403267153482
102 4.847675622936643 2.003305622765402 0 2 1 1.847675622936643 -0.9966943772345985
103 4.844617326128677 1.503856559892968 0 2 1 1.844617326128677 -1.496143440107032
104 4.43301270189222 1.25 0 2 1 1.433012701892219 -1.75
105 4.872298467749047 2.552458628675642 0 2 1 1.872298467749048 -0.4475413713243582
106 1.980623085759417 4.855765412549202 0 2 1 -1.019376914240583 1.855765412549202
107 2.50964570037995 4.86745918732086 0 2 1 -0.4903542996200501 1.86745918732086
108 1.500076137058638 4.845965624397437 0 2 1 -1.499923862941362 1.845965624397438
109 1.25 4.433012701892221 0 2 1 -1.75 1.43301270189222
110 1.130590781232316 1.960602528363683 0 2 1 -1.869409218767684 -1.039397471636317
111 1.133410627051687 2.493433754727281 0 2 1 -1.866589372948313 -0.506566245272719
112 1.00978044413899 4.811716376621797 0 2 1 -1.99021955586101 1.811716376621797
113 2.018801111763219 0.9368273993501708 0 2 1 -0.9811988882367816 -2.063172600649829
114 5.065506773718249 3.986297989325121 0 2 1 2.065506773718249 0.986297989325121
115 0.700961894323342 2.250000000000001 0 2 1 -2.299038105676658 -0.7499999999999992
116 5.299038105676658 2.250000000000001 0 2 1 2.299038105676658 -0.7499999999999993
117 3.749999999999999 5.299038105676658 0 2 1 0.7499999999999993 2.299038105676658
118 1.742170209603563 5.293063027977954 0 2 1 -1.257829790396437 2.293063027977954
119 4.836791990489028 1.018249353596942 0 2 1 1.836791990489027 -1.981750646403058
120 5.268696212932559 1.266820846730809 0 2 1 2.268696212932559 -1.733179153269191
121 0.7253300846928736 2.777035804511485 0 2 1 -2.274669915307126 -0.2229641954885153
122 1.128480738016361 3.054910619600408 0 2 1 -1.871519261983639 0.05491061960040801
123 5.56440018511107 3.248123229382434 0 2 1 2.564400185111071 0.2481232293824344
124 5.16671580757486 2.956234933194443 0 2 1 2.16671580757486 -0.04376506680555695
125 5.563203307240025 4.227739259292114 0 2 1 2.563203307240025 1.227739259292114
126 5.13801503821123 3.436498477643077 0 2 1 2.13801503821123 0.4364984776430772
127 4.75 5.566987298107781 0 2 1 1.75 2.566987298107781
128 5 5.133974596215562 0 2 1 2 2.133974596215562
129 2.747373501890912 5.588981122252825 0 2 1 -0.2526264981090879 2.588981122252826
130 3 5.133974596215561 0 2 1 5.897316416670768e-16 2.133974596215561
131 4.404194383685529 2.760503853293013 0 2 1 1.404194383685529 -0.2394961467069871
132 4.467985229321447 5.157450585586439 0 2 1 1.467985229321447 2.157450585586438
133 1.766819683210608 0.4362336964008371 0 2 1 -1.233180316789392 -2.563766303599163
134 2.562557896604237 0.8701178554986022 0 2 1 -0.4374421033957626 -2.129882144501398
135 2.765041922468258 0.4379395999187623 0 2 1 -0.2349580775317417 -2.562060400081238
136 3.096060985700038 0.8117238386808792 0 2 1 0.09606098570003763 -2.188276161319121
137 0.4330127018922196 3.75 0 2 1 -2.56698729810778 0.7500000000000002
138 0.8755429280744131 3.997206851248701 0 2 1 -2.124457071925587 0.9972068512487008
139 0.8327000119036376 3.455550568711534 0 2 1 -2.167299988096362 0.4555505687115334
140 0.4330127018922196 1.25 0 2 1 -2.56698729810778 -1.75
141 0.8660254037844388 1 0 2 1 -2.133974596215561 -2
142 0.8425494144135626 1.532014770678553 0 2 1 -2.157450585586437 -1.467985229321447
143 3.244932001015305 1.602239262492889 0 2 1 0.2449320010153045 -1.397760737507111
144 3.513762402495052 1.164187780836219 0 2 1 0.5137624024950525 -1.835812219163781
145 4.25080123460803 0.4307529028994281 0 2 1 1.25080123460803 -2.569247097100572
146 3.991724016118942 0.8682567218111874 0 2 1 0.9917240161189418 -2.131743278188813
147 0.4938916050499853 4.786218630605578 0 2 1 -2.506108394950015 1.786218630605579
148 1.565977660213935 2.758057395721282 0 2 1 -1.434022339786065 -0.2419426042787184
149 3.242273635563625 4.413390120661525 0 2 1 0.2422736355636248 1.413390120661525
150 2.750319889323929 4.408795677150973 0 2 1 -0.2496801106760707 1.408795677150973
151 1.595869846294146 3.257154784976628 0 2 1 -1.404130153705854 0.2571547849766279
152 3.268100703389722 0.3997808140811414 0 2 1 0.2681007033897215 -2.600219185918859
153 5.225480947161671 0.4188566201357351 0 2 1 2.225480947161671 -2.581143379864265
154 0.7210759171211683 5.613095988127273 0 2 1 -2.278924082878832 2.613095988127273
155 5.574807201613817 5.265760528317201 0 2 1 2.574807201613817 2.265760528317201
156 0.7342394716827996 0.425192798386183 0 2 1 -2.2657605283172 -2.574807201613817
157 1.311867663281004 0.9116975171310093 0 2 1 -1.688132336718996 -2.088302482868991
158 5.088302610860321 4.688134035686755 0 2 1 2.088302610860321 1.688134035686754
159 4.459605742626212 0.8123895177544278 0 2 1 1.459605742626212 -2.187610482245572
160 0.8106738954480264 4.454608055021573 0 2 1 -2.189326104551974 1.454608055021573
161 2.409095544382023 1.286349163415473 0 2 1 -0.5909044556179774 -1.713650836584527
162 4.715007891239138 3.591796187144832 0 2 1 1.715007891239138 0.5917961871448314
163 1.298562034166325 3.989297333998059 0 2 1 -1.701437965833675 0.9892973339980585
164 4.008526180669142 1.278514980372854 0 2 1 1.008526180669142 -1.721485019627146
165 3.50452222964083 0.7362411108699174 0 2 1 0.5045222296408307 -2.263758889130083
166 4.601547958857251 4.771232273600713 0 2 1 1.601547958857251 1.771232273600713
167 4.759635041952413 3.047453790053864 0 2 1 1.759635041952413 0.04745379005386417
168 2.513153503988822 5.277652179455124 0 2 1 -0.4868464960111782 2.277652179455124
169 0.3458223906480722 2.68900456343752 0 2 1 -2.654177609351928 -0.31099543656248
170 5.165402913156464 1.754796605877836 0 2 1 2.165402913156464 -1.245203394122164
171 0.2977382896184424 2.248198192057907 0 2 1 -2.702261710381558 -0.7518018079420933
172 1.228773448522697 1.398452472217549 0 2 1 -1.771226551477303 -1.601547527782451
173 1.225138048503449 3.580680142178901 0 2 1 -1.774861951496551 0.5806801421789012
174 5.694100648860987 1.25 0 2 1 2.694100648860987 -1.75
175 5.694100648860987 2.25 0 2 1 2.694100648860987 -0.75
176 3.75 5.694100648860987 0 2 1 0.75 2.694100648860987
177 1.75 5.694100648860987 0 2 1 -1.25 2.694100648860987
178 1.259249203484669 5.151666103861737 0 2 1 -1.740750796515331 2.151666103861737
179 2.99117620772985 4.73980456970048 0 2 1 -0.008823792270149717 1.73980456970048
180 2.963098651509388 1.24334117461623 0 2 1 -0.03690134849061192 -1.75665882538377
181 0.3660254037844388 5.633974596215561 0 2 1 -2.633974596215561 2.633974596215561
182 0.3660254037844388 0.3660254037844388 0 2 1 -2.633974596215561 -2.633974596215561
183 5.633974596215561 5.633974596215561 0 2 1 2.633974596215561 2.633974596215561
184 5.633974596215561 0.3660254037844388 0 2 1 2.633974596215561 -2.633974596215561
185 4.363733721720608 3.636266278279393 0 2 1 1.363733721720608 0.6362662782793927
186 2.363645217251686 1.636354782748314 0 2 1 -0.636354782748314 -1.363645217251686
187 0.8431228518768412 5.200882342604388 0 2 1 -2.156877148123159 2.200882342604388
188 5.16342737199738 0.7986672988262615 0 2 1 2.16342737199738 -2.201332701173738
189 5.195088783699537 4.32549774298739 0 2 1 2.195088783699537 1.32549774298739
190 1.67450225701261 0.8049112163004639 0 2 1 -1.32549774298739 -2.195088783699536
191 4.12020511774343 5.218583836032044 0 2 1 1.12020511774343 2.218583836032044
192 0.7812672857919534 3.124524880296777 0 2 1 -2.218732714208047 0.1245248802967772
193 0.7814161639679562 1.87979488225657 0 2 1 -2.218583836032044 -1.12020511774343
194 2.188087207888182 5.174264461238142 0 2 1 -0.8119127921118185 2.174264461238142
195 5.220463492598803 2.61390477796409 0 2 1 2.220463492598803 -0.38609522203591
196 3.373259821254516 5.21746441512269 0 2 1 0.373259821254516 2.21746441512269
197 1.619002419554441 4.102087993998599 0 2 1 -1.380997580445559 1.102087993998599
198 4.107871364191492 1.608685041029867 0 2 1 1.107871364191493 -1.391314958970133
199 3.249332516611219 2.42208464363919 0 2 2 0.2493325166112185 -0.5779153563608098
200 3.491026004178691 3.229200746673301 0 2 2 0.491026004178691 0.2292007466733004
201 2.75126209208704 3.616101922919917 0 2 2 -0.24873790791296 0.6161019229199173
202 2.426462433554575 2.728186425766464 0 2 2 -0.573537566445425 -0.2718135742335357
203 2.756865646419863 2.395842009451172 0 2 2 -0.2431343535801369 -0.6041579905488277
204 2.988699454600678 2.861618062829733 0 2 2 -0.01130054539932256 -0.1383819371702665
205 3.566401986104808 2.74259221234984 0 2 2 0.5664019861048075 -0.2574077876501604
206 3.228912045653614 3.622548313347798 0 2 2 0.2289120456536144 0.6225483133477977
207 2.504236995066732 3.227984803144241 0 2 2 -0.4957630049332678 0.2279848031442405
208 2.992827318317351 3.311490769782998 0 2 2 -0.007172681682648985 0.3114907697829979
209 2.366025403784439 2.366025403784438 0 2 2 -0.6339745962155613 -0.6339745962155614
210 3.633974596215562 2.366025403784439 0 2 2 0.6339745962155614 -0.6339745962155613
211 3.643987609966461 3.67034981200422 0 2 2 0.6439876099664611 0.6703498120042197
212 2.366025403784438 3.633974596215561 0 2 2 -0.6339745962155614 0.6339745962155613
$EndParametricNodes
$Elements
446
1 15 2 0 1 1
2 15 2 0 2 2
3 15 2 0 3 3
4 15 2 0 4 4
5 15 2 0 5 5
6 15 2 0 6 6
7 15 2 0 7 7
8 15 2 0 8 8
9 1 2 0 1 1 9
10 1 2 0 1 9 10
11 1 2 0 1 10 11
12 1 2 0 1 11 12
13 1 2 0 1 12 13
14 1 2 0 1 13 14
15 1 2 0 1 14 15
16 1 2 0 1 15 16
17 1 2 0 1 16 17
18 1 2 0 1 17 18
19 1 2 0 1 18 19
20 1 2 0 1 19 4
21 1 2 0 2 4 20
22 1 2 0 2 20 21
23 1 2 0 2 21 22
24 1 2 0 2 22 23
25 1 2 0 2 23 24
26 1 2 0 2 24 25
27 1 2 0 2 25 26
28 1 2 0 2 26 27
29 1 2 0 2 27 28
30 1 2 0 2 28 29
31 1 2 0 2 29 30
32 1 2 0 2 30 3
33 1 2 0 3 3 31
34 1 2 0 3 31 32
35 1 2 0 3 32 33
36 1 2 0 3 33 34
37 1 2 0 3 34 35
38 1 2 0 3 35 36
39 1 2 0 3 36 37
40 1 2 0 3 37 38
41 1 2 0 3 38 39
42 1 2 0 3 39 40
43 1 2 0 3 40 41
44 1 2 0 3 41 2
45 1 2 0 4 2 42
46 1 2 0 4 42 43
47 1 2 0 4 43 44
48 1 2 0 4 44 45
49 1 2 0 4 45 46
50 1 2 0 4 46 47
51 1 2 0 4 47 48
52 1 2 0 4 48 49
53 1 2 0 4 49 50
54 1 2 0 4 50 51
55 1 2 0 4 51 52
56 1 2 0 4 52 1
57 1 2 0 5 5 53
58 1 2 0 5 53 54
59 1 2 0 5 54 55
60 1 2 0 5 55 8
61 1 2 0 6 8 56
62 1 2 0 6 56 57
63 1 2 0 6 57 58
64 1 2 0 6 58 7
65 1 2 0 7 7 59
66 1 2 0 7 59 60
67 1 2 0 7 60 61
68 1 2 0 7 61 6
69 1 2 0 8 6 62
70 1 2 0 8 62 63
71 1 2 0 8 63 64
72 1 2 0 8 64 5
73 2 2 0 1 67 155 128
74 2 2 0 1 141 156 65
75 2 2 0 1 162 167 126
76 2 2 0 1 128 158 67
77 2 2 0 1 65 157 141
78 2 2 0 1 134 180 161
79 2 2 0 1 85 167 162
80 2 2 0 1 73 125 114
81 2 2 0 1 113 133 69
82 2 2 0 1 161 180 89
83 2 2 0 1 128 166 158
84 2 2 0 1 157 172 141
85 2 2 0 1 125 189 114
86 2 2 0 1 113 190 133
87 2 2 0 1 69 134 113
88 2 2 0 1 114 126 73
89 2 2 0 1 138 173 163
90 2 2 0 1 139 173 138
91 2 2 0 1 141 172 142
92 2 2 0 1 132 166 128
93 2 2 0 1 121 169 115
94 2 2 0 1 169 171 115
95 2 2 0 1 126 167 124
96 2 2 0 1 158 166 98
97 2 2 0 1 99 172 157
98 2 2 0 1 112 187 147
99 2 2 0 1 128 155 96
100 2 2 0 1 97 156 141
101 2 2 0 1 68 188 119
102 2 2 0 1 136 180 134
103 2 2 0 1 146 164 144
104 2 2 0 1 69 135 134
105 2 2 0 1 147 187 94
106 2 2 0 1 109 160 138
107 2 2 0 1 119 159 68
108 2 2 0 1 147 160 112
109 2 2 0 1 146 159 104
110 2 2 0 1 144 165 146
111 2 2 0 1 123 126 124
112 2 2 0 1 73 126 123
113 2 2 0 1 74 176 117
114 2 2 0 1 116 170 76
115 2 2 0 1 76 175 116
116 2 2 0 1 100 166 132
117 2 2 0 1 115 171 70
118 2 2 0 1 95 174 120
119 2 2 0 1 118 177 66
120 2 2 0 1 66 178 118
121 2 2 0 1 120 174 76
122 2 2 0 1 116 175 77
123 2 2 0 1 117 176 78
124 2 2 0 1 124 167 105
125 2 2 0 1 142 172 110
126 2 2 0 1 130 168 107
127 2 2 0 1 79 169 121
128 2 2 0 1 76 170 120
129 2 2 0 1 90 177 118
130 2 2 0 1 107 179 130
131 2 2 0 1 122 173 139
132 2 2 0 1 130 179 101
133 2 2 0 1 13 135 69
134 2 2 0 1 14 135 13
135 2 2 0 1 135 136 134
136 2 2 0 1 138 163 109
137 2 2 0 1 104 164 146
138 2 2 0 1 93 98 82
139 2 2 0 1 105 131 83
140 2 2 0 1 7 93 82
141 2 2 0 1 71 150 107
142 2 2 0 1 100 101 81
143 2 2 0 1 102 105 83
144 2 2 0 1 93 114 98
145 2 2 0 1 100 117 101
146 2 2 0 1 102 116 105
147 2 2 0 1 111 115 110
148 2 2 0 1 137 139 138
149 2 2 0 1 129 130 78
150 2 2 0 1 106 118 108
151 2 2 0 1 111 148 122
152 2 2 0 1 84 102 83
153 2 2 0 1 87 92 5
154 2 2 0 1 7 82 81
155 2 2 0 1 8 84 83
156 2 2 0 1 25 123 77
157 2 2 0 1 27 125 73
158 2 2 0 1 32 127 96
159 2 2 0 1 36 129 78
160 2 2 0 1 61 150 71
161 2 2 0 1 71 107 106
162 2 2 0 1 108 109 80
163 2 2 0 1 101 149 81
164 2 2 0 1 84 103 102
165 2 2 0 1 86 111 110
166 2 2 0 1 104 119 103
167 2 2 0 1 127 132 128
168 2 2 0 1 79 139 137
169 2 2 0 1 86 110 87
170 2 2 0 1 12 133 11
171 2 2 0 1 46 137 45
172 2 2 0 1 51 140 50
173 2 2 0 1 69 133 12
174 2 2 0 1 37 129 36
175 2 2 0 1 45 137 72
176 2 2 0 1 97 140 51
177 2 2 0 1 60 150 61
178 2 2 0 1 123 124 77
179 2 2 0 1 127 128 96
180 2 2 0 1 97 141 140
181 2 2 0 1 119 120 103
182 2 2 0 1 11 65 10
183 2 2 0 1 11 133 65
184 2 2 0 1 13 69 12
185 2 2 0 1 16 75 15
186 2 2 0 1 17 145 16
187 2 2 0 1 16 145 75
188 2 2 0 1 18 68 17
189 2 2 0 1 68 145 17
190 2 2 0 1 43 94 42
191 2 2 0 1 44 147 43
192 2 2 0 1 43 147 94
193 2 2 0 1 45 72 44
194 2 2 0 1 72 147 44
195 2 2 0 1 47 79 46
196 2 2 0 1 50 70 49
197 2 2 0 1 50 140 70
198 2 2 0 1 52 97 51
199 2 2 0 1 55 143 91
200 2 2 0 1 63 151 148
201 2 2 0 1 64 148 86
202 2 2 0 1 82 100 81
203 2 2 0 1 111 121 115
204 2 2 0 1 64 86 5
205 2 2 0 1 86 87 5
206 2 2 0 1 6 88 62
207 2 2 0 1 55 91 8
208 2 2 0 1 79 137 46
209 2 2 0 1 53 89 54
210 2 2 0 1 54 143 55
211 2 2 0 1 89 143 54
212 2 2 0 1 140 142 70
213 2 2 0 1 137 138 72
214 2 2 0 1 145 146 75
215 2 2 0 1 87 99 92
216 2 2 0 1 143 144 91
217 2 2 0 1 148 151 122
218 2 2 0 1 111 122 121
219 2 2 0 1 71 80 6
220 2 2 0 1 62 151 63
221 2 2 0 1 63 148 64
222 2 2 0 1 106 108 80
223 2 2 0 1 141 142 140
224 2 2 0 1 99 113 92
225 2 2 0 1 81 149 59
226 2 2 0 1 88 151 62
227 2 2 0 1 71 106 80
228 2 2 0 1 61 71 6
229 2 2 0 1 7 81 59
230 2 2 0 1 8 83 56
231 2 2 0 1 21 95 20
232 2 2 0 1 23 76 22
233 2 2 0 1 25 77 24
234 2 2 0 1 26 123 25
235 2 2 0 1 27 73 26
236 2 2 0 1 73 123 26
237 2 2 0 1 28 125 27
238 2 2 0 1 29 67 28
239 2 2 0 1 67 125 28
240 2 2 0 1 32 96 31
241 2 2 0 1 33 127 32
242 2 2 0 1 34 74 33
243 2 2 0 1 74 127 33
244 2 2 0 1 36 78 35
245 2 2 0 1 38 90 37
246 2 2 0 1 90 129 37
247 2 2 0 1 40 66 39
248 2 2 0 1 56 131 57
249 2 2 0 1 83 131 56
250 2 2 0 1 57 85 58
251 2 2 0 1 59 149 60
252 2 2 0 1 149 150 60
253 2 2 0 1 74 132 127
254 2 2 0 1 84 104 103
255 2 2 0 1 108 112 109
256 2 2 0 1 86 148 111
257 2 2 0 1 57 131 85
258 2 2 0 1 14 152 135
259 2 2 0 1 133 190 65
260 2 2 0 1 67 189 125
261 2 2 0 1 154 187 66
262 2 2 0 1 153 188 68
263 2 2 0 1 75 152 15
264 2 2 0 1 132 191 100
265 2 2 0 1 110 193 142
266 2 2 0 1 77 195 116
267 2 2 0 1 78 196 117
268 2 2 0 1 121 192 79
269 2 2 0 1 118 194 90
270 2 2 0 1 135 152 136
271 2 2 0 1 15 152 14
272 2 2 0 1 144 180 136
273 2 2 0 1 66 187 178
274 2 2 0 1 120 188 95
275 2 2 0 1 117 191 74
276 2 2 0 1 70 193 115
277 2 2 0 1 139 192 122
278 2 2 0 1 105 195 124
279 2 2 0 1 101 196 130
280 2 2 0 1 144 164 91
281 2 2 0 1 10 156 9
282 2 2 0 1 19 153 18
283 2 2 0 1 30 155 29
284 2 2 0 1 41 154 40
285 2 2 0 1 65 190 157
286 2 2 0 1 158 189 67
287 2 2 0 1 136 165 144
288 2 2 0 1 65 156 10
289 2 2 0 1 18 153 68
290 2 2 0 1 29 155 67
291 2 2 0 1 40 154 66
292 2 2 0 1 146 165 75
293 2 2 0 1 129 168 130
294 2 2 0 1 105 167 131
295 2 2 0 1 82 166 100
296 2 2 0 1 150 179 107
297 2 2 0 1 21 174 95
298 2 2 0 1 23 175 76
299 2 2 0 1 34 176 74
300 2 2 0 1 38 177 90
301 2 2 0 1 102 170 116
302 2 2 0 1 70 171 49
303 2 2 0 1 47 169 79
304 2 2 0 1 101 179 149
305 2 2 0 1 120 170 103
306 2 2 0 1 110 172 87
307 2 2 0 1 118 178 108
308 2 2 0 1 76 174 22
309 2 2 0 1 77 175 24
310 2 2 0 1 78 176 35
311 2 2 0 1 66 177 39
312 2 2 0 1 151 173 122
313 2 2 0 1 143 180 144
314 2 2 0 1 2 181 41
315 2 2 0 1 3 183 30
316 2 2 0 1 31 183 3
317 2 2 0 1 20 184 4
318 2 2 0 1 42 181 2
319 2 2 0 1 4 184 19
320 2 2 0 1 9 182 1
321 2 2 0 1 1 182 52
322 2 2 0 1 107 194 106
323 2 2 0 1 58 185 7
324 2 2 0 1 7 185 93
325 2 2 0 1 92 186 5
326 2 2 0 1 5 186 53
327 2 2 0 1 138 160 72
328 2 2 0 1 68 159 145
329 2 2 0 1 145 159 146
330 2 2 0 1 72 160 147
331 2 2 0 1 152 165 136
332 2 2 0 1 134 161 113
333 2 2 0 1 104 159 119
334 2 2 0 1 112 160 109
335 2 2 0 1 162 185 85
336 2 2 0 1 109 197 80
337 2 2 0 1 84 198 104
338 2 2 0 1 163 173 88
339 2 2 0 1 89 186 161
340 2 2 0 1 168 194 107
341 2 2 0 1 119 188 120
342 2 2 0 1 114 189 98
343 2 2 0 1 99 190 113
344 2 2 0 1 114 162 126
345 2 2 0 1 113 161 92
346 2 2 0 1 93 162 114
347 2 2 0 1 30 183 155
348 2 2 0 1 156 182 9
349 2 2 0 1 19 184 153
350 2 2 0 1 41 181 154
351 2 2 0 1 103 170 102
352 2 2 0 1 90 168 129
353 2 2 0 1 98 166 82
354 2 2 0 1 87 172 99
355 2 2 0 1 149 179 150
356 2 2 0 1 48 169 47
357 2 2 0 1 49 171 48
358 2 2 0 1 88 173 151
359 2 2 0 1 48 171 169
360 2 2 0 1 22 174 21
361 2 2 0 1 24 175 23
362 2 2 0 1 35 176 34
363 2 2 0 1 39 177 38
364 2 2 0 1 108 178 112
365 2 2 0 1 131 167 85
366 2 2 0 1 89 180 143
367 2 2 0 1 75 165 152
368 2 2 0 1 53 186 89
369 2 2 0 1 85 185 58
370 2 2 0 1 95 184 20
371 2 2 0 1 94 181 42
372 2 2 0 1 52 182 97
373 2 2 0 1 96 183 31
374 2 2 0 1 124 195 77
375 2 2 0 1 130 196 78
376 2 2 0 1 115 193 110
377 2 2 0 1 79 192 139
378 2 2 0 1 100 191 117
379 2 2 0 1 8 198 84
380 2 2 0 1 80 197 6
381 2 2 0 1 91 198 8
382 2 2 0 1 6 197 88
383 2 2 0 1 117 196 101
384 2 2 0 1 116 195 105
385 2 2 0 1 106 194 118
386 2 2 0 1 142 193 70
387 2 2 0 1 122 192 121
388 2 2 0 1 74 191 132
389 2 2 0 1 163 197 109
390 2 2 0 1 104 198 164
391 2 2 0 1 98 189 158
392 2 2 0 1 157 190 99
393 2 2 0 1 155 183 96
394 2 2 0 1 154 181 94
395 2 2 0 1 153 184 95
396 2 2 0 1 97 182 156
397 2 2 0 1 94 187 154
398 2 2 0 1 95 188 153
399 2 2 0 1 178 187 112
400 2 2 0 1 161 186 92
401 2 2 0 1 93 185 162
402 2 2 0 1 90 194 168
403 2 2 0 1 164 198 91
404 2 2 0 1 88 197 163
405 2 2 0 2 204 205 200
406 2 2 0 2 204 207 202
407 2 2 0 2 200 208 204
408 2 2 0 2 204 208 207
409 2 2 0 2 199 205 204
410 2 2 0 2 203 204 202
411 2 2 0 2 207 208 201
412 2 2 0 2 55 199 54
413 2 2 0 2 58 200 57
414 2 2 0 2 61 201 60
415 2 2 0 2 64 202 63
416 2 2 0 2 206 208 200
417 2 2 0 2 54 203 53
418 2 2 0 2 57 205 56
419 2 2 0 2 60 206 59
420 2 2 0 2 63 207 62
421 2 2 0 2 199 204 203
422 2 2 0 2 199 203 54
423 2 2 0 2 200 205 57
424 2 2 0 2 201 206 60
425 2 2 0 2 202 207 63
426 2 2 0 2 5 209 64
427 2 2 0 2 6 212 61
428 2 2 0 2 7 211 58
429 2 2 0 2 8 210 55
430 2 2 0 2 53 209 5
431 2 2 0 2 62 212 6
432 2 2 0 2 59 211 7
433 2 2 0 2 56 210 8
434 2 2 0 2 203 209 53
435 2 2 0 2 205 210 56
436 2 2 0 2 206 211 59
437 2 2 0 2 207 212 62
438 2 2 0 2 55 210 199
439 2 2 0 2 58 211 200
440 2 2 0 2 61 212 201
441 2 2 0 2 64 209 202
442 2 2 0 2 199 210 205
443 2 2 0 2 200 211 206
444 2 2 0 2 201 212 207
445 2 2 0 2 202 209 203
446 2 2 0 2 201 208 206
$EndElements