FEM: unit tests, use FreeCADs native Python API to create the meshes

This commit is contained in:
Bernd Hahnebach
2017-06-06 16:55:50 +01:00
committed by Yorik van Havre
parent c06cbdee70
commit bf45cb16ee
9 changed files with 567 additions and 440 deletions

View File

@@ -172,8 +172,9 @@ SET(FemGuiScripts_SRCS
)
SET(FemTests_SRCS
test_files/ccx/mesh_points.csv
test_files/ccx/mesh_volumes.csv
test_files/__init__.py
test_files/ccx/__init__.py
test_files/ccx/cube_mesh.py
test_files/ccx/cube_frequency.inp
test_files/ccx/cube_frequency.dat
test_files/ccx/cube_frequency.frd
@@ -183,8 +184,7 @@ SET(FemTests_SRCS
test_files/ccx/cube_static.frd
test_files/ccx/cube_static_expected_values
test_files/ccx/cube.fcstd
test_files/ccx/spine_points.csv
test_files/ccx/spine_volumes.csv
test_files/ccx/spine_mesh.py
test_files/ccx/spine_thermomech.inp
test_files/ccx/spine_thermomech.dat
test_files/ccx/spine_thermomech.frd

View File

@@ -129,8 +129,16 @@ INSTALL(
INSTALL(
FILES
# changes on the file list here needs to be made in App/CMakeLists.txt as well
test_files/ccx/mesh_points.csv
test_files/ccx/mesh_volumes.csv
test_files/__init__.py
DESTINATION
Mod/Fem/test_files
)
INSTALL(
FILES
# changes on the file list here needs to be made in App/CMakeLists.txt as well
test_files/ccx/__init__.py
test_files/ccx/cube_mesh.py
test_files/ccx/cube_frequency.inp
test_files/ccx/cube_frequency.dat
test_files/ccx/cube_frequency.frd
@@ -140,8 +148,7 @@ INSTALL(
test_files/ccx/cube_static.frd
test_files/ccx/cube_static_expected_values
test_files/ccx/cube.fcstd
test_files/ccx/spine_points.csv
test_files/ccx/spine_volumes.csv
test_files/ccx/spine_mesh.py
test_files/ccx/spine_thermomech.inp
test_files/ccx/spine_thermomech.dat
test_files/ccx/spine_thermomech.frd

View File

@@ -55,11 +55,6 @@ thermomech_save_fc_file = thermomech_analysis_dir + '/' + thermomech_base_name +
thermomech_analysis_inp_file = test_file_dir + '/' + thermomech_base_name + '.inp'
thermomech_expected_values = test_file_dir + "/spine_thermomech_expected_values"
mesh_points_file = test_file_dir + '/mesh_points.csv'
mesh_volumes_file = test_file_dir + '/mesh_volumes.csv'
spine_points_file = test_file_dir + '/spine_points.csv'
spine_volumes_file = test_file_dir + '/spine_volumes.csv'
class FemTest(unittest.TestCase):
def setUp(self):
@@ -166,7 +161,12 @@ class FemCcxAnalysisTest(unittest.TestCase):
analysis.Member = analysis.Member + [pressure_constraint]
fcc_print('Checking FEM new mesh...')
mesh = import_csv_mesh(mesh_points_file, mesh_volumes_file)
from test_files.ccx.cube_mesh import create_nodes_cube, create_elements_cube
mesh = Fem.FemMesh()
ret = create_nodes_cube(mesh)
self.assertTrue(ret, "Import of mesh nodes failed")
ret = create_elements_cube(mesh)
self.assertTrue(ret, "Import of mesh volumes failed")
mesh_object = self.active_doc.addObject('Fem::FemMeshObject', mesh_name)
mesh_object.FemMesh = mesh
self.assertTrue(mesh, "FemTest of new mesh failed")
@@ -337,7 +337,12 @@ class FemCcxAnalysisTest(unittest.TestCase):
analysis.Member = analysis.Member + [heatflux_constraint]
fcc_print('Checking FEM new mesh...')
mesh = import_csv_mesh(spine_points_file, spine_volumes_file)
from test_files.ccx.spine_mesh import create_nodes_spine, create_elements_spine
mesh = Fem.FemMesh()
ret = create_nodes_spine(mesh)
self.assertTrue(ret, "Import of mesh nodes failed")
ret = create_elements_spine(mesh)
self.assertTrue(ret, "Import of mesh volumes failed")
mesh_object = self.active_doc.addObject('Fem::FemMeshObject', mesh_name)
mesh_object.FemMesh = mesh
self.assertTrue(mesh, "FemTest of new mesh failed")
@@ -407,22 +412,6 @@ def fcc_print(message):
FreeCAD.Console.PrintMessage('{} \n'.format(message))
def import_csv_mesh(import_points_file, import_volumes_file):
import csv
the_fem_mesh = Fem.FemMesh()
with open(import_points_file, 'r') as points_file:
reader = csv.reader(points_file)
for p in reader:
the_fem_mesh.addNode(float(p[1]), float(p[2]), float(p[3]), int(p[0]))
with open(import_volumes_file, 'r') as volumes_file:
reader = csv.reader(volumes_file)
for v in reader:
the_fem_mesh.addVolume([int(v[2]), int(v[1]), int(v[3]), int(v[4]), int(v[5]),
int(v[7]), int(v[6]), int(v[9]), int(v[8]), int(v[10])],
int(v[0]))
return the_fem_mesh
def compare_inp_files(file_name1, file_name2):
file1 = open(file_name1, 'r')
f1 = file1.readlines()

View File

@@ -0,0 +1,29 @@
# ***************************************************************************
# * *
# * Copyright (c) 2017 - Bernd Hahnebach <bernd@bimstatik.org> *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU Library General Public License for more details. *
# * *
# * You should have received a copy of the GNU Library General Public *
# * License along with this program; if not, write to the Free Software *
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# * USA *
# * *
# ***************************************************************************
__title__ = "Fem test cases"
__author__ = "Bernd Hahnebach"
__url__ = "http://www.freecadweb.org"
## @package test_files
# \ingroup Fem
# \brief Fem test cases

View File

@@ -0,0 +1,29 @@
# ***************************************************************************
# * *
# * Copyright (c) 2017 - Bernd Hahnebach <bernd@bimstatik.org> *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU Library General Public License for more details. *
# * *
# * You should have received a copy of the GNU Library General Public *
# * License along with this program; if not, write to the Free Software *
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# * USA *
# * *
# ***************************************************************************
__title__ = "Fem ccx test cases"
__author__ = "Bernd Hahnebach"
__url__ = "http://www.freecadweb.org"
## @package ccx
# \ingroup Fem
# \brief Fem ccx test cases

View File

@@ -0,0 +1,417 @@
def create_nodes_cube(femmesh):
# nodes
femmesh.addNode(0.0, 0.0, 0.0, 1)
femmesh.addNode(0.0, 0.0, 10.0, 2)
femmesh.addNode(0.0, 10.0, 0.0, 3)
femmesh.addNode(0.0, 10.0, 10.0, 4)
femmesh.addNode(10.0, 0.0, 0.0, 5)
femmesh.addNode(10.0, 0.0, 10.0, 6)
femmesh.addNode(10.0, 10.0, 0.0, 7)
femmesh.addNode(10.0, 10.0, 10.0, 8)
femmesh.addNode(0.0, 0.0, 5.0, 9)
femmesh.addNode(0.0, 0.0, 2.5, 10)
femmesh.addNode(0.0, 0.0, 7.5, 11)
femmesh.addNode(0.0, 5.0, 0.0, 12)
femmesh.addNode(0.0, 2.5, 0.0, 13)
femmesh.addNode(0.0, 7.5, 0.0, 14)
femmesh.addNode(0.0, 10.0, 5.0, 15)
femmesh.addNode(0.0, 10.0, 2.5, 16)
femmesh.addNode(0.0, 10.0, 7.5, 17)
femmesh.addNode(0.0, 5.0, 10.0, 18)
femmesh.addNode(0.0, 2.5, 10.0, 19)
femmesh.addNode(0.0, 7.5, 10.0, 20)
femmesh.addNode(10.0, 0.0, 5.0, 21)
femmesh.addNode(10.0, 0.0, 2.5, 22)
femmesh.addNode(10.0, 0.0, 7.5, 23)
femmesh.addNode(10.0, 5.0, 0.0, 24)
femmesh.addNode(10.0, 2.5, 0.0, 25)
femmesh.addNode(10.0, 7.5, 0.0, 26)
femmesh.addNode(10.0, 10.0, 5.0, 27)
femmesh.addNode(10.0, 10.0, 2.5, 28)
femmesh.addNode(10.0, 10.0, 7.5, 29)
femmesh.addNode(10.0, 5.0, 10.0, 30)
femmesh.addNode(10.0, 2.5, 10.0, 31)
femmesh.addNode(10.0, 7.5, 10.0, 32)
femmesh.addNode(5.0, 0.0, 0.0, 33)
femmesh.addNode(2.5, 0.0, 0.0, 34)
femmesh.addNode(7.5, 0.0, 0.0, 35)
femmesh.addNode(5.0, 0.0, 10.0, 36)
femmesh.addNode(2.5, 0.0, 10.0, 37)
femmesh.addNode(7.5, 0.0, 10.0, 38)
femmesh.addNode(5.0, 10.0, 0.0, 39)
femmesh.addNode(2.5, 10.0, 0.0, 40)
femmesh.addNode(7.5, 10.0, 0.0, 41)
femmesh.addNode(5.0, 10.0, 10.0, 42)
femmesh.addNode(2.5, 10.0, 10.0, 43)
femmesh.addNode(7.5, 10.0, 10.0, 44)
femmesh.addNode(0.0, 5.0, 5.0, 45)
femmesh.addNode(0.0, 2.5, 7.5, 46)
femmesh.addNode(0.0, 2.5, 2.5, 47)
femmesh.addNode(0.0, 7.5, 7.5, 48)
femmesh.addNode(0.0, 7.5, 2.5, 49)
femmesh.addNode(0.0, 1.25, 8.75, 50)
femmesh.addNode(0.0, 1.25, 6.25, 51)
femmesh.addNode(0.0, 2.5, 5.0, 52)
femmesh.addNode(0.0, 3.75, 6.25, 53)
femmesh.addNode(0.0, 1.25, 3.75, 54)
femmesh.addNode(0.0, 1.25, 1.25, 55)
femmesh.addNode(0.0, 3.75, 3.75, 56)
femmesh.addNode(0.0, 3.75, 1.25, 57)
femmesh.addNode(0.0, 5.0, 2.5, 58)
femmesh.addNode(0.0, 6.25, 1.25, 59)
femmesh.addNode(0.0, 8.75, 1.25, 60)
femmesh.addNode(0.0, 6.25, 3.75, 61)
femmesh.addNode(0.0, 3.75, 8.75, 62)
femmesh.addNode(0.0, 5.0, 7.5, 63)
femmesh.addNode(0.0, 8.75, 6.25, 64)
femmesh.addNode(0.0, 8.75, 8.75, 65)
femmesh.addNode(0.0, 6.25, 6.25, 66)
femmesh.addNode(0.0, 7.5, 5.0, 67)
femmesh.addNode(0.0, 6.25, 8.75, 68)
femmesh.addNode(0.0, 8.75, 3.75, 69)
femmesh.addNode(10.0, 5.0, 5.0, 70)
femmesh.addNode(10.0, 2.5, 7.5, 71)
femmesh.addNode(10.0, 7.5, 7.5, 72)
femmesh.addNode(10.0, 7.5, 2.5, 73)
femmesh.addNode(10.0, 2.5, 2.5, 74)
femmesh.addNode(10.0, 6.25, 8.75, 75)
femmesh.addNode(10.0, 8.75, 8.75, 76)
femmesh.addNode(10.0, 8.75, 6.25, 77)
femmesh.addNode(10.0, 5.0, 7.5, 78)
femmesh.addNode(10.0, 6.25, 6.25, 79)
femmesh.addNode(10.0, 7.5, 5.0, 80)
femmesh.addNode(10.0, 6.25, 1.25, 81)
femmesh.addNode(10.0, 8.75, 1.25, 82)
femmesh.addNode(10.0, 8.75, 3.75, 83)
femmesh.addNode(10.0, 6.25, 3.75, 84)
femmesh.addNode(10.0, 5.0, 2.5, 85)
femmesh.addNode(10.0, 3.75, 1.25, 86)
femmesh.addNode(10.0, 1.25, 1.25, 87)
femmesh.addNode(10.0, 1.25, 3.75, 88)
femmesh.addNode(10.0, 3.75, 3.75, 89)
femmesh.addNode(10.0, 2.5, 5.0, 90)
femmesh.addNode(10.0, 3.75, 8.75, 91)
femmesh.addNode(10.0, 1.25, 8.75, 92)
femmesh.addNode(10.0, 3.75, 6.25, 93)
femmesh.addNode(10.0, 1.25, 6.25, 94)
femmesh.addNode(5.0, 0.0, 5.0, 95)
femmesh.addNode(7.5, 0.0, 7.5, 96)
femmesh.addNode(7.5, 0.0, 2.5, 97)
femmesh.addNode(2.5, 0.0, 2.5, 98)
femmesh.addNode(2.5, 0.0, 7.5, 99)
femmesh.addNode(1.25, 0.0, 1.25, 100)
femmesh.addNode(1.25, 0.0, 3.75, 101)
femmesh.addNode(2.5, 0.0, 5.0, 102)
femmesh.addNode(3.75, 0.0, 3.75, 103)
femmesh.addNode(3.75, 0.0, 6.25, 104)
femmesh.addNode(1.25, 0.0, 6.25, 105)
femmesh.addNode(1.25, 0.0, 8.75, 106)
femmesh.addNode(6.25, 0.0, 6.25, 107)
femmesh.addNode(6.25, 0.0, 8.75, 108)
femmesh.addNode(5.0, 0.0, 7.5, 109)
femmesh.addNode(7.5, 0.0, 5.0, 110)
femmesh.addNode(8.75, 0.0, 6.25, 111)
femmesh.addNode(8.75, 0.0, 8.75, 112)
femmesh.addNode(6.25, 0.0, 3.75, 113)
femmesh.addNode(8.75, 0.0, 3.75, 114)
femmesh.addNode(5.0, 0.0, 2.5, 115)
femmesh.addNode(6.25, 0.0, 1.25, 116)
femmesh.addNode(8.75, 0.0, 1.25, 117)
femmesh.addNode(3.75, 0.0, 1.25, 118)
femmesh.addNode(3.75, 0.0, 8.75, 119)
femmesh.addNode(5.0, 10.0, 5.0, 120)
femmesh.addNode(7.5, 10.0, 2.5, 121)
femmesh.addNode(2.5, 10.0, 2.5, 122)
femmesh.addNode(7.5, 10.0, 7.5, 123)
femmesh.addNode(2.5, 10.0, 7.5, 124)
femmesh.addNode(6.25, 10.0, 8.75, 125)
femmesh.addNode(6.25, 10.0, 6.25, 126)
femmesh.addNode(5.0, 10.0, 7.5, 127)
femmesh.addNode(8.75, 10.0, 8.75, 128)
femmesh.addNode(3.75, 10.0, 8.75, 129)
femmesh.addNode(3.75, 10.0, 6.25, 130)
femmesh.addNode(1.25, 10.0, 8.75, 131)
femmesh.addNode(6.25, 10.0, 1.25, 132)
femmesh.addNode(5.0, 10.0, 2.5, 133)
femmesh.addNode(6.25, 10.0, 3.75, 134)
femmesh.addNode(8.75, 10.0, 1.25, 135)
femmesh.addNode(8.75, 10.0, 3.75, 136)
femmesh.addNode(7.5, 10.0, 5.0, 137)
femmesh.addNode(1.25, 10.0, 3.75, 138)
femmesh.addNode(2.5, 10.0, 5.0, 139)
femmesh.addNode(3.75, 10.0, 3.75, 140)
femmesh.addNode(1.25, 10.0, 1.25, 141)
femmesh.addNode(3.75, 10.0, 1.25, 142)
femmesh.addNode(8.75, 10.0, 6.25, 143)
femmesh.addNode(1.25, 10.0, 6.25, 144)
femmesh.addNode(5.0, 5.0, 0.0, 145)
femmesh.addNode(2.5, 7.5, 0.0, 146)
femmesh.addNode(7.5, 7.5, 0.0, 147)
femmesh.addNode(7.5, 2.5, 0.0, 148)
femmesh.addNode(2.5, 2.5, 0.0, 149)
femmesh.addNode(1.25, 3.75, 0.0, 150)
femmesh.addNode(1.25, 1.25, 0.0, 151)
femmesh.addNode(2.5, 5.0, 0.0, 152)
femmesh.addNode(1.25, 6.25, 0.0, 153)
femmesh.addNode(3.75, 6.25, 0.0, 154)
femmesh.addNode(3.75, 3.75, 0.0, 155)
femmesh.addNode(1.25, 8.75, 0.0, 156)
femmesh.addNode(3.75, 1.25, 0.0, 157)
femmesh.addNode(3.75, 8.75, 0.0, 158)
femmesh.addNode(5.0, 7.5, 0.0, 159)
femmesh.addNode(6.25, 8.75, 0.0, 160)
femmesh.addNode(6.25, 6.25, 0.0, 161)
femmesh.addNode(8.75, 8.75, 0.0, 162)
femmesh.addNode(8.75, 6.25, 0.0, 163)
femmesh.addNode(7.5, 5.0, 0.0, 164)
femmesh.addNode(8.75, 3.75, 0.0, 165)
femmesh.addNode(6.25, 3.75, 0.0, 166)
femmesh.addNode(6.25, 1.25, 0.0, 167)
femmesh.addNode(5.0, 2.5, 0.0, 168)
femmesh.addNode(8.75, 1.25, 0.0, 169)
femmesh.addNode(5.0, 5.0, 10.0, 170)
femmesh.addNode(7.5, 7.5, 10.0, 171)
femmesh.addNode(7.5, 2.5, 10.0, 172)
femmesh.addNode(2.5, 7.5, 10.0, 173)
femmesh.addNode(2.5, 2.5, 10.0, 174)
femmesh.addNode(3.75, 8.75, 10.0, 175)
femmesh.addNode(1.25, 8.75, 10.0, 176)
femmesh.addNode(3.75, 6.25, 10.0, 177)
femmesh.addNode(5.0, 7.5, 10.0, 178)
femmesh.addNode(6.25, 8.75, 10.0, 179)
femmesh.addNode(8.75, 8.75, 10.0, 180)
femmesh.addNode(6.25, 6.25, 10.0, 181)
femmesh.addNode(6.25, 1.25, 10.0, 182)
femmesh.addNode(6.25, 3.75, 10.0, 183)
femmesh.addNode(5.0, 2.5, 10.0, 184)
femmesh.addNode(8.75, 1.25, 10.0, 185)
femmesh.addNode(8.75, 3.75, 10.0, 186)
femmesh.addNode(7.5, 5.0, 10.0, 187)
femmesh.addNode(1.25, 6.25, 10.0, 188)
femmesh.addNode(2.5, 5.0, 10.0, 189)
femmesh.addNode(3.75, 1.25, 10.0, 190)
femmesh.addNode(3.75, 3.75, 10.0, 191)
femmesh.addNode(1.25, 1.25, 10.0, 192)
femmesh.addNode(1.25, 3.75, 10.0, 193)
femmesh.addNode(8.75, 6.25, 10.0, 194)
femmesh.addNode(3.75, 6.25, 6.25, 195)
femmesh.addNode(6.25, 3.75, 3.75, 196)
femmesh.addNode(1.25, 1.25, 2.5, 197)
femmesh.addNode(2.5, 1.25, 3.75, 198)
femmesh.addNode(4.375, 1.875, 3.125, 199)
femmesh.addNode(5.625, 1.875, 4.375, 200)
femmesh.addNode(3.125, 3.125, 3.125, 201)
femmesh.addNode(6.25, 7.5, 1.25, 202)
femmesh.addNode(7.5, 8.75, 1.25, 203)
femmesh.addNode(6.875, 6.875, 3.125, 204)
femmesh.addNode(6.875, 5.625, 1.875, 205)
femmesh.addNode(5.625, 4.375, 1.875, 206)
femmesh.addNode(8.75, 7.5, 3.75, 207)
femmesh.addNode(8.75, 8.75, 2.5, 208)
femmesh.addNode(7.5, 6.25, 8.75, 209)
femmesh.addNode(8.75, 7.5, 8.75, 210)
femmesh.addNode(8.75, 3.75, 7.5, 211)
femmesh.addNode(8.75, 2.5, 8.75, 212)
femmesh.addNode(3.75, 2.5, 8.75, 213)
femmesh.addNode(2.5, 1.25, 8.75, 214)
femmesh.addNode(1.25, 2.5, 1.25, 215)
femmesh.addNode(2.5, 3.75, 1.25, 216)
femmesh.addNode(8.75, 7.5, 6.25, 217)
femmesh.addNode(8.75, 8.75, 7.5, 218)
femmesh.addNode(7.5, 7.5, 5.0, 219)
femmesh.addNode(5.625, 6.875, 4.375, 220)
femmesh.addNode(8.125, 4.375, 4.375, 221)
femmesh.addNode(7.5, 5.0, 7.5, 222)
femmesh.addNode(6.875, 3.125, 6.875, 223)
femmesh.addNode(5.625, 4.375, 6.875, 224)
femmesh.addNode(5.0, 2.5, 7.5, 225)
femmesh.addNode(3.125, 3.125, 6.875, 226)
femmesh.addNode(4.375, 3.125, 5.625, 227)
femmesh.addNode(4.375, 5.625, 8.125, 228)
femmesh.addNode(2.5, 5.0, 2.5, 229)
femmesh.addNode(3.125, 4.375, 4.375, 230)
femmesh.addNode(5.625, 8.125, 6.875, 231)
femmesh.addNode(6.875, 5.625, 5.625, 232)
femmesh.addNode(4.375, 8.125, 5.625, 233)
femmesh.addNode(2.5, 2.5, 5.0, 234)
femmesh.addNode(5.0, 7.5, 2.5, 235)
femmesh.addNode(4.375, 5.625, 3.125, 236)
femmesh.addNode(1.875, 5.625, 5.625, 237)
femmesh.addNode(5.0, 5.0, 5.0, 238)
femmesh.addNode(8.75, 2.5, 1.25, 239)
femmesh.addNode(8.125, 4.375, 1.875, 240)
femmesh.addNode(8.125, 3.125, 3.125, 241)
femmesh.addNode(6.875, 3.125, 1.875, 242)
femmesh.addNode(8.75, 1.25, 2.5, 243)
femmesh.addNode(8.125, 1.875, 4.375, 244)
femmesh.addNode(6.875, 1.875, 3.125, 245)
femmesh.addNode(7.5, 1.25, 1.25, 246)
femmesh.addNode(5.625, 1.875, 1.875, 247)
femmesh.addNode(2.5, 8.75, 8.75, 248)
femmesh.addNode(3.125, 8.125, 6.875, 249)
femmesh.addNode(3.125, 6.875, 8.125, 250)
femmesh.addNode(4.375, 8.125, 8.125, 251)
femmesh.addNode(1.25, 8.75, 7.5, 252)
femmesh.addNode(1.875, 8.125, 5.625, 253)
femmesh.addNode(1.875, 6.875, 6.875, 254)
femmesh.addNode(1.25, 7.5, 8.75, 255)
femmesh.addNode(1.875, 5.625, 8.125, 256)
femmesh.addNode(3.125, 8.125, 4.375, 257)
femmesh.addNode(6.875, 1.875, 5.625, 258)
femmesh.addNode(1.875, 4.375, 6.875, 259)
femmesh.addNode(1.25, 8.75, 2.5, 260)
femmesh.addNode(1.25, 7.5, 1.25, 261)
femmesh.addNode(8.75, 7.5, 1.25, 262)
femmesh.addNode(7.5, 1.25, 8.75, 263)
femmesh.addNode(1.25, 2.5, 8.75, 264)
femmesh.addNode(2.5, 1.25, 1.25, 265)
femmesh.addNode(1.25, 1.25, 7.5, 266)
femmesh.addNode(7.5, 8.75, 8.75, 267)
femmesh.addNode(2.5, 8.75, 1.25, 268)
femmesh.addNode(8.75, 1.25, 7.5, 269)
femmesh.addNode(8.75, 6.25, 2.5, 270)
femmesh.addNode(1.25, 6.25, 2.5, 271)
femmesh.addNode(3.125, 6.875, 3.125, 272)
femmesh.addNode(3.75, 2.5, 1.25, 273)
femmesh.addNode(6.25, 1.25, 7.5, 274)
femmesh.addNode(8.75, 2.5, 6.25, 275)
femmesh.addNode(1.25, 2.5, 6.25, 276)
femmesh.addNode(6.25, 7.5, 8.75, 277)
femmesh.addNode(3.75, 8.75, 2.5, 278)
femmesh.addNode(2.5, 3.75, 8.75, 279)
femmesh.addNode(1.25, 7.5, 3.75, 280)
return True
def create_elements_cube(femmesh):
# elements
femmesh.addVolume([98L, 95L, 47L, 196L, 103L, 198L, 197L, 199L, 200L, 201L], 1)
femmesh.addVolume([121L, 147L, 145L, 196L, 203L, 161L, 202L, 204L, 205L, 206L], 2)
femmesh.addVolume([70L, 73L, 27L, 121L, 84L, 83L, 80L, 207L, 208L, 136L], 3)
femmesh.addVolume([170L, 72L, 30L, 171L, 209L, 75L, 187L, 181L, 210L, 194L], 4)
femmesh.addVolume([98L, 9L, 47L, 95L, 101L, 54L, 197L, 103L, 102L, 198L], 5)
femmesh.addVolume([70L, 172L, 30L, 71L, 211L, 186L, 78L, 93L, 212L, 91L], 6)
femmesh.addVolume([99L, 170L, 36L, 174L, 213L, 184L, 119L, 214L, 191L, 190L], 7)
femmesh.addVolume([47L, 12L, 149L, 145L, 57L, 150L, 215L, 216L, 152L, 155L], 8)
femmesh.addVolume([27L, 70L, 123L, 72L, 80L, 217L, 143L, 77L, 79L, 218L], 9)
femmesh.addVolume([147L, 39L, 121L, 145L, 160L, 132L, 203L, 161L, 159L, 202L], 10)
femmesh.addVolume([120L, 70L, 121L, 196L, 219L, 207L, 134L, 220L, 221L, 204L], 11)
femmesh.addVolume([172L, 70L, 170L, 196L, 211L, 222L, 183L, 223L, 221L, 224L], 12)
femmesh.addVolume([99L, 95L, 170L, 195L, 104L, 225L, 213L, 226L, 227L, 228L], 13)
femmesh.addVolume([45L, 145L, 47L, 196L, 229L, 216L, 56L, 230L, 206L, 201L], 14)
femmesh.addVolume([123L, 70L, 120L, 195L, 217L, 219L, 126L, 231L, 232L, 233L], 15)
femmesh.addVolume([45L, 47L, 95L, 196L, 56L, 198L, 234L, 230L, 201L, 200L], 16)
femmesh.addVolume([120L, 121L, 145L, 196L, 134L, 202L, 235L, 220L, 204L, 206L], 17)
femmesh.addVolume([39L, 145L, 120L, 121L, 159L, 235L, 133L, 132L, 202L, 134L], 18)
femmesh.addVolume([120L, 70L, 27L, 121L, 219L, 80L, 137L, 134L, 207L, 136L], 19)
femmesh.addVolume([47L, 9L, 45L, 95L, 54L, 52L, 56L, 198L, 102L, 234L], 20)
femmesh.addVolume([27L, 70L, 120L, 123L, 80L, 219L, 137L, 143L, 217L, 126L], 21)
femmesh.addVolume([47L, 45L, 12L, 145L, 56L, 58L, 57L, 216L, 229L, 152L], 22)
femmesh.addVolume([95L, 170L, 36L, 99L, 225L, 184L, 109L, 104L, 213L, 119L], 23)
femmesh.addVolume([45L, 195L, 145L, 196L, 237L, 236L, 229L, 230L, 238L, 206L], 24)
femmesh.addVolume([45L, 95L, 195L, 196L, 234L, 227L, 237L, 230L, 200L, 238L], 25)
femmesh.addVolume([95L, 170L, 195L, 196L, 225L, 228L, 227L, 200L, 224L, 238L], 26)
femmesh.addVolume([170L, 70L, 195L, 196L, 222L, 232L, 228L, 224L, 221L, 238L], 27)
femmesh.addVolume([120L, 195L, 70L, 196L, 233L, 232L, 219L, 220L, 238L, 221L], 28)
femmesh.addVolume([120L, 145L, 195L, 196L, 235L, 236L, 233L, 220L, 206L, 238L], 29)
femmesh.addVolume([24L, 74L, 148L, 196L, 86L, 239L, 165L, 240L, 241L, 242L], 30)
femmesh.addVolume([74L, 21L, 97L, 196L, 88L, 114L, 243L, 241L, 244L, 245L], 31)
femmesh.addVolume([33L, 148L, 97L, 196L, 167L, 246L, 116L, 247L, 242L, 245L], 32)
femmesh.addVolume([124L, 173L, 42L, 195L, 248L, 175L, 129L, 249L, 250L, 251L], 33)
femmesh.addVolume([15L, 48L, 124L, 195L, 64L, 252L, 144L, 253L, 254L, 249L], 34)
femmesh.addVolume([48L, 18L, 173L, 195L, 68L, 188L, 255L, 254L, 256L, 250L], 35)
femmesh.addVolume([70L, 74L, 24L, 196L, 89L, 86L, 85L, 221L, 241L, 240L], 36)
femmesh.addVolume([18L, 170L, 173L, 195L, 189L, 177L, 188L, 256L, 228L, 250L], 37)
femmesh.addVolume([74L, 70L, 21L, 196L, 89L, 90L, 88L, 241L, 221L, 244L], 38)
femmesh.addVolume([123L, 120L, 42L, 195L, 126L, 127L, 125L, 231L, 233L, 251L], 39)
femmesh.addVolume([173L, 170L, 42L, 195L, 177L, 178L, 175L, 250L, 228L, 251L], 40)
femmesh.addVolume([124L, 42L, 120L, 195L, 129L, 127L, 130L, 249L, 251L, 233L], 41)
femmesh.addVolume([122L, 15L, 120L, 195L, 138L, 139L, 140L, 257L, 253L, 233L], 42)
femmesh.addVolume([15L, 124L, 120L, 195L, 144L, 130L, 139L, 253L, 249L, 233L], 43)
femmesh.addVolume([48L, 15L, 45L, 195L, 64L, 67L, 66L, 254L, 253L, 237L], 44)
femmesh.addVolume([147L, 24L, 145L, 196L, 163L, 164L, 161L, 205L, 240L, 206L], 45)
femmesh.addVolume([97L, 95L, 33L, 196L, 113L, 115L, 116L, 245L, 200L, 247L], 46)
femmesh.addVolume([98L, 33L, 95L, 196L, 118L, 115L, 103L, 199L, 247L, 200L], 47)
femmesh.addVolume([96L, 95L, 21L, 196L, 107L, 110L, 111L, 258L, 200L, 244L], 48)
femmesh.addVolume([95L, 97L, 21L, 196L, 113L, 114L, 110L, 200L, 245L, 244L], 49)
femmesh.addVolume([33L, 145L, 148L, 196L, 168L, 166L, 167L, 247L, 206L, 242L], 50)
femmesh.addVolume([145L, 24L, 148L, 196L, 164L, 165L, 166L, 206L, 240L, 242L], 51)
femmesh.addVolume([45L, 18L, 48L, 195L, 63L, 68L, 66L, 237L, 256L, 254L], 52)
femmesh.addVolume([18L, 45L, 46L, 195L, 63L, 53L, 62L, 256L, 237L, 259L], 53)
femmesh.addVolume([124L, 48L, 173L, 195L, 252L, 255L, 248L, 249L, 254L, 250L], 54)
femmesh.addVolume([97L, 148L, 74L, 196L, 246L, 239L, 243L, 245L, 242L, 241L], 55)
femmesh.addVolume([24L, 74L, 5L, 148L, 86L, 87L, 25L, 165L, 239L, 169L], 56)
femmesh.addVolume([49L, 3L, 122L, 15L, 60L, 141L, 260L, 69L, 16L, 138L], 57)
femmesh.addVolume([12L, 146L, 49L, 3L, 153L, 261L, 59L, 14L, 156L, 60L], 58)
femmesh.addVolume([124L, 15L, 4L, 48L, 144L, 17L, 131L, 252L, 64L, 65L], 59)
femmesh.addVolume([1L, 149L, 47L, 12L, 151L, 215L, 55L, 13L, 150L, 57L], 60)
femmesh.addVolume([7L, 147L, 73L, 24L, 162L, 262L, 82L, 26L, 163L, 81L], 61)
femmesh.addVolume([172L, 36L, 6L, 96L, 182L, 38L, 185L, 263L, 108L, 112L], 62)
femmesh.addVolume([47L, 98L, 1L, 9L, 197L, 100L, 55L, 54L, 101L, 10L], 63)
femmesh.addVolume([174L, 2L, 46L, 18L, 192L, 50L, 264L, 193L, 19L, 62L], 64)
femmesh.addVolume([149L, 1L, 98L, 33L, 151L, 100L, 265L, 157L, 34L, 118L], 65)
femmesh.addVolume([173L, 48L, 4L, 18L, 255L, 65L, 176L, 188L, 68L, 20L], 66)
femmesh.addVolume([72L, 30L, 171L, 8L, 75L, 194L, 210L, 76L, 32L, 180L], 67)
femmesh.addVolume([21L, 97L, 5L, 74L, 114L, 117L, 22L, 88L, 243L, 87L], 68)
femmesh.addVolume([46L, 9L, 2L, 99L, 51L, 11L, 50L, 266L, 105L, 106L], 69)
femmesh.addVolume([123L, 8L, 171L, 42L, 128L, 180L, 267L, 125L, 44L, 179L], 70)
femmesh.addVolume([5L, 97L, 33L, 148L, 117L, 116L, 35L, 169L, 246L, 167L], 71)
femmesh.addVolume([174L, 99L, 2L, 36L, 214L, 106L, 192L, 190L, 119L, 37L], 72)
femmesh.addVolume([124L, 173L, 4L, 42L, 248L, 176L, 131L, 129L, 175L, 43L], 73)
femmesh.addVolume([122L, 3L, 146L, 39L, 141L, 156L, 268L, 142L, 40L, 158L], 74)
femmesh.addVolume([72L, 8L, 123L, 27L, 76L, 128L, 218L, 77L, 29L, 143L], 75)
femmesh.addVolume([172L, 71L, 6L, 30L, 212L, 92L, 185L, 186L, 91L, 31L], 76)
femmesh.addVolume([121L, 147L, 7L, 39L, 203L, 162L, 135L, 132L, 160L, 41L], 77)
femmesh.addVolume([121L, 73L, 27L, 7L, 208L, 83L, 136L, 135L, 82L, 28L], 78)
femmesh.addVolume([6L, 71L, 96L, 21L, 92L, 269L, 112L, 23L, 94L, 111L], 79)
femmesh.addVolume([49L, 146L, 122L, 3L, 261L, 268L, 260L, 60L, 156L, 141L], 80)
femmesh.addVolume([46L, 2L, 174L, 99L, 50L, 192L, 264L, 266L, 106L, 214L], 81)
femmesh.addVolume([171L, 123L, 72L, 8L, 267L, 218L, 210L, 180L, 128L, 76L], 82)
femmesh.addVolume([73L, 7L, 121L, 147L, 82L, 135L, 208L, 262L, 162L, 203L], 83)
femmesh.addVolume([4L, 173L, 124L, 48L, 176L, 248L, 131L, 65L, 255L, 252L], 84)
femmesh.addVolume([172L, 96L, 6L, 71L, 263L, 112L, 185L, 212L, 269L, 92L], 85)
femmesh.addVolume([5L, 74L, 97L, 148L, 87L, 243L, 117L, 169L, 239L, 246L], 86)
femmesh.addVolume([98L, 1L, 149L, 47L, 100L, 151L, 265L, 197L, 55L, 215L], 87)
femmesh.addVolume([121L, 147L, 70L, 73L, 203L, 270L, 207L, 208L, 262L, 84L], 88)
femmesh.addVolume([147L, 121L, 70L, 196L, 203L, 207L, 270L, 205L, 204L, 221L], 89)
femmesh.addVolume([70L, 147L, 24L, 73L, 270L, 163L, 85L, 84L, 262L, 81L], 90)
femmesh.addVolume([147L, 70L, 24L, 196L, 270L, 85L, 163L, 205L, 221L, 240L], 91)
femmesh.addVolume([195L, 146L, 45L, 145L, 272L, 271L, 237L, 236L, 154L, 229L], 92)
femmesh.addVolume([45L, 12L, 146L, 49L, 58L, 153L, 271L, 61L, 59L, 261L], 93)
femmesh.addVolume([45L, 146L, 12L, 145L, 271L, 153L, 58L, 229L, 154L, 152L], 94)
femmesh.addVolume([47L, 98L, 145L, 149L, 197L, 273L, 216L, 215L, 265L, 155L], 95)
femmesh.addVolume([47L, 145L, 98L, 196L, 216L, 273L, 197L, 201L, 206L, 199L], 96)
femmesh.addVolume([98L, 33L, 145L, 149L, 118L, 168L, 273L, 265L, 157L, 155L], 97)
femmesh.addVolume([98L, 145L, 33L, 196L, 273L, 168L, 118L, 199L, 206L, 247L], 98)
femmesh.addVolume([196L, 95L, 172L, 96L, 200L, 274L, 223L, 258L, 107L, 263L], 99)
femmesh.addVolume([196L, 172L, 95L, 170L, 223L, 274L, 200L, 224L, 183L, 225L], 100)
femmesh.addVolume([95L, 36L, 172L, 96L, 109L, 182L, 274L, 107L, 108L, 263L], 101)
femmesh.addVolume([95L, 172L, 36L, 170L, 274L, 182L, 109L, 225L, 183L, 184L], 102)
femmesh.addVolume([70L, 96L, 172L, 71L, 275L, 263L, 211L, 93L, 269L, 212L], 103)
femmesh.addVolume([70L, 172L, 96L, 196L, 211L, 263L, 275L, 221L, 223L, 258L], 104)
femmesh.addVolume([21L, 96L, 70L, 71L, 111L, 275L, 90L, 94L, 269L, 93L], 105)
femmesh.addVolume([21L, 70L, 96L, 196L, 90L, 275L, 111L, 244L, 221L, 258L], 106)
femmesh.addVolume([195L, 45L, 99L, 95L, 237L, 276L, 226L, 227L, 234L, 104L], 107)
femmesh.addVolume([195L, 99L, 45L, 46L, 226L, 276L, 237L, 259L, 266L, 53L], 108)
femmesh.addVolume([45L, 9L, 99L, 95L, 52L, 105L, 276L, 234L, 102L, 104L], 109)
femmesh.addVolume([45L, 99L, 9L, 46L, 276L, 105L, 52L, 53L, 266L, 51L], 110)
femmesh.addVolume([170L, 123L, 72L, 171L, 277L, 218L, 209L, 181L, 267L, 210L], 111)
femmesh.addVolume([170L, 42L, 123L, 171L, 178L, 125L, 277L, 181L, 179L, 267L], 112)
femmesh.addVolume([42L, 170L, 123L, 195L, 178L, 277L, 125L, 251L, 228L, 231L], 113)
femmesh.addVolume([70L, 170L, 123L, 72L, 222L, 277L, 217L, 79L, 209L, 218L], 114)
femmesh.addVolume([70L, 123L, 170L, 195L, 217L, 277L, 222L, 232L, 231L, 228L], 115)
femmesh.addVolume([146L, 120L, 195L, 122L, 278L, 233L, 272L, 268L, 140L, 257L], 116)
femmesh.addVolume([120L, 146L, 195L, 145L, 278L, 272L, 233L, 235L, 154L, 236L], 117)
femmesh.addVolume([146L, 39L, 120L, 122L, 158L, 133L, 278L, 268L, 142L, 140L], 118)
femmesh.addVolume([39L, 146L, 120L, 145L, 158L, 278L, 133L, 159L, 154L, 235L], 119)
femmesh.addVolume([99L, 46L, 170L, 174L, 266L, 279L, 213L, 214L, 264L, 191L], 120)
femmesh.addVolume([99L, 170L, 46L, 195L, 213L, 279L, 266L, 226L, 228L, 259L], 121)
femmesh.addVolume([46L, 18L, 170L, 174L, 62L, 189L, 279L, 264L, 193L, 191L], 122)
femmesh.addVolume([46L, 170L, 18L, 195L, 279L, 189L, 62L, 259L, 228L, 256L], 123)
femmesh.addVolume([30L, 70L, 170L, 172L, 78L, 222L, 187L, 186L, 211L, 183L], 124)
femmesh.addVolume([30L, 170L, 70L, 72L, 187L, 222L, 78L, 75L, 209L, 79L], 125)
femmesh.addVolume([45L, 122L, 146L, 195L, 280L, 268L, 271L, 237L, 257L, 272L], 126)
femmesh.addVolume([45L, 146L, 122L, 49L, 271L, 268L, 280L, 61L, 261L, 260L], 127)
femmesh.addVolume([15L, 122L, 45L, 195L, 138L, 280L, 67L, 253L, 257L, 237L], 128)
femmesh.addVolume([15L, 45L, 122L, 49L, 67L, 280L, 138L, 69L, 61L, 260L], 129)
return True

View File

@@ -1,280 +0,0 @@
1, 0, 0, 0
2, 0, 0, 10
3, 0, 10, 0
4, 0, 10, 10
5, 10, 0, 0
6, 10, 0, 10
7, 10, 10, 0
8, 10, 10, 10
9, 0, 0, 5
10, 0, 0, 2.5
11, 0, 0, 7.5
12, 0, 5, 0
13, 0, 2.5, 0
14, 0, 7.5, 0
15, 0, 10, 5
16, 0, 10, 2.5
17, 0, 10, 7.5
18, 0, 5, 10
19, 0, 2.5, 10
20, 0, 7.5, 10
21, 10, 0, 5
22, 10, 0, 2.5
23, 10, 0, 7.5
24, 10, 5, 0
25, 10, 2.5, 0
26, 10, 7.5, 0
27, 10, 10, 5
28, 10, 10, 2.5
29, 10, 10, 7.5
30, 10, 5, 10
31, 10, 2.5, 10
32, 10, 7.5, 10
33, 5, 0, 0
34, 2.5, 0, 0
35, 7.5, 0, 0
36, 5, 0, 10
37, 2.5, 0, 10
38, 7.5, 0, 10
39, 5, 10, 0
40, 2.5, 10, 0
41, 7.5, 10, 0
42, 5, 10, 10
43, 2.5, 10, 10
44, 7.5, 10, 10
45, 0, 5, 5
46, 0, 2.5, 7.5
47, 0, 2.5, 2.5
48, 0, 7.5, 7.5
49, 0, 7.5, 2.5
50, 0, 1.25, 8.75
51, 0, 1.25, 6.25
52, 0, 2.5, 5
53, 0, 3.75, 6.25
54, 0, 1.25, 3.75
55, 0, 1.25, 1.25
56, 0, 3.75, 3.75
57, 0, 3.75, 1.25
58, 0, 5, 2.5
59, 0, 6.25, 1.25
60, 0, 8.75, 1.25
61, 0, 6.25, 3.75
62, 0, 3.75, 8.75
63, 0, 5, 7.5
64, 0, 8.75, 6.25
65, 0, 8.75, 8.75
66, 0, 6.25, 6.25
67, 0, 7.5, 5
68, 0, 6.25, 8.75
69, 0, 8.75, 3.75
70, 10, 5, 5
71, 10, 2.5, 7.5
72, 10, 7.5, 7.5
73, 10, 7.5, 2.5
74, 10, 2.5, 2.5
75, 10, 6.25, 8.75
76, 10, 8.75, 8.75
77, 10, 8.75, 6.25
78, 10, 5, 7.5
79, 10, 6.25, 6.25
80, 10, 7.5, 5
81, 10, 6.25, 1.25
82, 10, 8.75, 1.25
83, 10, 8.75, 3.75
84, 10, 6.25, 3.75
85, 10, 5, 2.5
86, 10, 3.75, 1.25
87, 10, 1.25, 1.25
88, 10, 1.25, 3.75
89, 10, 3.75, 3.75
90, 10, 2.5, 5
91, 10, 3.75, 8.75
92, 10, 1.25, 8.75
93, 10, 3.75, 6.25
94, 10, 1.25, 6.25
95, 5, 0, 5
96, 7.5, 0, 7.5
97, 7.5, 0, 2.5
98, 2.5, 0, 2.5
99, 2.5, 0, 7.5
100, 1.25, 0, 1.25
101, 1.25, 0, 3.75
102, 2.5, 0, 5
103, 3.75, 0, 3.75
104, 3.75, 0, 6.25
105, 1.25, 0, 6.25
106, 1.25, 0, 8.75
107, 6.25, 0, 6.25
108, 6.25, 0, 8.75
109, 5, 0, 7.5
110, 7.5, 0, 5
111, 8.75, 0, 6.25
112, 8.75, 0, 8.75
113, 6.25, 0, 3.75
114, 8.75, 0, 3.75
115, 5, 0, 2.5
116, 6.25, 0, 1.25
117, 8.75, 0, 1.25
118, 3.75, 0, 1.25
119, 3.75, 0, 8.75
120, 5, 10, 5
121, 7.5, 10, 2.5
122, 2.5, 10, 2.5
123, 7.5, 10, 7.5
124, 2.5, 10, 7.5
125, 6.25, 10, 8.75
126, 6.25, 10, 6.25
127, 5, 10, 7.5
128, 8.75, 10, 8.75
129, 3.75, 10, 8.75
130, 3.75, 10, 6.25
131, 1.25, 10, 8.75
132, 6.25, 10, 1.25
133, 5, 10, 2.5
134, 6.25, 10, 3.75
135, 8.75, 10, 1.25
136, 8.75, 10, 3.75
137, 7.5, 10, 5
138, 1.25, 10, 3.75
139, 2.5, 10, 5
140, 3.75, 10, 3.75
141, 1.25, 10, 1.25
142, 3.75, 10, 1.25
143, 8.75, 10, 6.25
144, 1.25, 10, 6.25
145, 5, 5, 0
146, 2.5, 7.5, 0
147, 7.5, 7.5, 0
148, 7.5, 2.5, 0
149, 2.5, 2.5, 0
150, 1.25, 3.75, 0
151, 1.25, 1.25, 0
152, 2.5, 5, 0
153, 1.25, 6.25, 0
154, 3.75, 6.25, 0
155, 3.75, 3.75, 0
156, 1.25, 8.75, 0
157, 3.75, 1.25, 0
158, 3.75, 8.75, 0
159, 5, 7.5, 0
160, 6.25, 8.75, 0
161, 6.25, 6.25, 0
162, 8.75, 8.75, 0
163, 8.75, 6.25, 0
164, 7.5, 5, 0
165, 8.75, 3.75, 0
166, 6.25, 3.75, 0
167, 6.25, 1.25, 0
168, 5, 2.5, 0
169, 8.75, 1.25, 0
170, 5, 5, 10
171, 7.5, 7.5, 10
172, 7.5, 2.5, 10
173, 2.5, 7.5, 10
174, 2.5, 2.5, 10
175, 3.75, 8.75, 10
176, 1.25, 8.75, 10
177, 3.75, 6.25, 10
178, 5, 7.5, 10
179, 6.25, 8.75, 10
180, 8.75, 8.75, 10
181, 6.25, 6.25, 10
182, 6.25, 1.25, 10
183, 6.25, 3.75, 10
184, 5, 2.5, 10
185, 8.75, 1.25, 10
186, 8.75, 3.75, 10
187, 7.5, 5, 10
188, 1.25, 6.25, 10
189, 2.5, 5, 10
190, 3.75, 1.25, 10
191, 3.75, 3.75, 10
192, 1.25, 1.25, 10
193, 1.25, 3.75, 10
194, 8.75, 6.25, 10
195, 3.75, 6.25, 6.25
196, 6.25, 3.75, 3.75
197, 1.25, 1.25, 2.5
198, 2.5, 1.25, 3.75
199, 4.375, 1.875, 3.125
200, 5.625, 1.875, 4.375
201, 3.125, 3.125, 3.125
202, 6.25, 7.5, 1.25
203, 7.5, 8.75, 1.25
204, 6.875, 6.875, 3.125
205, 6.875, 5.625, 1.875
206, 5.625, 4.375, 1.875
207, 8.75, 7.5, 3.75
208, 8.75, 8.75, 2.5
209, 7.5, 6.25, 8.75
210, 8.75, 7.5, 8.75
211, 8.75, 3.75, 7.5
212, 8.75, 2.5, 8.75
213, 3.75, 2.5, 8.75
214, 2.5, 1.25, 8.75
215, 1.25, 2.5, 1.25
216, 2.5, 3.75, 1.25
217, 8.75, 7.5, 6.25
218, 8.75, 8.75, 7.5
219, 7.5, 7.5, 5
220, 5.625, 6.875, 4.375
221, 8.125, 4.375, 4.375
222, 7.5, 5, 7.5
223, 6.875, 3.125, 6.875
224, 5.625, 4.375, 6.875
225, 5, 2.5, 7.5
226, 3.125, 3.125, 6.875
227, 4.375, 3.125, 5.625
228, 4.375, 5.625, 8.125
229, 2.5, 5, 2.5
230, 3.125, 4.375, 4.375
231, 5.625, 8.125, 6.875
232, 6.875, 5.625, 5.625
233, 4.375, 8.125, 5.625
234, 2.5, 2.5, 5
235, 5, 7.5, 2.5
236, 4.375, 5.625, 3.125
237, 1.875, 5.625, 5.625
238, 5, 5, 5
239, 8.75, 2.5, 1.25
240, 8.125, 4.375, 1.875
241, 8.125, 3.125, 3.125
242, 6.875, 3.125, 1.875
243, 8.75, 1.25, 2.5
244, 8.125, 1.875, 4.375
245, 6.875, 1.875, 3.125
246, 7.5, 1.25, 1.25
247, 5.625, 1.875, 1.875
248, 2.5, 8.75, 8.75
249, 3.125, 8.125, 6.875
250, 3.125, 6.875, 8.125
251, 4.375, 8.125, 8.125
252, 1.25, 8.75, 7.5
253, 1.875, 8.125, 5.625
254, 1.875, 6.875, 6.875
255, 1.25, 7.5, 8.75
256, 1.875, 5.625, 8.125
257, 3.125, 8.125, 4.375
258, 6.875, 1.875, 5.625
259, 1.875, 4.375, 6.875
260, 1.25, 8.75, 2.5
261, 1.25, 7.5, 1.25
262, 8.75, 7.5, 1.25
263, 7.5, 1.25, 8.75
264, 1.25, 2.5, 8.75
265, 2.5, 1.25, 1.25
266, 1.25, 1.25, 7.5
267, 7.5, 8.75, 8.75
268, 2.5, 8.75, 1.25
269, 8.75, 1.25, 7.5
270, 8.75, 6.25, 2.5
271, 1.25, 6.25, 2.5
272, 3.125, 6.875, 3.125
273, 3.75, 2.5, 1.25
274, 6.25, 1.25, 7.5
275, 8.75, 2.5, 6.25
276, 1.25, 2.5, 6.25
277, 6.25, 7.5, 8.75
278, 3.75, 8.75, 2.5
279, 2.5, 3.75, 8.75
280, 1.25, 7.5, 3.75
1 1 0 0 0
2 2 0 0 10
3 3 0 10 0
4 4 0 10 10
5 5 10 0 0
6 6 10 0 10
7 7 10 10 0
8 8 10 10 10
9 9 0 0 5
10 10 0 0 2.5
11 11 0 0 7.5
12 12 0 5 0
13 13 0 2.5 0
14 14 0 7.5 0
15 15 0 10 5
16 16 0 10 2.5
17 17 0 10 7.5
18 18 0 5 10
19 19 0 2.5 10
20 20 0 7.5 10
21 21 10 0 5
22 22 10 0 2.5
23 23 10 0 7.5
24 24 10 5 0
25 25 10 2.5 0
26 26 10 7.5 0
27 27 10 10 5
28 28 10 10 2.5
29 29 10 10 7.5
30 30 10 5 10
31 31 10 2.5 10
32 32 10 7.5 10
33 33 5 0 0
34 34 2.5 0 0
35 35 7.5 0 0
36 36 5 0 10
37 37 2.5 0 10
38 38 7.5 0 10
39 39 5 10 0
40 40 2.5 10 0
41 41 7.5 10 0
42 42 5 10 10
43 43 2.5 10 10
44 44 7.5 10 10
45 45 0 5 5
46 46 0 2.5 7.5
47 47 0 2.5 2.5
48 48 0 7.5 7.5
49 49 0 7.5 2.5
50 50 0 1.25 8.75
51 51 0 1.25 6.25
52 52 0 2.5 5
53 53 0 3.75 6.25
54 54 0 1.25 3.75
55 55 0 1.25 1.25
56 56 0 3.75 3.75
57 57 0 3.75 1.25
58 58 0 5 2.5
59 59 0 6.25 1.25
60 60 0 8.75 1.25
61 61 0 6.25 3.75
62 62 0 3.75 8.75
63 63 0 5 7.5
64 64 0 8.75 6.25
65 65 0 8.75 8.75
66 66 0 6.25 6.25
67 67 0 7.5 5
68 68 0 6.25 8.75
69 69 0 8.75 3.75
70 70 10 5 5
71 71 10 2.5 7.5
72 72 10 7.5 7.5
73 73 10 7.5 2.5
74 74 10 2.5 2.5
75 75 10 6.25 8.75
76 76 10 8.75 8.75
77 77 10 8.75 6.25
78 78 10 5 7.5
79 79 10 6.25 6.25
80 80 10 7.5 5
81 81 10 6.25 1.25
82 82 10 8.75 1.25
83 83 10 8.75 3.75
84 84 10 6.25 3.75
85 85 10 5 2.5
86 86 10 3.75 1.25
87 87 10 1.25 1.25
88 88 10 1.25 3.75
89 89 10 3.75 3.75
90 90 10 2.5 5
91 91 10 3.75 8.75
92 92 10 1.25 8.75
93 93 10 3.75 6.25
94 94 10 1.25 6.25
95 95 5 0 5
96 96 7.5 0 7.5
97 97 7.5 0 2.5
98 98 2.5 0 2.5
99 99 2.5 0 7.5
100 100 1.25 0 1.25
101 101 1.25 0 3.75
102 102 2.5 0 5
103 103 3.75 0 3.75
104 104 3.75 0 6.25
105 105 1.25 0 6.25
106 106 1.25 0 8.75
107 107 6.25 0 6.25
108 108 6.25 0 8.75
109 109 5 0 7.5
110 110 7.5 0 5
111 111 8.75 0 6.25
112 112 8.75 0 8.75
113 113 6.25 0 3.75
114 114 8.75 0 3.75
115 115 5 0 2.5
116 116 6.25 0 1.25
117 117 8.75 0 1.25
118 118 3.75 0 1.25
119 119 3.75 0 8.75
120 120 5 10 5
121 121 7.5 10 2.5
122 122 2.5 10 2.5
123 123 7.5 10 7.5
124 124 2.5 10 7.5
125 125 6.25 10 8.75
126 126 6.25 10 6.25
127 127 5 10 7.5
128 128 8.75 10 8.75
129 129 3.75 10 8.75
130 130 3.75 10 6.25
131 131 1.25 10 8.75
132 132 6.25 10 1.25
133 133 5 10 2.5
134 134 6.25 10 3.75
135 135 8.75 10 1.25
136 136 8.75 10 3.75
137 137 7.5 10 5
138 138 1.25 10 3.75
139 139 2.5 10 5
140 140 3.75 10 3.75
141 141 1.25 10 1.25
142 142 3.75 10 1.25
143 143 8.75 10 6.25
144 144 1.25 10 6.25
145 145 5 5 0
146 146 2.5 7.5 0
147 147 7.5 7.5 0
148 148 7.5 2.5 0
149 149 2.5 2.5 0
150 150 1.25 3.75 0
151 151 1.25 1.25 0
152 152 2.5 5 0
153 153 1.25 6.25 0
154 154 3.75 6.25 0
155 155 3.75 3.75 0
156 156 1.25 8.75 0
157 157 3.75 1.25 0
158 158 3.75 8.75 0
159 159 5 7.5 0
160 160 6.25 8.75 0
161 161 6.25 6.25 0
162 162 8.75 8.75 0
163 163 8.75 6.25 0
164 164 7.5 5 0
165 165 8.75 3.75 0
166 166 6.25 3.75 0
167 167 6.25 1.25 0
168 168 5 2.5 0
169 169 8.75 1.25 0
170 170 5 5 10
171 171 7.5 7.5 10
172 172 7.5 2.5 10
173 173 2.5 7.5 10
174 174 2.5 2.5 10
175 175 3.75 8.75 10
176 176 1.25 8.75 10
177 177 3.75 6.25 10
178 178 5 7.5 10
179 179 6.25 8.75 10
180 180 8.75 8.75 10
181 181 6.25 6.25 10
182 182 6.25 1.25 10
183 183 6.25 3.75 10
184 184 5 2.5 10
185 185 8.75 1.25 10
186 186 8.75 3.75 10
187 187 7.5 5 10
188 188 1.25 6.25 10
189 189 2.5 5 10
190 190 3.75 1.25 10
191 191 3.75 3.75 10
192 192 1.25 1.25 10
193 193 1.25 3.75 10
194 194 8.75 6.25 10
195 195 3.75 6.25 6.25
196 196 6.25 3.75 3.75
197 197 1.25 1.25 2.5
198 198 2.5 1.25 3.75
199 199 4.375 1.875 3.125
200 200 5.625 1.875 4.375
201 201 3.125 3.125 3.125
202 202 6.25 7.5 1.25
203 203 7.5 8.75 1.25
204 204 6.875 6.875 3.125
205 205 6.875 5.625 1.875
206 206 5.625 4.375 1.875
207 207 8.75 7.5 3.75
208 208 8.75 8.75 2.5
209 209 7.5 6.25 8.75
210 210 8.75 7.5 8.75
211 211 8.75 3.75 7.5
212 212 8.75 2.5 8.75
213 213 3.75 2.5 8.75
214 214 2.5 1.25 8.75
215 215 1.25 2.5 1.25
216 216 2.5 3.75 1.25
217 217 8.75 7.5 6.25
218 218 8.75 8.75 7.5
219 219 7.5 7.5 5
220 220 5.625 6.875 4.375
221 221 8.125 4.375 4.375
222 222 7.5 5 7.5
223 223 6.875 3.125 6.875
224 224 5.625 4.375 6.875
225 225 5 2.5 7.5
226 226 3.125 3.125 6.875
227 227 4.375 3.125 5.625
228 228 4.375 5.625 8.125
229 229 2.5 5 2.5
230 230 3.125 4.375 4.375
231 231 5.625 8.125 6.875
232 232 6.875 5.625 5.625
233 233 4.375 8.125 5.625
234 234 2.5 2.5 5
235 235 5 7.5 2.5
236 236 4.375 5.625 3.125
237 237 1.875 5.625 5.625
238 238 5 5 5
239 239 8.75 2.5 1.25
240 240 8.125 4.375 1.875
241 241 8.125 3.125 3.125
242 242 6.875 3.125 1.875
243 243 8.75 1.25 2.5
244 244 8.125 1.875 4.375
245 245 6.875 1.875 3.125
246 246 7.5 1.25 1.25
247 247 5.625 1.875 1.875
248 248 2.5 8.75 8.75
249 249 3.125 8.125 6.875
250 250 3.125 6.875 8.125
251 251 4.375 8.125 8.125
252 252 1.25 8.75 7.5
253 253 1.875 8.125 5.625
254 254 1.875 6.875 6.875
255 255 1.25 7.5 8.75
256 256 1.875 5.625 8.125
257 257 3.125 8.125 4.375
258 258 6.875 1.875 5.625
259 259 1.875 4.375 6.875
260 260 1.25 8.75 2.5
261 261 1.25 7.5 1.25
262 262 8.75 7.5 1.25
263 263 7.5 1.25 8.75
264 264 1.25 2.5 8.75
265 265 2.5 1.25 1.25
266 266 1.25 1.25 7.5
267 267 7.5 8.75 8.75
268 268 2.5 8.75 1.25
269 269 8.75 1.25 7.5
270 270 8.75 6.25 2.5
271 271 1.25 6.25 2.5
272 272 3.125 6.875 3.125
273 273 3.75 2.5 1.25
274 274 6.25 1.25 7.5
275 275 8.75 2.5 6.25
276 276 1.25 2.5 6.25
277 277 6.25 7.5 8.75
278 278 3.75 8.75 2.5
279 279 2.5 3.75 8.75
280 280 1.25 7.5 3.75

View File

@@ -1,129 +0,0 @@
1, 95, 98, 47, 196, 103, 197, 198, 200, 199, 201,
2, 147, 121, 145, 196, 203, 202, 161, 205, 204, 206,
3, 73, 70, 27, 121, 84, 80, 83, 208, 207, 136,
4, 72, 170, 30, 171, 209, 187, 75, 210, 181, 194,
5, 9, 98, 47, 95, 101, 197, 54, 102, 103, 198,
6, 172, 70, 30, 71, 211, 78, 186, 212, 93, 91,
7, 170, 99, 36, 174, 213, 119, 184, 191, 214, 190,
8, 12, 47, 149, 145, 57, 215, 150, 152, 216, 155,
9, 70, 27, 123, 72, 80, 143, 217, 79, 77, 218,
10, 39, 147, 121, 145, 160, 203, 132, 159, 161, 202,
11, 70, 120, 121, 196, 219, 134, 207, 221, 220, 204,
12, 70, 172, 170, 196, 211, 183, 222, 221, 223, 224,
13, 95, 99, 170, 195, 104, 213, 225, 227, 226, 228,
14, 145, 45, 47, 196, 229, 56, 216, 206, 230, 201,
15, 70, 123, 120, 195, 217, 126, 219, 232, 231, 233,
16, 47, 45, 95, 196, 56, 234, 198, 201, 230, 200,
17, 121, 120, 145, 196, 134, 235, 202, 204, 220, 206,
18, 145, 39, 120, 121, 159, 133, 235, 202, 132, 134,
19, 70, 120, 27, 121, 219, 137, 80, 207, 134, 136,
20, 9, 47, 45, 95, 54, 56, 52, 102, 198, 234,
21, 70, 27, 120, 123, 80, 137, 219, 217, 143, 126,
22, 45, 47, 12, 145, 56, 57, 58, 229, 216, 152,
23, 170, 95, 36, 99, 225, 109, 184, 213, 104, 119,
24, 195, 45, 145, 196, 237, 229, 236, 238, 230, 206,
25, 95, 45, 195, 196, 234, 237, 227, 200, 230, 238,
26, 170, 95, 195, 196, 225, 227, 228, 224, 200, 238,
27, 70, 170, 195, 196, 222, 228, 232, 221, 224, 238,
28, 195, 120, 70, 196, 233, 219, 232, 238, 220, 221,
29, 145, 120, 195, 196, 235, 233, 236, 206, 220, 238,
30, 74, 24, 148, 196, 86, 165, 239, 241, 240, 242,
31, 21, 74, 97, 196, 88, 243, 114, 244, 241, 245,
32, 148, 33, 97, 196, 167, 116, 246, 242, 247, 245,
33, 173, 124, 42, 195, 248, 129, 175, 250, 249, 251,
34, 48, 15, 124, 195, 64, 144, 252, 254, 253, 249,
35, 18, 48, 173, 195, 68, 255, 188, 256, 254, 250,
36, 74, 70, 24, 196, 89, 85, 86, 241, 221, 240,
37, 170, 18, 173, 195, 189, 188, 177, 228, 256, 250,
38, 70, 74, 21, 196, 89, 88, 90, 221, 241, 244,
39, 120, 123, 42, 195, 126, 125, 127, 233, 231, 251,
40, 170, 173, 42, 195, 177, 175, 178, 228, 250, 251,
41, 42, 124, 120, 195, 129, 130, 127, 251, 249, 233,
42, 15, 122, 120, 195, 138, 140, 139, 253, 257, 233,
43, 124, 15, 120, 195, 144, 139, 130, 249, 253, 233,
44, 15, 48, 45, 195, 64, 66, 67, 253, 254, 237,
45, 24, 147, 145, 196, 163, 161, 164, 240, 205, 206,
46, 95, 97, 33, 196, 113, 116, 115, 200, 245, 247,
47, 33, 98, 95, 196, 118, 103, 115, 247, 199, 200,
48, 95, 96, 21, 196, 107, 111, 110, 200, 258, 244,
49, 97, 95, 21, 196, 113, 110, 114, 245, 200, 244,
50, 145, 33, 148, 196, 168, 167, 166, 206, 247, 242,
51, 24, 145, 148, 196, 164, 166, 165, 240, 206, 242,
52, 18, 45, 48, 195, 63, 66, 68, 256, 237, 254,
53, 45, 18, 46, 195, 63, 62, 53, 237, 256, 259,
54, 48, 124, 173, 195, 252, 248, 255, 254, 249, 250,
55, 148, 97, 74, 196, 246, 243, 239, 242, 245, 241,
56, 74, 24, 5, 148, 86, 25, 87, 239, 165, 169,
57, 3, 49, 122, 15, 60, 260, 141, 16, 69, 138,
58, 146, 12, 49, 3, 153, 59, 261, 156, 14, 60,
59, 15, 124, 4, 48, 144, 131, 17, 64, 252, 65,
60, 149, 1, 47, 12, 151, 55, 215, 150, 13, 57,
61, 147, 7, 73, 24, 162, 82, 262, 163, 26, 81,
62, 36, 172, 6, 96, 182, 185, 38, 108, 263, 112,
63, 98, 47, 1, 9, 197, 55, 100, 101, 54, 10,
64, 2, 174, 46, 18, 192, 264, 50, 19, 193, 62,
65, 1, 149, 98, 33, 151, 265, 100, 34, 157, 118,
66, 48, 173, 4, 18, 255, 176, 65, 68, 188, 20,
67, 30, 72, 171, 8, 75, 210, 194, 32, 76, 180,
68, 97, 21, 5, 74, 114, 22, 117, 243, 88, 87,
69, 9, 46, 2, 99, 51, 50, 11, 105, 266, 106,
70, 8, 123, 171, 42, 128, 267, 180, 44, 125, 179,
71, 97, 5, 33, 148, 117, 35, 116, 246, 169, 167,
72, 99, 174, 2, 36, 214, 192, 106, 119, 190, 37,
73, 173, 124, 4, 42, 248, 131, 176, 175, 129, 43,
74, 3, 122, 146, 39, 141, 268, 156, 40, 142, 158,
75, 8, 72, 123, 27, 76, 218, 128, 29, 77, 143,
76, 71, 172, 6, 30, 212, 185, 92, 91, 186, 31,
77, 147, 121, 7, 39, 203, 135, 162, 160, 132, 41,
78, 73, 121, 27, 7, 208, 136, 83, 82, 135, 28,
79, 71, 6, 96, 21, 92, 112, 269, 94, 23, 111,
80, 146, 49, 122, 3, 261, 260, 268, 156, 60, 141,
81, 2, 46, 174, 99, 50, 264, 192, 106, 266, 214,
82, 123, 171, 72, 8, 267, 210, 218, 128, 180, 76,
83, 7, 73, 121, 147, 82, 208, 135, 162, 262, 203,
84, 173, 4, 124, 48, 176, 131, 248, 255, 65, 252,
85, 96, 172, 6, 71, 263, 185, 112, 269, 212, 92,
86, 74, 5, 97, 148, 87, 117, 243, 239, 169, 246,
87, 1, 98, 149, 47, 100, 265, 151, 55, 197, 215,
88, 147, 121, 70, 73, 203, 207, 270, 262, 208, 84,
89, 121, 147, 70, 196, 203, 270, 207, 204, 205, 221,
90, 147, 70, 24, 73, 270, 85, 163, 262, 84, 81,
91, 70, 147, 24, 196, 270, 163, 85, 221, 205, 240,
92, 146, 195, 45, 145, 272, 237, 271, 154, 236, 229,
93, 12, 45, 146, 49, 58, 271, 153, 59, 61, 261,
94, 146, 45, 12, 145, 271, 58, 153, 154, 229, 152,
95, 98, 47, 145, 149, 197, 216, 273, 265, 215, 155,
96, 145, 47, 98, 196, 216, 197, 273, 206, 201, 199,
97, 33, 98, 145, 149, 118, 273, 168, 157, 265, 155,
98, 145, 98, 33, 196, 273, 118, 168, 206, 199, 247,
99, 95, 196, 172, 96, 200, 223, 274, 107, 258, 263,
100, 172, 196, 95, 170, 223, 200, 274, 183, 224, 225,
101, 36, 95, 172, 96, 109, 274, 182, 108, 107, 263,
102, 172, 95, 36, 170, 274, 109, 182, 183, 225, 184,
103, 96, 70, 172, 71, 275, 211, 263, 269, 93, 212,
104, 172, 70, 96, 196, 211, 275, 263, 223, 221, 258,
105, 96, 21, 70, 71, 111, 90, 275, 269, 94, 93,
106, 70, 21, 96, 196, 90, 111, 275, 221, 244, 258,
107, 45, 195, 99, 95, 237, 226, 276, 234, 227, 104,
108, 99, 195, 45, 46, 226, 237, 276, 266, 259, 53,
109, 9, 45, 99, 95, 52, 276, 105, 102, 234, 104,
110, 99, 45, 9, 46, 276, 52, 105, 266, 53, 51,
111, 123, 170, 72, 171, 277, 209, 218, 267, 181, 210,
112, 42, 170, 123, 171, 178, 277, 125, 179, 181, 267,
113, 170, 42, 123, 195, 178, 125, 277, 228, 251, 231,
114, 170, 70, 123, 72, 222, 217, 277, 209, 79, 218,
115, 123, 70, 170, 195, 217, 222, 277, 231, 232, 228,
116, 120, 146, 195, 122, 278, 272, 233, 140, 268, 257,
117, 146, 120, 195, 145, 278, 233, 272, 154, 235, 236,
118, 39, 146, 120, 122, 158, 278, 133, 142, 268, 140,
119, 146, 39, 120, 145, 158, 133, 278, 154, 159, 235,
120, 46, 99, 170, 174, 266, 213, 279, 264, 214, 191,
121, 170, 99, 46, 195, 213, 266, 279, 228, 226, 259,
122, 18, 46, 170, 174, 62, 279, 189, 193, 264, 191,
123, 170, 46, 18, 195, 279, 62, 189, 228, 259, 256,
124, 70, 30, 170, 172, 78, 187, 222, 211, 186, 183,
125, 170, 30, 70, 72, 187, 78, 222, 209, 75, 79,
126, 122, 45, 146, 195, 280, 271, 268, 257, 237, 272,
127, 146, 45, 122, 49, 271, 280, 268, 261, 61, 260,
128, 122, 15, 45, 195, 138, 67, 280, 257, 253, 237,
129, 45, 15, 122, 49, 67, 138, 280, 61, 69, 260,
1 1 95 98 47 196 103 197 198 200 199 201
2 2 147 121 145 196 203 202 161 205 204 206
3 3 73 70 27 121 84 80 83 208 207 136
4 4 72 170 30 171 209 187 75 210 181 194
5 5 9 98 47 95 101 197 54 102 103 198
6 6 172 70 30 71 211 78 186 212 93 91
7 7 170 99 36 174 213 119 184 191 214 190
8 8 12 47 149 145 57 215 150 152 216 155
9 9 70 27 123 72 80 143 217 79 77 218
10 10 39 147 121 145 160 203 132 159 161 202
11 11 70 120 121 196 219 134 207 221 220 204
12 12 70 172 170 196 211 183 222 221 223 224
13 13 95 99 170 195 104 213 225 227 226 228
14 14 145 45 47 196 229 56 216 206 230 201
15 15 70 123 120 195 217 126 219 232 231 233
16 16 47 45 95 196 56 234 198 201 230 200
17 17 121 120 145 196 134 235 202 204 220 206
18 18 145 39 120 121 159 133 235 202 132 134
19 19 70 120 27 121 219 137 80 207 134 136
20 20 9 47 45 95 54 56 52 102 198 234
21 21 70 27 120 123 80 137 219 217 143 126
22 22 45 47 12 145 56 57 58 229 216 152
23 23 170 95 36 99 225 109 184 213 104 119
24 24 195 45 145 196 237 229 236 238 230 206
25 25 95 45 195 196 234 237 227 200 230 238
26 26 170 95 195 196 225 227 228 224 200 238
27 27 70 170 195 196 222 228 232 221 224 238
28 28 195 120 70 196 233 219 232 238 220 221
29 29 145 120 195 196 235 233 236 206 220 238
30 30 74 24 148 196 86 165 239 241 240 242
31 31 21 74 97 196 88 243 114 244 241 245
32 32 148 33 97 196 167 116 246 242 247 245
33 33 173 124 42 195 248 129 175 250 249 251
34 34 48 15 124 195 64 144 252 254 253 249
35 35 18 48 173 195 68 255 188 256 254 250
36 36 74 70 24 196 89 85 86 241 221 240
37 37 170 18 173 195 189 188 177 228 256 250
38 38 70 74 21 196 89 88 90 221 241 244
39 39 120 123 42 195 126 125 127 233 231 251
40 40 170 173 42 195 177 175 178 228 250 251
41 41 42 124 120 195 129 130 127 251 249 233
42 42 15 122 120 195 138 140 139 253 257 233
43 43 124 15 120 195 144 139 130 249 253 233
44 44 15 48 45 195 64 66 67 253 254 237
45 45 24 147 145 196 163 161 164 240 205 206
46 46 95 97 33 196 113 116 115 200 245 247
47 47 33 98 95 196 118 103 115 247 199 200
48 48 95 96 21 196 107 111 110 200 258 244
49 49 97 95 21 196 113 110 114 245 200 244
50 50 145 33 148 196 168 167 166 206 247 242
51 51 24 145 148 196 164 166 165 240 206 242
52 52 18 45 48 195 63 66 68 256 237 254
53 53 45 18 46 195 63 62 53 237 256 259
54 54 48 124 173 195 252 248 255 254 249 250
55 55 148 97 74 196 246 243 239 242 245 241
56 56 74 24 5 148 86 25 87 239 165 169
57 57 3 49 122 15 60 260 141 16 69 138
58 58 146 12 49 3 153 59 261 156 14 60
59 59 15 124 4 48 144 131 17 64 252 65
60 60 149 1 47 12 151 55 215 150 13 57
61 61 147 7 73 24 162 82 262 163 26 81
62 62 36 172 6 96 182 185 38 108 263 112
63 63 98 47 1 9 197 55 100 101 54 10
64 64 2 174 46 18 192 264 50 19 193 62
65 65 1 149 98 33 151 265 100 34 157 118
66 66 48 173 4 18 255 176 65 68 188 20
67 67 30 72 171 8 75 210 194 32 76 180
68 68 97 21 5 74 114 22 117 243 88 87
69 69 9 46 2 99 51 50 11 105 266 106
70 70 8 123 171 42 128 267 180 44 125 179
71 71 97 5 33 148 117 35 116 246 169 167
72 72 99 174 2 36 214 192 106 119 190 37
73 73 173 124 4 42 248 131 176 175 129 43
74 74 3 122 146 39 141 268 156 40 142 158
75 75 8 72 123 27 76 218 128 29 77 143
76 76 71 172 6 30 212 185 92 91 186 31
77 77 147 121 7 39 203 135 162 160 132 41
78 78 73 121 27 7 208 136 83 82 135 28
79 79 71 6 96 21 92 112 269 94 23 111
80 80 146 49 122 3 261 260 268 156 60 141
81 81 2 46 174 99 50 264 192 106 266 214
82 82 123 171 72 8 267 210 218 128 180 76
83 83 7 73 121 147 82 208 135 162 262 203
84 84 173 4 124 48 176 131 248 255 65 252
85 85 96 172 6 71 263 185 112 269 212 92
86 86 74 5 97 148 87 117 243 239 169 246
87 87 1 98 149 47 100 265 151 55 197 215
88 88 147 121 70 73 203 207 270 262 208 84
89 89 121 147 70 196 203 270 207 204 205 221
90 90 147 70 24 73 270 85 163 262 84 81
91 91 70 147 24 196 270 163 85 221 205 240
92 92 146 195 45 145 272 237 271 154 236 229
93 93 12 45 146 49 58 271 153 59 61 261
94 94 146 45 12 145 271 58 153 154 229 152
95 95 98 47 145 149 197 216 273 265 215 155
96 96 145 47 98 196 216 197 273 206 201 199
97 97 33 98 145 149 118 273 168 157 265 155
98 98 145 98 33 196 273 118 168 206 199 247
99 99 95 196 172 96 200 223 274 107 258 263
100 100 172 196 95 170 223 200 274 183 224 225
101 101 36 95 172 96 109 274 182 108 107 263
102 102 172 95 36 170 274 109 182 183 225 184
103 103 96 70 172 71 275 211 263 269 93 212
104 104 172 70 96 196 211 275 263 223 221 258
105 105 96 21 70 71 111 90 275 269 94 93
106 106 70 21 96 196 90 111 275 221 244 258
107 107 45 195 99 95 237 226 276 234 227 104
108 108 99 195 45 46 226 237 276 266 259 53
109 109 9 45 99 95 52 276 105 102 234 104
110 110 99 45 9 46 276 52 105 266 53 51
111 111 123 170 72 171 277 209 218 267 181 210
112 112 42 170 123 171 178 277 125 179 181 267
113 113 170 42 123 195 178 125 277 228 251 231
114 114 170 70 123 72 222 217 277 209 79 218
115 115 123 70 170 195 217 222 277 231 232 228
116 116 120 146 195 122 278 272 233 140 268 257
117 117 146 120 195 145 278 233 272 154 235 236
118 118 39 146 120 122 158 278 133 142 268 140
119 119 146 39 120 145 158 133 278 154 159 235
120 120 46 99 170 174 266 213 279 264 214 191
121 121 170 99 46 195 213 266 279 228 226 259
122 122 18 46 170 174 62 279 189 193 264 191
123 123 170 46 18 195 279 62 189 228 259 256
124 124 70 30 170 172 78 187 222 211 186 183
125 125 170 30 70 72 187 78 222 209 75 79
126 126 122 45 146 195 280 271 268 257 237 272
127 127 146 45 122 49 271 280 268 261 61 260
128 128 122 15 45 195 138 67 280 257 253 237
129 129 45 15 122 49 67 138 280 61 69 260

View File

@@ -0,0 +1,65 @@
def create_nodes_spine(femmesh):
# nodes
femmesh.addNode(203.2, 25.4, 0.0, 1)
femmesh.addNode(203.2, 25.4, 25.4, 2)
femmesh.addNode(203.2, 0.0, 0.0, 3)
femmesh.addNode(203.2, 0.0, 25.4, 4)
femmesh.addNode(0.0, 25.4, 0.0, 5)
femmesh.addNode(0.0, 25.4, 25.4, 6)
femmesh.addNode(0.0, 0.0, 0.0, 7)
femmesh.addNode(0.0, 0.0, 25.4, 8)
femmesh.addNode(98.3488, 25.4, 25.4, 9)
femmesh.addNode(102.616, 0.0, 25.4, 10)
femmesh.addNode(98.3488, 25.4, 0.0, 11)
femmesh.addNode(102.616, 0.0, 0.0, 12)
femmesh.addNode(0.0, 12.7, 25.4, 13)
femmesh.addNode(49.1744, 25.4, 25.4, 14)
femmesh.addNode(150.774, 25.4, 25.4, 15)
femmesh.addNode(203.2, 12.7, 25.4, 16)
femmesh.addNode(51.308, 0.0, 25.4, 17)
femmesh.addNode(152.908, 0.0, 25.4, 18)
femmesh.addNode(0.0, 12.7, 0.0, 19)
femmesh.addNode(49.1744, 25.4, 0.0, 20)
femmesh.addNode(150.774, 25.4, 0.0, 21)
femmesh.addNode(203.2, 12.7, 0.0, 22)
femmesh.addNode(51.308, 0.0, 0.0, 23)
femmesh.addNode(152.908, 0.0, 0.0, 24)
femmesh.addNode(203.2, 25.4, 12.7, 25)
femmesh.addNode(0.0, 25.4, 12.7, 26)
femmesh.addNode(203.2, 0.0, 12.7, 27)
femmesh.addNode(0.0, 0.0, 12.7, 28)
femmesh.addNode(0.0, 12.7, 12.7, 29)
femmesh.addNode(51.308, 12.7, 25.4, 30)
femmesh.addNode(100.482, 12.7, 25.4, 31)
femmesh.addNode(152.908, 12.7, 25.4, 32)
femmesh.addNode(51.308, 12.7, 0.0, 33)
femmesh.addNode(100.482, 12.7, 0.0, 34)
femmesh.addNode(152.908, 12.7, 0.0, 35)
femmesh.addNode(203.2, 12.7, 12.7, 36)
femmesh.addNode(49.1744, 25.4, 12.7, 37)
femmesh.addNode(150.774, 25.4, 12.7, 38)
femmesh.addNode(98.3488, 25.4, 12.7, 39)
femmesh.addNode(51.308, 0.0, 12.7, 40)
femmesh.addNode(152.908, 0.0, 12.7, 41)
femmesh.addNode(102.616, 0.0, 12.7, 42)
femmesh.addNode(51.308, 12.7, 12.7, 43)
femmesh.addNode(100.482, 12.7, 12.7, 44)
femmesh.addNode(152.908, 12.7, 12.7, 45)
return True
def create_elements_spine(femmesh):
# elements
femmesh.addVolume([6L, 5L, 12L, 11L, 26L, 33L, 43L, 37L, 20L, 34L], 1)
femmesh.addVolume([12L, 9L, 11L, 2L, 44L, 39L, 34L, 45L, 15L, 38L], 2)
femmesh.addVolume([4L, 3L, 1L, 12L, 27L, 22L, 36L, 41L, 24L, 35L], 3)
femmesh.addVolume([12L, 2L, 11L, 1L, 45L, 38L, 34L, 35L, 25L, 21L], 4)
femmesh.addVolume([12L, 2L, 1L, 4L, 45L, 25L, 35L, 41L, 16L, 36L], 5)
femmesh.addVolume([12L, 9L, 2L, 10L, 44L, 15L, 45L, 42L, 31L, 32L], 6)
femmesh.addVolume([12L, 2L, 4L, 10L, 45L, 16L, 41L, 42L, 32L, 18L], 7)
femmesh.addVolume([12L, 9L, 10L, 6L, 44L, 31L, 42L, 43L, 14L, 30L], 8)
femmesh.addVolume([12L, 9L, 6L, 11L, 44L, 14L, 43L, 34L, 39L, 37L], 9)
femmesh.addVolume([7L, 6L, 5L, 12L, 29L, 26L, 19L, 23L, 43L, 33L], 10)
femmesh.addVolume([7L, 8L, 6L, 12L, 28L, 13L, 29L, 23L, 40L, 43L], 11)
femmesh.addVolume([10L, 12L, 6L, 8L, 42L, 43L, 30L, 17L, 40L, 13L], 12)
return True