From b2cd2e0d39367e6450d651512e6e6410b3eaaaf8 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Tue, 20 Feb 2018 06:34:34 +0100 Subject: [PATCH] FEM: unit tests, add ccx tools multi material test --- src/Mod/Fem/CMakeLists.txt | 2 + src/Mod/Fem/femtest/testccxtools.py | 130 +- .../Fem/femtest/testfiles/ccx/multimat.inp | 1308 +++++++++++++++++ .../femtest/testfiles/ccx/multimat_mesh.py | 857 +++++++++++ 4 files changed, 2293 insertions(+), 4 deletions(-) create mode 100644 src/Mod/Fem/femtest/testfiles/ccx/multimat.inp create mode 100644 src/Mod/Fem/femtest/testfiles/ccx/multimat_mesh.py diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index f611ea0621..abb933d3d4 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -137,6 +137,8 @@ SET(FemTestsCcx_SRCS femtest/testfiles/ccx/cube_static.frd femtest/testfiles/ccx/cube_static_expected_values femtest/testfiles/ccx/cube.fcstd + femtest/testfiles/ccx/multimat.inp + femtest/testfiles/ccx/multimat_mesh.py femtest/testfiles/ccx/spine_mesh.py femtest/testfiles/ccx/spine_thermomech.inp femtest/testfiles/ccx/spine_thermomech.dat diff --git a/src/Mod/Fem/femtest/testccxtools.py b/src/Mod/Fem/femtest/testccxtools.py index c22a84e6d1..1068a50a77 100644 --- a/src/Mod/Fem/femtest/testccxtools.py +++ b/src/Mod/Fem/femtest/testccxtools.py @@ -46,7 +46,7 @@ class FemCcxAnalysisTest(unittest.TestCase): self.temp_dir = testtools.get_fem_test_tmp_dir() self.test_file_dir = testtools.get_fem_test_home_dir() + 'ccx/' - def test_static_analysis(self): + def test_1_static_analysis(self): fcc_print('--------------- Start of FEM tests ---------------') box = self.active_doc.addObject("Part::Box", "Box") fcc_print('Checking FEM new analysis...') @@ -169,7 +169,129 @@ class FemCcxAnalysisTest(unittest.TestCase): self.active_doc.saveAs(static_save_fc_file) fcc_print('--------------- End of FEM tests static and analysis ---------------') - def test_freq_analysis(self): + def test_2_static_multiple_material(self): + fcc_print('--------------- Start of FEM ccxtools multiple material test ---------------') + + # create a CompSolid of two Boxes extract the CompSolid (we are able to remesh if needed) + boxlow = self.active_doc.addObject("Part::Box", "BoxLower") + boxupp = self.active_doc.addObject("Part::Box", "BoxUpper") + boxupp.Placement.Base = (0, 0, 10) + + # for BooleanFragments Occt >=6.9 is needed + ''' + import BOPTools.SplitFeatures + bf = BOPTools.SplitFeatures.makeBooleanFragments(name='BooleanFragments') + bf.Objects = [boxlow, boxupp] + bf.Mode = "CompSolid" + self.active_doc.recompute() + bf.Proxy.execute(bf) + bf.purgeTouched() + for obj in bf.ViewObject.Proxy.claimChildren(): + obj.ViewObject.hide() + self.active_doc.recompute() + import CompoundTools.CompoundFilter + cf = CompoundTools.CompoundFilter.makeCompoundFilter(name='MultiMatCompSolid') + cf.Base = bf + cf.FilterType = 'window-volume' + cf.Proxy.execute(cf) + cf.purgeTouched() + cf.Base.ViewObject.hide() + ''' + self.active_doc.recompute() + if FreeCAD.GuiUp: + import FreeCADGui + FreeCADGui.ActiveDocument.activeView().viewAxonometric() + FreeCADGui.SendMsgToActiveView("ViewFit") + + analysis = ObjectsFem.makeAnalysis(self.active_doc, 'Analysis') + solver_object = ObjectsFem.makeSolverCalculixCcxTools(self.active_doc, 'CalculiXccxTools') + solver_object.AnalysisType = 'static' + solver_object.GeometricalNonlinearity = 'linear' + solver_object.ThermoMechSteadyState = False + solver_object.MatrixSolverType = 'default' + solver_object.IterationsControlParameterTimeUse = False + analysis.addObject(solver_object) + + material_object_low = ObjectsFem.makeMaterialSolid(self.active_doc, 'MechanicalMaterialLow') + mat = material_object_low.Material + mat['Name'] = "Aluminium-Generic" + mat['YoungsModulus'] = "70000 MPa" + mat['PoissonRatio'] = "0.35" + mat['Density'] = "2700 kg/m^3" + material_object_low.Material = mat + material_object_low.References = [(boxlow, 'Solid1')] + analysis.addObject(material_object_low) + + material_object_upp = ObjectsFem.makeMaterialSolid(self.active_doc, 'MechanicalMaterialUpp') + mat = material_object_upp.Material + mat['Name'] = "Steel-Generic" + mat['YoungsModulus'] = "200000 MPa" + mat['PoissonRatio'] = "0.30" + mat['Density'] = "7980 kg/m^3" + material_object_upp.Material = mat + material_object_upp.References = [(boxupp, 'Solid1')] + analysis.addObject(material_object_upp) + + fixed_constraint = self.active_doc.addObject("Fem::ConstraintFixed", "ConstraintFixed") + # fixed_constraint.References = [(cf, "Face3")] + fixed_constraint.References = [(boxlow, "Face5")] + analysis.addObject(fixed_constraint) + + pressure_constraint = self.active_doc.addObject("Fem::ConstraintPressure", "ConstraintPressure") + # pressure_constraint.References = [(cf, "Face9")] + pressure_constraint.References = [(boxupp, "Face6")] + pressure_constraint.Pressure = 1000.0 + pressure_constraint.Reversed = False + analysis.addObject(pressure_constraint) + + mesh = Fem.FemMesh() + import femtest.testfiles.ccx.multimat_mesh as multimatmesh + multimatmesh.create_nodes(mesh) + multimatmesh.create_elements(mesh) + mesh_object = self.active_doc.addObject('Fem::FemMeshObject', self.mesh_name) + mesh_object.FemMesh = mesh + analysis.addObject(mesh_object) + + self.active_doc.recompute() + static_multiplemat_dir = testtools.get_unit_test_tmp_dir(self.temp_dir, 'FEM_ccx_multimat/') + fea = ccxtools.FemToolsCcx(analysis, solver_object, test_mode=True) + fea.setup_working_dir(static_multiplemat_dir) + + fcc_print('Checking FEM inp file prerequisites for ccxtools multimat analysis...') + error = fea.check_prerequisites() + self.assertFalse(error, "ccxtools check_prerequisites returned error message: {}".format(error)) + + fcc_print('Checking FEM inp file write...') + fcc_print('Writing {}/{}.inp for static multiple material'.format(static_multiplemat_dir, self.mesh_name)) + error = fea.write_inp_file() + self.assertFalse(error, "Writing failed") + static_base_name = 'multimat' + static_analysis_inp_file = self.test_file_dir + static_base_name + '.inp' + fcc_print('Comparing {} to {}/{}.inp'.format(static_analysis_inp_file, static_multiplemat_dir, self.mesh_name)) + ret = testtools.compare_inp_files(static_analysis_inp_file, static_multiplemat_dir + self.mesh_name + '.inp') + self.assertFalse(ret, "ccxtools write_inp_file test failed.\n{}".format(ret)) + + ''' + # read results and compare them + # do we really need to check result reading on any example + # mhh not for any static but for sure once of each for static, freq, thermo, Flow + fea.setup_working_dir(self.test_file_dir) + fea.set_base_name(static_base_name) + fea.set_inp_file_name() + fea.load_results() + static_expected_values = self.test_file_dir + "cube_multiplemat_expected_values" + ret = testtools.compare_stats(fea, static_expected_values, 'CalculiX_static_results') + self.assertFalse(ret, "Invalid results read from .frd file") + ''' + + static_save_fc_file = static_multiplemat_dir + static_base_name + '.fcstd' + fcc_print('Save FreeCAD file for static analysis to {}...'.format(static_save_fc_file)) + self.active_doc.saveAs(static_save_fc_file) + fcc_print('--------------- End of FEM ccxtools multiple material test ---------------') + + # warum heisst das inp file Mesh.inp ? Besser wuerde doch der base name sein ? dann auch ein self weniger ... + + def test_3_freq_analysis(self): fcc_print('--------------- Start of FEM tests ---------------') self.active_doc.addObject("Part::Box", "Box") fcc_print('Checking FEM new analysis...') @@ -267,7 +389,7 @@ class FemCcxAnalysisTest(unittest.TestCase): self.active_doc.saveAs(frequency_save_fc_file) fcc_print('--------------- End of FEM tests frequency analysis ---------------') - def test_thermomech_analysis(self): + def test_4_thermomech_analysis(self): fcc_print('--------------- Start of FEM tests ---------------') box = self.active_doc.addObject("Part::Box", "Box") box.Height = 25.4 @@ -397,7 +519,7 @@ class FemCcxAnalysisTest(unittest.TestCase): fcc_print('--------------- End of FEM tests thermomech analysis ---------------') - def test_Flow1D_thermomech_analysis(self): + def test_5_Flow1D_thermomech_analysis(self): fcc_print('--------------- Start of 1D Flow FEM tests ---------------') import Draft p1 = FreeCAD.Vector(0, 0, 50) diff --git a/src/Mod/Fem/femtest/testfiles/ccx/multimat.inp b/src/Mod/Fem/femtest/testfiles/ccx/multimat.inp new file mode 100644 index 0000000000..0bdc59fe0c --- /dev/null +++ b/src/Mod/Fem/femtest/testfiles/ccx/multimat.inp @@ -0,0 +1,1308 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 0, 10 +2, 0, 0, 20 +3, 0, 10, 10 +4, 0, 10, 20 +5, 10, 0, 10 +6, 10, 0, 20 +7, 10, 10, 10 +8, 10, 10, 20 +9, 0, 0, 0 +10, 0, 10, 0 +11, 10, 0, 0 +12, 10, 10, 0 +13, 0, 0, 15 +14, 0, 0, 12.5 +15, 0, 0, 17.5 +16, 0, 5, 10 +17, 0, 2.5, 10 +18, 0, 7.5, 10 +19, 0, 5, 20 +20, 0, 2.5, 20 +21, 0, 7.5, 20 +22, 0, 10, 15 +23, 0, 10, 12.5 +24, 0, 10, 17.5 +25, 5, 0, 10 +26, 2.5, 0, 10 +27, 7.5, 0, 10 +28, 10, 0, 15 +29, 10, 0, 12.5 +30, 10, 0, 17.5 +31, 5, 0, 20 +32, 2.5, 0, 20 +33, 7.5, 0, 20 +34, 5, 10, 10 +35, 2.5, 10, 10 +36, 7.5, 10, 10 +37, 10, 5, 10 +38, 10, 2.5, 10 +39, 10, 7.5, 10 +40, 5, 10, 20 +41, 2.5, 10, 20 +42, 7.5, 10, 20 +43, 10, 5, 20 +44, 10, 2.5, 20 +45, 10, 7.5, 20 +46, 10, 10, 15 +47, 10, 10, 12.5 +48, 10, 10, 17.5 +49, 0, 0, 5 +50, 0, 0, 2.5 +51, 0, 0, 7.5 +52, 0, 5, 0 +53, 0, 2.5, 0 +54, 0, 7.5, 0 +55, 0, 10, 5 +56, 0, 10, 2.5 +57, 0, 10, 7.5 +58, 5, 0, 0 +59, 2.5, 0, 0 +60, 7.5, 0, 0 +61, 10, 0, 5 +62, 10, 0, 2.5 +63, 10, 0, 7.5 +64, 5, 10, 0 +65, 2.5, 10, 0 +66, 7.5, 10, 0 +67, 10, 5, 0 +68, 10, 2.5, 0 +69, 10, 7.5, 0 +70, 10, 10, 5 +71, 10, 10, 2.5 +72, 10, 10, 7.5 +73, 0, 5, 15 +74, 0, 2.5, 12.5 +75, 0, 2.5, 17.5 +76, 0, 7.5, 12.5 +77, 0, 7.5, 17.5 +78, 0, 1.25, 13.75 +79, 0, 1.25, 11.25 +80, 0, 3.75, 11.25 +81, 0, 1.25, 16.25 +82, 0, 1.25, 18.75 +83, 0, 3.75, 18.75 +84, 0, 6.25, 11.25 +85, 0, 8.75, 11.25 +86, 0, 8.75, 13.75 +87, 0, 6.25, 18.75 +88, 0, 8.75, 18.75 +89, 0, 8.75, 16.25 +90, 0, 2.5, 15 +91, 0, 5, 12.5 +92, 0, 5, 17.5 +93, 0, 7.5, 15 +94, 0, 3.75, 16.25 +95, 0, 3.75, 13.75 +96, 0, 6.25, 13.75 +97, 0, 6.25, 16.25 +98, 5, 0, 15 +99, 7.5, 0, 12.5 +100, 7.5, 0, 17.5 +101, 2.5, 0, 12.5 +102, 2.5, 0, 17.5 +103, 1.25, 0, 11.25 +104, 1.25, 0, 13.75 +105, 3.75, 0, 11.25 +106, 1.25, 0, 16.25 +107, 1.25, 0, 18.75 +108, 3.75, 0, 18.75 +109, 8.75, 0, 11.25 +110, 6.25, 0, 11.25 +111, 8.75, 0, 13.75 +112, 8.75, 0, 18.75 +113, 8.75, 0, 16.25 +114, 6.25, 0, 18.75 +115, 2.5, 0, 15 +116, 5, 0, 12.5 +117, 7.5, 0, 15 +118, 5, 0, 17.5 +119, 6.25, 0, 13.75 +120, 6.25, 0, 16.25 +121, 3.75, 0, 13.75 +122, 3.75, 0, 16.25 +123, 5, 5, 10 +124, 2.5, 7.5, 10 +125, 7.5, 7.5, 10 +126, 2.5, 2.5, 10 +127, 7.5, 2.5, 10 +128, 1.25, 3.75, 10 +129, 1.25, 1.25, 10 +130, 3.75, 1.25, 10 +131, 1.25, 8.75, 10 +132, 1.25, 6.25, 10 +133, 3.75, 8.75, 10 +134, 6.25, 1.25, 10 +135, 8.75, 1.25, 10 +136, 8.75, 3.75, 10 +137, 8.75, 8.75, 10 +138, 6.25, 8.75, 10 +139, 8.75, 6.25, 10 +140, 2.5, 5, 10 +141, 5, 2.5, 10 +142, 5, 7.5, 10 +143, 7.5, 5, 10 +144, 3.75, 6.25, 10 +145, 6.25, 6.25, 10 +146, 3.75, 3.75, 10 +147, 6.25, 3.75, 10 +148, 5, 5, 20 +149, 2.5, 7.5, 20 +150, 7.5, 7.5, 20 +151, 2.5, 2.5, 20 +152, 7.5, 2.5, 20 +153, 1.25, 3.75, 20 +154, 1.25, 1.25, 20 +155, 3.75, 1.25, 20 +156, 1.25, 6.25, 20 +157, 1.25, 8.75, 20 +158, 3.75, 8.75, 20 +159, 6.25, 1.25, 20 +160, 8.75, 1.25, 20 +161, 8.75, 3.75, 20 +162, 6.25, 8.75, 20 +163, 8.75, 8.75, 20 +164, 8.75, 6.25, 20 +165, 2.5, 5, 20 +166, 5, 2.5, 20 +167, 5, 7.5, 20 +168, 7.5, 5, 20 +169, 3.75, 6.25, 20 +170, 6.25, 6.25, 20 +171, 3.75, 3.75, 20 +172, 6.25, 3.75, 20 +173, 5, 10, 15 +174, 2.5, 10, 12.5 +175, 7.5, 10, 12.5 +176, 7.5, 10, 17.5 +177, 2.5, 10, 17.5 +178, 1.25, 10, 13.75 +179, 1.25, 10, 11.25 +180, 3.75, 10, 11.25 +181, 1.25, 10, 16.25 +182, 1.25, 10, 18.75 +183, 3.75, 10, 18.75 +184, 6.25, 10, 11.25 +185, 8.75, 10, 11.25 +186, 8.75, 10, 13.75 +187, 6.25, 10, 18.75 +188, 8.75, 10, 18.75 +189, 8.75, 10, 16.25 +190, 2.5, 10, 15 +191, 5, 10, 12.5 +192, 5, 10, 17.5 +193, 7.5, 10, 15 +194, 3.75, 10, 13.75 +195, 6.25, 10, 13.75 +196, 3.75, 10, 16.25 +197, 6.25, 10, 16.25 +198, 10, 5, 15 +199, 10, 2.5, 12.5 +200, 10, 2.5, 17.5 +201, 10, 7.5, 12.5 +202, 10, 7.5, 17.5 +203, 10, 1.25, 11.25 +204, 10, 1.25, 13.75 +205, 10, 3.75, 11.25 +206, 10, 1.25, 16.25 +207, 10, 1.25, 18.75 +208, 10, 3.75, 18.75 +209, 10, 8.75, 11.25 +210, 10, 6.25, 11.25 +211, 10, 8.75, 13.75 +212, 10, 6.25, 18.75 +213, 10, 8.75, 18.75 +214, 10, 8.75, 16.25 +215, 10, 2.5, 15 +216, 10, 5, 12.5 +217, 10, 5, 17.5 +218, 10, 7.5, 15 +219, 10, 3.75, 16.25 +220, 10, 3.75, 13.75 +221, 10, 6.25, 13.75 +222, 10, 6.25, 16.25 +223, 0, 5, 5 +224, 0, 2.5, 7.5 +225, 0, 7.5, 7.5 +226, 0, 2.5, 2.5 +227, 0, 7.5, 2.5 +228, 0, 3.75, 8.75 +229, 0, 1.25, 8.75 +230, 0, 1.25, 6.25 +231, 0, 6.25, 8.75 +232, 0, 8.75, 8.75 +233, 0, 8.75, 6.25 +234, 0, 1.25, 3.75 +235, 0, 1.25, 1.25 +236, 0, 3.75, 1.25 +237, 0, 6.25, 1.25 +238, 0, 8.75, 1.25 +239, 0, 8.75, 3.75 +240, 0, 5, 7.5 +241, 0, 2.5, 5 +242, 0, 5, 2.5 +243, 0, 7.5, 5 +244, 0, 6.25, 6.25 +245, 0, 3.75, 6.25 +246, 0, 3.75, 3.75 +247, 0, 6.25, 3.75 +248, 5, 0, 5 +249, 7.5, 0, 7.5 +250, 2.5, 0, 2.5 +251, 7.5, 0, 2.5 +252, 2.5, 0, 7.5 +253, 3.75, 0, 8.75 +254, 1.25, 0, 8.75 +255, 1.25, 0, 6.25 +256, 6.25, 0, 8.75 +257, 8.75, 0, 8.75 +258, 8.75, 0, 6.25 +259, 1.25, 0, 3.75 +260, 1.25, 0, 1.25 +261, 3.75, 0, 1.25 +262, 6.25, 0, 1.25 +263, 8.75, 0, 1.25 +264, 8.75, 0, 3.75 +265, 5, 0, 7.5 +266, 2.5, 0, 5 +267, 5, 0, 2.5 +268, 7.5, 0, 5 +269, 6.25, 0, 6.25 +270, 6.25, 0, 3.75 +271, 3.75, 0, 6.25 +272, 3.75, 0, 3.75 +273, 5, 5, 0 +274, 2.5, 7.5, 0 +275, 7.5, 7.5, 0 +276, 2.5, 2.5, 0 +277, 7.5, 2.5, 0 +278, 1.25, 3.75, 0 +279, 1.25, 1.25, 0 +280, 3.75, 1.25, 0 +281, 1.25, 8.75, 0 +282, 1.25, 6.25, 0 +283, 3.75, 8.75, 0 +284, 6.25, 1.25, 0 +285, 8.75, 1.25, 0 +286, 8.75, 3.75, 0 +287, 8.75, 8.75, 0 +288, 6.25, 8.75, 0 +289, 8.75, 6.25, 0 +290, 2.5, 5, 0 +291, 5, 2.5, 0 +292, 5, 7.5, 0 +293, 7.5, 5, 0 +294, 3.75, 6.25, 0 +295, 6.25, 6.25, 0 +296, 3.75, 3.75, 0 +297, 6.25, 3.75, 0 +298, 5, 10, 5 +299, 7.5, 10, 7.5 +300, 7.5, 10, 2.5 +301, 2.5, 10, 7.5 +302, 2.5, 10, 2.5 +303, 3.75, 10, 8.75 +304, 1.25, 10, 8.75 +305, 1.25, 10, 6.25 +306, 8.75, 10, 8.75 +307, 6.25, 10, 8.75 +308, 8.75, 10, 6.25 +309, 1.25, 10, 3.75 +310, 1.25, 10, 1.25 +311, 3.75, 10, 1.25 +312, 6.25, 10, 1.25 +313, 8.75, 10, 1.25 +314, 8.75, 10, 3.75 +315, 5, 10, 7.5 +316, 2.5, 10, 5 +317, 5, 10, 2.5 +318, 7.5, 10, 5 +319, 6.25, 10, 6.25 +320, 6.25, 10, 3.75 +321, 3.75, 10, 6.25 +322, 3.75, 10, 3.75 +323, 10, 5, 5 +324, 10, 2.5, 7.5 +325, 10, 7.5, 7.5 +326, 10, 2.5, 2.5 +327, 10, 7.5, 2.5 +328, 10, 1.25, 8.75 +329, 10, 3.75, 8.75 +330, 10, 1.25, 6.25 +331, 10, 6.25, 8.75 +332, 10, 8.75, 8.75 +333, 10, 8.75, 6.25 +334, 10, 1.25, 1.25 +335, 10, 1.25, 3.75 +336, 10, 3.75, 1.25 +337, 10, 8.75, 1.25 +338, 10, 6.25, 1.25 +339, 10, 8.75, 3.75 +340, 10, 5, 7.5 +341, 10, 2.5, 5 +342, 10, 5, 2.5 +343, 10, 7.5, 5 +344, 10, 6.25, 6.25 +345, 10, 3.75, 6.25 +346, 10, 3.75, 3.75 +347, 10, 6.25, 3.75 +348, 5, 5, 15 +349, 2.5, 7.5, 15 +350, 1.25, 7.5, 16.25 +351, 2.5, 5, 15 +352, 3.75, 7.5, 16.25 +353, 5, 7.5, 15 +354, 5, 7.5, 17.5 +355, 3.75, 7.5, 18.75 +356, 5, 5, 17.5 +357, 2.5, 5, 12.5 +358, 1.25, 6.25, 12.5 +359, 3.75, 6.25, 12.5 +360, 5, 5, 12.5 +361, 5, 7.5, 12.5 +362, 3.75, 8.75, 12.5 +363, 2.5, 6.25, 18.75 +364, 2.5, 5, 17.5 +365, 2.5, 6.25, 16.25 +366, 6.25, 7.5, 18.75 +367, 6.25, 7.5, 16.25 +368, 7.5, 7.5, 15 +369, 8.75, 7.5, 16.25 +370, 7.5, 5, 15 +371, 8.75, 7.5, 13.75 +372, 6.25, 7.5, 13.75 +373, 6.25, 7.5, 11.25 +374, 3.75, 2.5, 18.75 +375, 5, 2.5, 17.5 +376, 3.75, 2.5, 16.25 +377, 5, 2.5, 15 +378, 2.5, 2.5, 15 +379, 1.25, 2.5, 16.25 +380, 1.25, 2.5, 13.75 +381, 3.75, 2.5, 13.75 +382, 5, 2.5, 12.5 +383, 3.75, 2.5, 11.25 +384, 2.5, 8.75, 13.75 +385, 2.5, 6.25, 13.75 +386, 7.5, 5, 17.5 +387, 7.5, 6.25, 18.75 +388, 7.5, 6.25, 16.25 +389, 8.75, 6.25, 12.5 +390, 7.5, 5, 12.5 +391, 6.25, 6.25, 12.5 +392, 7.5, 2.5, 15 +393, 7.5, 1.25, 16.25 +394, 7.5, 3.75, 16.25 +395, 7.5, 3.75, 18.75 +396, 6.25, 2.5, 11.25 +397, 6.25, 2.5, 13.75 +398, 8.75, 2.5, 13.75 +399, 2.5, 3.75, 18.75 +400, 2.5, 3.75, 16.25 +401, 2.5, 3.75, 11.25 +402, 2.5, 3.75, 13.75 +403, 6.25, 2.5, 18.75 +404, 6.25, 2.5, 16.25 +405, 8.75, 3.75, 12.5 +406, 6.25, 3.75, 12.5 +407, 1.25, 8.75, 15 +408, 1.25, 5, 11.25 +409, 8.75, 1.25, 15 +410, 5, 8.75, 11.25 +411, 1.25, 8.75, 17.5 +412, 1.25, 7.5, 11.25 +413, 2.5, 8.75, 18.75 +414, 3.75, 6.25, 17.5 +415, 1.25, 7.5, 18.75 +416, 8.75, 8.75, 17.5 +417, 7.5, 8.75, 11.25 +418, 1.25, 1.25, 17.5 +419, 1.25, 1.25, 12.5 +420, 2.5, 8.75, 11.25 +421, 3.75, 7.5, 13.75 +422, 1.25, 8.75, 12.5 +423, 7.5, 8.75, 18.75 +424, 6.25, 6.25, 17.5 +425, 8.75, 7.5, 18.75 +426, 8.75, 8.75, 12.5 +427, 7.5, 6.25, 13.75 +428, 8.75, 7.5, 11.25 +429, 8.75, 1.25, 17.5 +430, 7.5, 1.25, 11.25 +431, 2.5, 1.25, 18.75 +432, 3.75, 3.75, 17.5 +433, 1.25, 2.5, 18.75 +434, 2.5, 1.25, 11.25 +435, 3.75, 3.75, 12.5 +436, 1.25, 2.5, 11.25 +437, 8.75, 2.5, 18.75 +438, 6.25, 3.75, 17.5 +439, 7.5, 1.25, 18.75 +440, 8.75, 1.25, 12.5 +441, 7.5, 3.75, 13.75 +442, 8.75, 2.5, 11.25 +443, 5, 8.75, 18.75 +444, 5, 1.25, 11.25 +445, 8.75, 8.75, 15 +446, 8.75, 5, 11.25 +447, 1.25, 1.25, 15 +448, 8.75, 5, 18.75 +449, 5, 1.25, 18.75 +450, 1.25, 5, 18.75 +451, 5, 5, 5 +452, 6.25, 8.75, 7.5 +453, 5, 7.5, 7.5 +454, 5, 7.5, 5 +455, 5, 5, 7.5 +456, 6.25, 6.25, 7.5 +457, 8.75, 6.25, 7.5 +458, 7.5, 5, 7.5 +459, 7.5, 5, 5 +460, 3.75, 8.75, 7.5 +461, 3.75, 6.25, 7.5 +462, 2.5, 5, 7.5 +463, 1.25, 6.25, 7.5 +464, 2.5, 5, 5 +465, 2.5, 5, 2.5 +466, 1.25, 6.25, 2.5 +467, 3.75, 6.25, 2.5 +468, 5, 5, 2.5 +469, 5, 7.5, 2.5 +470, 3.75, 8.75, 2.5 +471, 6.25, 8.75, 2.5 +472, 6.25, 6.25, 2.5 +473, 7.5, 5, 2.5 +474, 8.75, 6.25, 2.5 +475, 7.5, 7.5, 5 +476, 8.75, 7.5, 6.25 +477, 6.25, 7.5, 6.25 +478, 2.5, 7.5, 5 +479, 2.5, 8.75, 6.25 +480, 2.5, 6.25, 6.25 +481, 1.25, 3.75, 7.5 +482, 3.75, 3.75, 7.5 +483, 5, 2.5, 7.5 +484, 3.75, 1.25, 7.5 +485, 5, 2.5, 5 +486, 7.5, 2.5, 5 +487, 8.75, 2.5, 6.25 +488, 6.25, 2.5, 6.25 +489, 6.25, 2.5, 8.75 +490, 8.75, 3.75, 2.5 +491, 6.25, 3.75, 2.5 +492, 5, 2.5, 2.5 +493, 6.25, 1.25, 2.5 +494, 1.25, 3.75, 2.5 +495, 3.75, 3.75, 2.5 +496, 3.75, 1.25, 2.5 +497, 2.5, 8.75, 3.75 +498, 2.5, 6.25, 3.75 +499, 8.75, 7.5, 3.75 +500, 6.25, 7.5, 3.75 +501, 2.5, 2.5, 5 +502, 1.25, 2.5, 6.25 +503, 3.75, 2.5, 6.25 +504, 8.75, 3.75, 7.5 +505, 6.25, 3.75, 7.5 +506, 8.75, 2.5, 3.75 +507, 6.25, 2.5, 3.75 +508, 1.25, 2.5, 3.75 +509, 3.75, 2.5, 3.75 +510, 5, 1.25, 8.75 +511, 7.5, 8.75, 8.75 +512, 1.25, 7.5, 8.75 +513, 1.25, 7.5, 1.25 +514, 7.5, 8.75, 1.25 +515, 8.75, 8.75, 7.5 +516, 7.5, 6.25, 6.25 +517, 8.75, 7.5, 8.75 +518, 1.25, 8.75, 7.5 +519, 3.75, 7.5, 6.25 +520, 2.5, 8.75, 8.75 +521, 2.5, 1.25, 8.75 +522, 7.5, 1.25, 8.75 +523, 7.5, 1.25, 1.25 +524, 2.5, 1.25, 1.25 +525, 1.25, 8.75, 2.5 +526, 3.75, 7.5, 3.75 +527, 2.5, 8.75, 1.25 +528, 8.75, 8.75, 2.5 +529, 7.5, 6.25, 3.75 +530, 8.75, 7.5, 1.25 +531, 1.25, 1.25, 7.5 +532, 2.5, 3.75, 6.25 +533, 1.25, 2.5, 8.75 +534, 8.75, 2.5, 8.75 +535, 7.5, 3.75, 6.25 +536, 8.75, 1.25, 7.5 +537, 8.75, 2.5, 1.25 +538, 7.5, 3.75, 3.75 +539, 8.75, 1.25, 2.5 +540, 1.25, 1.25, 2.5 +541, 2.5, 3.75, 3.75 +542, 1.25, 2.5, 1.25 +543, 8.75, 5, 8.75 +544, 8.75, 8.75, 5 +545, 5, 8.75, 1.25 +546, 1.25, 5, 1.25 +547, 5, 8.75, 8.75 +548, 1.25, 1.25, 5 +549, 8.75, 5, 1.25 +550, 1.25, 5, 8.75 +551, 5, 1.25, 1.25 +552, 1.25, 8.75, 5 +553, 8.75, 1.25, 5 + + +** Volume elements +*Element, TYPE=C3D10, ELSET=Evolumes +1, 177, 73, 173, 348, 350, 349, 196, 352, 351, 353 +2, 148, 177, 173, 348, 355, 196, 354, 356, 352, 353 +3, 124, 73, 123, 348, 358, 357, 144, 359, 351, 360 +4, 173, 124, 123, 348, 362, 144, 361, 353, 359, 360 +5, 73, 77, 148, 348, 97, 363, 364, 351, 365, 356 +6, 173, 176, 148, 348, 197, 366, 354, 353, 367, 356 +7, 198, 176, 173, 348, 369, 197, 368, 370, 367, 353 +8, 175, 198, 173, 348, 371, 368, 195, 372, 370, 353 +9, 175, 173, 123, 348, 195, 361, 373, 372, 353, 360 +10, 98, 102, 148, 348, 122, 374, 375, 377, 376, 356 +11, 73, 102, 98, 348, 379, 122, 378, 351, 376, 377 +12, 98, 101, 73, 348, 121, 380, 378, 377, 381, 351 +13, 123, 101, 98, 348, 383, 121, 382, 360, 381, 377 +14, 73, 76, 173, 348, 96, 384, 349, 351, 385, 353 +15, 202, 198, 148, 348, 222, 386, 387, 388, 370, 356 +16, 123, 198, 125, 348, 390, 389, 145, 360, 370, 391 +17, 98, 200, 198, 348, 393, 219, 392, 377, 394, 370 +18, 198, 200, 148, 348, 219, 395, 386, 370, 394, 356 +19, 99, 123, 98, 348, 396, 382, 119, 397, 360, 377 +20, 198, 99, 98, 348, 398, 119, 392, 370, 397, 377 +21, 75, 73, 148, 348, 94, 364, 399, 400, 351, 356 +22, 73, 74, 123, 348, 95, 401, 357, 351, 402, 360 +23, 148, 100, 98, 348, 403, 120, 375, 356, 404, 377 +24, 198, 123, 127, 348, 390, 147, 405, 370, 360, 406 +25, 175, 198, 176, 173, 371, 369, 193, 195, 368, 197 +26, 73, 76, 177, 173, 96, 407, 350, 349, 384, 196 +27, 101, 73, 102, 98, 380, 379, 115, 121, 378, 122 +28, 102, 148, 100, 98, 374, 403, 118, 122, 375, 120 +29, 176, 148, 177, 173, 366, 355, 192, 197, 354, 196 +30, 73, 74, 124, 123, 95, 408, 358, 357, 401, 144 +31, 148, 75, 77, 73, 399, 92, 363, 364, 94, 97 +32, 98, 200, 99, 198, 393, 409, 119, 392, 219, 398 +33, 200, 148, 202, 198, 395, 387, 217, 219, 386, 222 +34, 101, 99, 123, 98, 116, 396, 383, 121, 119, 382 +35, 123, 127, 125, 198, 147, 143, 145, 390, 405, 389 +36, 123, 175, 124, 173, 373, 410, 144, 361, 195, 362 +37, 73, 177, 77, 348, 350, 411, 97, 351, 352, 365 +38, 73, 124, 76, 348, 358, 412, 96, 351, 359, 385 +39, 149, 177, 148, 348, 413, 355, 169, 414, 352, 356 +40, 77, 149, 148, 348, 415, 169, 363, 365, 414, 356 +41, 202, 176, 198, 348, 416, 369, 222, 388, 367, 370 +42, 125, 175, 123, 348, 417, 373, 145, 391, 372, 360 +43, 102, 73, 75, 348, 379, 94, 418, 376, 351, 400 +44, 101, 74, 73, 348, 419, 95, 380, 381, 402, 351 +45, 173, 174, 124, 348, 194, 420, 362, 353, 421, 359 +46, 76, 174, 173, 348, 422, 194, 384, 385, 421, 353 +47, 150, 148, 176, 348, 170, 366, 423, 424, 356, 367 +48, 202, 148, 150, 348, 387, 170, 425, 388, 356, 424 +49, 201, 198, 175, 348, 221, 371, 426, 427, 370, 372 +50, 125, 198, 201, 348, 389, 221, 428, 391, 370, 427 +51, 98, 100, 200, 348, 120, 429, 393, 377, 404, 394 +52, 127, 123, 99, 348, 147, 396, 430, 406, 360, 397 +53, 148, 102, 151, 348, 374, 431, 171, 356, 376, 432 +54, 151, 75, 148, 348, 433, 399, 171, 432, 400, 356 +55, 123, 126, 101, 348, 146, 434, 383, 360, 435, 381 +56, 74, 126, 123, 348, 436, 146, 401, 402, 435, 360 +57, 152, 148, 200, 348, 172, 395, 437, 438, 356, 394 +58, 100, 148, 152, 348, 403, 172, 439, 404, 356, 438 +59, 199, 99, 198, 348, 440, 398, 220, 441, 397, 370 +60, 199, 198, 127, 348, 220, 405, 442, 441, 370, 406 +61, 176, 150, 149, 148, 423, 167, 443, 366, 170, 169 +62, 126, 101, 127, 123, 434, 444, 141, 146, 383, 147 +63, 124, 74, 126, 123, 408, 436, 140, 144, 401, 146 +64, 198, 201, 176, 202, 221, 445, 369, 222, 218, 416 +65, 177, 176, 149, 148, 192, 443, 413, 355, 366, 169 +66, 124, 76, 74, 73, 412, 91, 408, 358, 96, 95 +67, 198, 125, 199, 127, 389, 446, 220, 405, 143, 442 +68, 101, 123, 99, 127, 383, 396, 116, 444, 147, 430 +69, 198, 199, 200, 99, 220, 215, 219, 398, 440, 409 +70, 101, 74, 102, 73, 419, 447, 115, 380, 95, 379 +71, 175, 201, 176, 198, 426, 445, 193, 371, 221, 369 +72, 202, 200, 150, 148, 217, 448, 425, 387, 395, 170 +73, 200, 99, 100, 98, 409, 117, 429, 393, 119, 120 +74, 200, 152, 150, 148, 437, 168, 448, 395, 172, 170 +75, 102, 151, 152, 148, 431, 166, 449, 374, 171, 172 +76, 77, 149, 75, 148, 415, 450, 92, 363, 169, 399 +77, 152, 148, 100, 102, 172, 403, 439, 449, 374, 118 +78, 73, 74, 102, 75, 95, 447, 379, 94, 90, 418 +79, 76, 174, 177, 173, 422, 190, 407, 384, 194, 196 +80, 148, 149, 75, 151, 169, 450, 399, 171, 165, 433 +81, 177, 77, 76, 73, 411, 93, 407, 350, 97, 96 +82, 125, 199, 201, 198, 446, 216, 428, 389, 220, 221 +83, 125, 175, 124, 123, 417, 410, 142, 145, 373, 144 +84, 124, 175, 174, 173, 410, 191, 420, 362, 195, 194 +85, 40, 176, 149, 177, 187, 443, 158, 183, 192, 413 +86, 43, 200, 150, 202, 208, 448, 164, 212, 217, 425 +87, 34, 175, 174, 124, 184, 191, 180, 133, 410, 420 +88, 76, 177, 174, 22, 407, 190, 422, 86, 181, 178 +89, 16, 76, 74, 124, 84, 91, 80, 132, 412, 408 +90, 99, 199, 200, 28, 440, 215, 409, 111, 204, 206 +91, 152, 102, 100, 31, 449, 118, 439, 159, 108, 114 +92, 127, 99, 101, 25, 430, 116, 444, 134, 110, 105 +93, 19, 149, 75, 77, 156, 450, 83, 87, 415, 92 +94, 13, 74, 102, 101, 78, 447, 106, 104, 419, 115 +95, 125, 201, 199, 37, 428, 216, 446, 139, 210, 205 +96, 200, 150, 152, 43, 448, 168, 437, 208, 164, 161 +97, 127, 125, 199, 37, 143, 446, 442, 136, 139, 205 +98, 22, 77, 76, 177, 89, 93, 86, 181, 411, 407 +99, 102, 152, 151, 31, 449, 166, 431, 108, 159, 155 +100, 19, 75, 149, 151, 83, 450, 156, 153, 433, 165 +101, 200, 100, 99, 28, 429, 117, 409, 206, 113, 111 +102, 176, 149, 150, 40, 443, 167, 423, 187, 158, 162 +103, 13, 102, 74, 75, 106, 447, 78, 81, 418, 90 +104, 46, 176, 201, 202, 189, 445, 211, 214, 416, 218 +105, 126, 127, 101, 25, 141, 444, 434, 130, 134, 105 +106, 125, 124, 175, 34, 142, 410, 417, 138, 133, 184 +107, 124, 126, 74, 16, 140, 436, 408, 132, 128, 80 +108, 46, 201, 176, 175, 211, 445, 189, 186, 426, 193 +109, 77, 177, 149, 348, 411, 413, 415, 365, 352, 414 +110, 124, 174, 76, 348, 420, 422, 412, 359, 421, 385 +111, 176, 202, 150, 348, 416, 425, 423, 367, 388, 424 +112, 201, 175, 125, 348, 426, 417, 428, 427, 372, 391 +113, 151, 102, 75, 348, 431, 418, 433, 432, 376, 400 +114, 101, 126, 74, 348, 434, 436, 419, 381, 435, 402 +115, 200, 100, 152, 348, 429, 439, 437, 394, 404, 438 +116, 127, 99, 199, 348, 430, 440, 442, 406, 397, 441 +117, 200, 152, 6, 43, 437, 160, 207, 208, 161, 44 +118, 100, 6, 152, 31, 112, 160, 439, 114, 33, 159 +119, 174, 3, 76, 22, 179, 85, 422, 178, 23, 86 +120, 201, 175, 46, 7, 426, 186, 211, 209, 185, 47 +121, 77, 149, 4, 19, 415, 157, 88, 87, 156, 21 +122, 177, 4, 22, 77, 182, 24, 181, 411, 88, 89 +123, 16, 74, 1, 126, 80, 79, 17, 128, 436, 129 +124, 2, 75, 19, 151, 82, 83, 20, 154, 433, 153 +125, 124, 76, 3, 16, 412, 85, 131, 132, 84, 18 +126, 13, 75, 2, 102, 81, 82, 15, 106, 418, 107 +127, 151, 2, 102, 31, 154, 107, 431, 155, 32, 108 +128, 74, 13, 1, 101, 78, 14, 79, 419, 104, 103 +129, 127, 37, 199, 5, 136, 205, 442, 135, 38, 203 +130, 200, 28, 6, 100, 206, 30, 207, 429, 113, 112 +131, 150, 176, 40, 8, 423, 187, 162, 163, 188, 42 +132, 149, 177, 4, 40, 413, 182, 157, 158, 183, 41 +133, 8, 202, 176, 46, 213, 416, 188, 48, 214, 189 +134, 150, 43, 202, 8, 164, 212, 425, 163, 45, 213 +135, 199, 28, 99, 5, 204, 111, 440, 203, 29, 109 +136, 7, 175, 34, 125, 185, 184, 36, 137, 417, 138 +137, 124, 3, 174, 34, 131, 179, 420, 133, 35, 180 +138, 101, 1, 126, 25, 103, 129, 434, 105, 26, 130 +139, 125, 7, 201, 37, 137, 209, 428, 139, 39, 210 +140, 127, 99, 25, 5, 430, 110, 134, 135, 109, 27 +141, 7, 201, 175, 125, 209, 426, 185, 137, 428, 417 +142, 174, 76, 3, 124, 422, 85, 179, 420, 412, 131 +143, 149, 4, 177, 77, 157, 182, 413, 415, 88, 411 +144, 200, 6, 152, 100, 207, 160, 437, 429, 112, 439 +145, 126, 74, 1, 101, 436, 79, 129, 434, 419, 103 +146, 102, 75, 2, 151, 418, 82, 107, 431, 433, 154 +147, 150, 202, 176, 8, 425, 416, 423, 163, 213, 188 +148, 127, 199, 99, 5, 442, 440, 430, 135, 203, 109 +149, 123, 298, 125, 451, 453, 452, 145, 455, 454, 456 +150, 123, 125, 323, 451, 145, 457, 458, 455, 456, 459 +151, 123, 124, 298, 451, 144, 460, 453, 455, 461, 454 +152, 223, 124, 123, 451, 463, 144, 462, 464, 461, 455 +153, 274, 223, 273, 451, 466, 465, 294, 467, 464, 468 +154, 298, 274, 273, 451, 470, 294, 469, 454, 467, 468 +155, 275, 298, 273, 451, 471, 469, 295, 472, 454, 468 +156, 323, 275, 273, 451, 474, 295, 473, 459, 472, 468 +157, 299, 298, 323, 451, 319, 475, 476, 477, 454, 459 +158, 225, 223, 298, 451, 244, 478, 479, 480, 464, 454 +159, 123, 126, 223, 451, 146, 481, 462, 455, 482, 464 +160, 248, 126, 123, 451, 484, 146, 483, 485, 482, 455 +161, 249, 323, 248, 451, 487, 486, 269, 488, 459, 485 +162, 248, 123, 249, 451, 483, 489, 269, 485, 455, 488 +163, 273, 277, 323, 451, 297, 490, 473, 468, 491, 459 +164, 248, 277, 273, 451, 493, 297, 492, 485, 491, 468 +165, 273, 223, 276, 451, 465, 494, 296, 468, 464, 495 +166, 273, 276, 248, 451, 296, 496, 492, 468, 495, 485 +167, 227, 298, 223, 451, 497, 478, 247, 498, 454, 464 +168, 300, 323, 298, 451, 499, 475, 320, 500, 459, 454 +169, 223, 252, 248, 451, 502, 271, 501, 464, 503, 485 +170, 127, 123, 323, 451, 147, 458, 504, 505, 455, 459 +171, 323, 251, 248, 451, 506, 270, 486, 459, 507, 485 +172, 248, 250, 223, 451, 272, 508, 501, 485, 509, 464 +173, 223, 252, 250, 248, 502, 266, 508, 501, 271, 272 +174, 273, 276, 277, 248, 296, 291, 297, 492, 496, 493 +175, 249, 323, 251, 248, 487, 506, 268, 269, 486, 270 +176, 273, 277, 275, 323, 297, 293, 295, 473, 490, 474 +177, 273, 274, 276, 223, 294, 290, 296, 465, 466, 494 +178, 127, 125, 323, 123, 143, 457, 504, 147, 145, 458 +179, 225, 227, 298, 223, 243, 497, 479, 244, 247, 478 +180, 124, 298, 125, 123, 460, 452, 142, 144, 453, 145 +181, 298, 323, 300, 299, 475, 499, 320, 319, 476, 318 +182, 273, 275, 274, 298, 295, 292, 294, 469, 471, 470 +183, 248, 126, 249, 123, 484, 510, 269, 483, 146, 489 +184, 223, 124, 126, 123, 463, 140, 481, 462, 144, 146 +185, 125, 298, 299, 451, 452, 319, 511, 456, 454, 477 +186, 124, 223, 225, 451, 463, 244, 512, 461, 464, 480 +187, 274, 227, 223, 451, 513, 247, 466, 467, 498, 464 +188, 275, 300, 298, 451, 514, 320, 471, 472, 500, 454 +189, 325, 299, 323, 451, 515, 476, 344, 516, 477, 459 +190, 125, 325, 323, 451, 517, 344, 457, 456, 516, 459 +191, 301, 225, 298, 451, 518, 479, 321, 519, 480, 454 +192, 124, 301, 298, 451, 520, 321, 460, 461, 519, 454 +193, 248, 252, 126, 451, 271, 521, 484, 485, 503, 482 +194, 249, 123, 127, 451, 489, 147, 522, 488, 455, 505 +195, 248, 251, 277, 451, 270, 523, 493, 485, 507, 491 +196, 276, 250, 248, 451, 524, 272, 496, 495, 509, 485 +197, 302, 298, 227, 451, 322, 497, 525, 526, 454, 498 +198, 274, 298, 302, 451, 470, 322, 527, 467, 454, 526 +199, 323, 300, 327, 451, 499, 528, 347, 459, 500, 529 +200, 275, 323, 327, 451, 474, 347, 530, 472, 459, 529 +201, 223, 224, 252, 451, 245, 531, 502, 464, 532, 503 +202, 126, 224, 223, 451, 533, 245, 481, 482, 532, 464 +203, 127, 323, 324, 451, 504, 345, 534, 505, 459, 535 +204, 324, 323, 249, 451, 345, 487, 536, 535, 459, 488 +205, 326, 323, 277, 451, 346, 490, 537, 538, 459, 491 +206, 251, 323, 326, 451, 506, 346, 539, 507, 459, 538 +207, 223, 250, 226, 451, 508, 540, 246, 464, 509, 541 +208, 226, 276, 223, 451, 542, 494, 246, 541, 495, 464 +209, 323, 125, 324, 325, 457, 543, 345, 344, 517, 340 +210, 299, 323, 300, 327, 476, 499, 318, 544, 347, 528 +211, 274, 300, 302, 298, 545, 317, 527, 470, 320, 322 +212, 274, 227, 226, 223, 513, 242, 546, 466, 247, 246 +213, 299, 327, 325, 323, 544, 343, 515, 476, 347, 344 +214, 126, 249, 252, 248, 510, 265, 521, 484, 269, 271 +215, 124, 125, 298, 299, 142, 452, 460, 547, 511, 319 +216, 223, 252, 226, 250, 502, 548, 246, 508, 266, 540 +217, 323, 275, 326, 277, 474, 549, 346, 490, 293, 537 +218, 224, 252, 226, 223, 531, 548, 241, 245, 502, 246 +219, 298, 274, 300, 275, 470, 545, 320, 471, 292, 514 +220, 225, 124, 224, 223, 512, 550, 240, 244, 463, 245 +221, 276, 274, 226, 223, 290, 546, 542, 494, 466, 246 +222, 277, 276, 251, 248, 291, 551, 523, 493, 496, 270 +223, 223, 124, 224, 126, 463, 550, 245, 481, 140, 533 +224, 298, 299, 301, 124, 319, 315, 321, 460, 547, 520 +225, 275, 326, 327, 323, 549, 342, 530, 474, 346, 347 +226, 225, 302, 301, 298, 552, 316, 518, 479, 322, 321 +227, 225, 298, 227, 302, 479, 497, 243, 552, 322, 525 +228, 276, 250, 251, 248, 524, 267, 551, 496, 272, 270 +229, 127, 125, 324, 323, 143, 543, 534, 504, 457, 345 +230, 326, 323, 251, 249, 346, 506, 539, 553, 487, 268 +231, 323, 326, 324, 249, 346, 341, 345, 487, 553, 536 +232, 249, 126, 127, 123, 510, 141, 522, 489, 146, 147 +233, 61, 251, 249, 326, 264, 268, 258, 335, 539, 553 +234, 276, 251, 250, 58, 551, 267, 524, 280, 262, 261 +235, 274, 226, 227, 52, 546, 242, 513, 282, 236, 237 +236, 274, 302, 300, 64, 527, 317, 545, 283, 311, 312 +237, 52, 274, 226, 276, 282, 546, 236, 278, 290, 542 +238, 49, 226, 252, 250, 234, 548, 255, 259, 540, 266 +239, 327, 300, 299, 70, 528, 318, 544, 339, 314, 308 +240, 16, 224, 124, 126, 228, 550, 132, 128, 533, 140 +241, 25, 249, 252, 126, 256, 265, 253, 130, 510, 521 +242, 277, 275, 326, 67, 293, 549, 537, 286, 289, 336 +243, 275, 274, 300, 64, 292, 545, 514, 288, 283, 312 +244, 58, 276, 251, 277, 280, 551, 262, 284, 291, 523 +245, 275, 327, 326, 67, 530, 342, 549, 289, 338, 336 +246, 16, 124, 224, 225, 132, 550, 228, 231, 512, 240 +247, 49, 252, 226, 224, 255, 548, 234, 230, 531, 241 +248, 37, 125, 324, 127, 139, 543, 329, 136, 143, 534 +249, 55, 225, 227, 302, 233, 243, 239, 309, 552, 525 +250, 225, 301, 302, 55, 518, 316, 552, 233, 305, 309 +251, 34, 125, 124, 299, 138, 142, 133, 307, 511, 547 +252, 37, 324, 125, 325, 329, 543, 139, 331, 340, 517 +253, 299, 325, 327, 70, 515, 343, 544, 308, 333, 339 +254, 25, 126, 127, 249, 130, 141, 134, 256, 510, 522 +255, 249, 326, 324, 61, 553, 341, 536, 258, 335, 330 +256, 124, 299, 301, 34, 547, 315, 520, 133, 307, 303 +257, 125, 299, 325, 451, 511, 515, 517, 456, 477, 516 +258, 124, 225, 301, 451, 512, 518, 520, 461, 480, 519 +259, 302, 227, 274, 451, 525, 513, 527, 526, 498, 467 +260, 327, 300, 275, 451, 528, 514, 530, 529, 500, 472 +261, 252, 224, 126, 451, 531, 533, 521, 503, 532, 482 +262, 127, 324, 249, 451, 534, 536, 522, 505, 535, 488 +263, 277, 251, 326, 451, 523, 539, 537, 491, 507, 538 +264, 226, 250, 276, 451, 540, 524, 542, 541, 509, 495 +265, 49, 252, 224, 1, 255, 531, 230, 51, 254, 229 +266, 226, 276, 9, 52, 542, 279, 235, 236, 278, 53 +267, 49, 250, 9, 226, 259, 260, 50, 234, 540, 235 +268, 124, 3, 225, 16, 131, 232, 512, 132, 18, 231 +269, 249, 324, 5, 61, 536, 328, 257, 258, 330, 63 +270, 127, 324, 37, 5, 534, 329, 136, 135, 328, 38 +271, 225, 301, 55, 3, 518, 305, 233, 232, 304, 57 +272, 64, 12, 300, 275, 66, 313, 312, 288, 287, 514 +273, 227, 302, 10, 55, 525, 310, 238, 239, 309, 56 +274, 10, 52, 274, 227, 54, 282, 281, 238, 237, 513 +275, 276, 250, 9, 58, 524, 260, 279, 280, 261, 59 +276, 302, 274, 10, 64, 527, 281, 310, 311, 283, 65 +277, 125, 325, 7, 37, 517, 332, 137, 139, 331, 39 +278, 325, 299, 7, 70, 515, 306, 332, 333, 308, 72 +279, 5, 25, 127, 249, 27, 134, 135, 257, 256, 522 +280, 16, 1, 224, 126, 17, 229, 228, 128, 129, 533 +281, 275, 12, 327, 67, 287, 337, 530, 289, 69, 338 +282, 70, 300, 12, 327, 314, 313, 71, 339, 528, 337 +283, 124, 301, 3, 34, 520, 304, 131, 133, 303, 35 +284, 58, 277, 251, 11, 284, 523, 262, 60, 285, 263 +285, 299, 7, 34, 125, 306, 36, 307, 511, 137, 138 +286, 11, 67, 277, 326, 68, 286, 285, 334, 336, 537 +287, 126, 1, 252, 25, 129, 254, 521, 130, 26, 253 +288, 11, 251, 61, 326, 263, 264, 62, 334, 539, 335 +289, 276, 9, 250, 226, 279, 260, 524, 542, 235, 540 +290, 3, 225, 301, 124, 232, 518, 304, 131, 512, 520 +291, 302, 10, 274, 227, 310, 281, 527, 525, 238, 513 +292, 1, 252, 224, 126, 254, 531, 229, 129, 521, 533 +293, 325, 7, 299, 125, 332, 306, 515, 517, 137, 511 +294, 327, 300, 12, 275, 528, 313, 337, 530, 514, 287 +295, 5, 127, 324, 249, 135, 534, 328, 257, 522, 536 +296, 11, 277, 251, 326, 285, 523, 263, 334, 537, 539 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +** written by write_element_sets_material_and_femelement_type function +*ELSET,ELSET=MechanicalMaterialLowSolid +149, +150, +151, +152, +153, +154, +155, +156, +157, +158, +159, +160, +161, +162, +163, +164, +165, +166, +167, +168, +169, +170, +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, +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, +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, +273, +274, +275, +276, +277, +278, +279, +280, +281, +282, +283, +284, +285, +286, +287, +288, +289, +290, +291, +292, +293, +294, +295, +296, +*ELSET,ELSET=MechanicalMaterialUppSolid +1, +2, +3, +4, +5, +6, +7, +8, +9, +10, +11, +12, +13, +14, +15, +16, +17, +18, +19, +20, +21, +22, +23, +24, +25, +26, +27, +28, +29, +30, +31, +32, +33, +34, +35, +36, +37, +38, +39, +40, +41, +42, +43, +44, +45, +46, +47, +48, +49, +50, +51, +52, +53, +54, +55, +56, +57, +58, +59, +60, +61, +62, +63, +64, +65, +66, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +83, +84, +85, +86, +87, +88, +89, +90, +91, +92, +93, +94, +95, +96, +97, +98, +99, +100, +101, +102, +103, +104, +105, +106, +107, +108, +109, +110, +111, +112, +113, +114, +115, +116, +117, +118, +119, +120, +121, +122, +123, +124, +125, +126, +127, +128, +129, +130, +131, +132, +133, +134, +135, +136, +137, +138, +139, +140, +141, +142, +143, +144, +145, +146, +147, +148, + +*********************************************************** +** Node sets for fixed constraint +** written by write_node_sets_constraints_fixed function +** ConstraintFixed +*NSET,NSET=ConstraintFixed +9, +10, +11, +12, +273, +274, +275, +276, +277, +278, +279, +280, +281, +282, +283, +284, +285, +286, +287, +288, +289, +290, +291, +292, +293, +294, +295, +296, +297, +52, +53, +54, +58, +59, +60, +64, +65, +66, +67, +68, +69, + +*********************************************************** +** Materials +** written by write_materials function +** Young's modulus unit is MPa = N/mm2 +** FreeCAD material name: Aluminium-Generic +** MechanicalMaterialLow +*MATERIAL, NAME=MechanicalMaterialLow +*ELASTIC +70000, 0.350 +** FreeCAD material name: Steel-Generic +** MechanicalMaterialUpp +*MATERIAL, NAME=MechanicalMaterialUpp +*ELASTIC +200000, 0.300 + +*********************************************************** +** Sections +** written by write_femelementsets function +*SOLID SECTION, ELSET=MechanicalMaterialLowSolid, MATERIAL=MechanicalMaterialLow +*SOLID SECTION, ELSET=MechanicalMaterialUppSolid, MATERIAL=MechanicalMaterialUpp + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +** written by write_step_begin function +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** written by write_constraints_fixed function +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 + + +*********************************************************** +** Element + CalculiX face + load in [MPa] +** written by write_constraints_pressure function +** ConstraintPressure +*DLOAD +** ConstraintPressure: face load +61,P3,1000.0 +74,P3,1000.0 +75,P3,1000.0 +80,P2,1000.0 +96,P3,1000.0 +99,P3,1000.0 +100,P4,1000.0 +102,P3,1000.0 +117,P3,1000.0 +118,P3,1000.0 +121,P3,1000.0 +124,P4,1000.0 +127,P2,1000.0 +131,P4,1000.0 +132,P4,1000.0 +134,P2,1000.0 + +*********************************************************** +** Outputs --> frd file +** written by write_outputs_types function +*NODE FILE +U +*EL FILE +S, E +** outputs --> dat file +*NODE PRINT , NSET=Nall +U +*EL PRINT , ELSET=Eall +S + +*********************************************************** +** written by write_step_end function +*END STEP + +*********************************************************** +** CalculiX Input file +** written by write_footer function +** written by --> FreeCAD 0.17.13310 (Git) +** written on --> Tue Feb 20 07:42:43 2018 +** file name --> multimat.fcstd +** analysis name --> Analysis +** +** +** +** Units +** +** Geometry (mesh data) --> mm +** Materials (Young's modulus) --> N/mm2 = MPa +** Loads (nodal loads) --> N +** diff --git a/src/Mod/Fem/femtest/testfiles/ccx/multimat_mesh.py b/src/Mod/Fem/femtest/testfiles/ccx/multimat_mesh.py new file mode 100644 index 0000000000..1bea0d599f --- /dev/null +++ b/src/Mod/Fem/femtest/testfiles/ccx/multimat_mesh.py @@ -0,0 +1,857 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 0.0, 10.0, 1) + femmesh.addNode(0.0, 0.0, 20.0, 2) + femmesh.addNode(0.0, 10.0, 10.0, 3) + femmesh.addNode(0.0, 10.0, 20.0, 4) + femmesh.addNode(10.0, 0.0, 10.0, 5) + femmesh.addNode(10.0, 0.0, 20.0, 6) + femmesh.addNode(10.0, 10.0, 10.0, 7) + femmesh.addNode(10.0, 10.0, 20.0, 8) + femmesh.addNode(0.0, 0.0, 0.0, 9) + femmesh.addNode(0.0, 10.0, 0.0, 10) + femmesh.addNode(10.0, 0.0, 0.0, 11) + femmesh.addNode(10.0, 10.0, 0.0, 12) + femmesh.addNode(0.0, 0.0, 15.0, 13) + femmesh.addNode(0.0, 0.0, 12.5, 14) + femmesh.addNode(0.0, 0.0, 17.5, 15) + femmesh.addNode(0.0, 5.0, 10.0, 16) + femmesh.addNode(0.0, 2.5, 10.0, 17) + femmesh.addNode(0.0, 7.5, 10.0, 18) + femmesh.addNode(0.0, 5.0, 20.0, 19) + femmesh.addNode(0.0, 2.5, 20.0, 20) + femmesh.addNode(0.0, 7.5, 20.0, 21) + femmesh.addNode(0.0, 10.0, 15.0, 22) + femmesh.addNode(0.0, 10.0, 12.5, 23) + femmesh.addNode(0.0, 10.0, 17.5, 24) + femmesh.addNode(5.0, 0.0, 10.0, 25) + femmesh.addNode(2.5, 0.0, 10.0, 26) + femmesh.addNode(7.5, 0.0, 10.0, 27) + femmesh.addNode(10.0, 0.0, 15.0, 28) + femmesh.addNode(10.0, 0.0, 12.5, 29) + femmesh.addNode(10.0, 0.0, 17.5, 30) + femmesh.addNode(5.0, 0.0, 20.0, 31) + femmesh.addNode(2.5, 0.0, 20.0, 32) + femmesh.addNode(7.5, 0.0, 20.0, 33) + femmesh.addNode(5.0, 10.0, 10.0, 34) + femmesh.addNode(2.5, 10.0, 10.0, 35) + femmesh.addNode(7.5, 10.0, 10.0, 36) + femmesh.addNode(10.0, 5.0, 10.0, 37) + femmesh.addNode(10.0, 2.5, 10.0, 38) + femmesh.addNode(10.0, 7.5, 10.0, 39) + femmesh.addNode(5.0, 10.0, 20.0, 40) + femmesh.addNode(2.5, 10.0, 20.0, 41) + femmesh.addNode(7.5, 10.0, 20.0, 42) + femmesh.addNode(10.0, 5.0, 20.0, 43) + femmesh.addNode(10.0, 2.5, 20.0, 44) + femmesh.addNode(10.0, 7.5, 20.0, 45) + femmesh.addNode(10.0, 10.0, 15.0, 46) + femmesh.addNode(10.0, 10.0, 12.5, 47) + femmesh.addNode(10.0, 10.0, 17.5, 48) + femmesh.addNode(0.0, 0.0, 5.0, 49) + femmesh.addNode(0.0, 0.0, 2.5, 50) + femmesh.addNode(0.0, 0.0, 7.5, 51) + femmesh.addNode(0.0, 5.0, 0.0, 52) + femmesh.addNode(0.0, 2.5, 0.0, 53) + femmesh.addNode(0.0, 7.5, 0.0, 54) + femmesh.addNode(0.0, 10.0, 5.0, 55) + femmesh.addNode(0.0, 10.0, 2.5, 56) + femmesh.addNode(0.0, 10.0, 7.5, 57) + femmesh.addNode(5.0, 0.0, 0.0, 58) + femmesh.addNode(2.5, 0.0, 0.0, 59) + femmesh.addNode(7.5, 0.0, 0.0, 60) + femmesh.addNode(10.0, 0.0, 5.0, 61) + femmesh.addNode(10.0, 0.0, 2.5, 62) + femmesh.addNode(10.0, 0.0, 7.5, 63) + femmesh.addNode(5.0, 10.0, 0.0, 64) + femmesh.addNode(2.5, 10.0, 0.0, 65) + femmesh.addNode(7.5, 10.0, 0.0, 66) + femmesh.addNode(10.0, 5.0, 0.0, 67) + femmesh.addNode(10.0, 2.5, 0.0, 68) + femmesh.addNode(10.0, 7.5, 0.0, 69) + femmesh.addNode(10.0, 10.0, 5.0, 70) + femmesh.addNode(10.0, 10.0, 2.5, 71) + femmesh.addNode(10.0, 10.0, 7.5, 72) + femmesh.addNode(0.0, 5.0, 15.0, 73) + femmesh.addNode(0.0, 2.5, 12.5, 74) + femmesh.addNode(0.0, 2.5, 17.5, 75) + femmesh.addNode(0.0, 7.5, 12.5, 76) + femmesh.addNode(0.0, 7.5, 17.5, 77) + femmesh.addNode(0.0, 1.25, 13.75, 78) + femmesh.addNode(0.0, 1.25, 11.25, 79) + femmesh.addNode(0.0, 3.75, 11.25, 80) + femmesh.addNode(0.0, 1.25, 16.25, 81) + femmesh.addNode(0.0, 1.25, 18.75, 82) + femmesh.addNode(0.0, 3.75, 18.75, 83) + femmesh.addNode(0.0, 6.25, 11.25, 84) + femmesh.addNode(0.0, 8.75, 11.25, 85) + femmesh.addNode(0.0, 8.75, 13.75, 86) + femmesh.addNode(0.0, 6.25, 18.75, 87) + femmesh.addNode(0.0, 8.75, 18.75, 88) + femmesh.addNode(0.0, 8.75, 16.25, 89) + femmesh.addNode(0.0, 2.5, 15.0, 90) + femmesh.addNode(0.0, 5.0, 12.5, 91) + femmesh.addNode(0.0, 5.0, 17.5, 92) + femmesh.addNode(0.0, 7.5, 15.0, 93) + femmesh.addNode(0.0, 3.75, 16.25, 94) + femmesh.addNode(0.0, 3.75, 13.75, 95) + femmesh.addNode(0.0, 6.25, 13.75, 96) + femmesh.addNode(0.0, 6.25, 16.25, 97) + femmesh.addNode(5.0, 0.0, 15.0, 98) + femmesh.addNode(7.5, 0.0, 12.5, 99) + femmesh.addNode(7.5, 0.0, 17.5, 100) + femmesh.addNode(2.5, 0.0, 12.5, 101) + femmesh.addNode(2.5, 0.0, 17.5, 102) + femmesh.addNode(1.25, 0.0, 11.25, 103) + femmesh.addNode(1.25, 0.0, 13.75, 104) + femmesh.addNode(3.75, 0.0, 11.25, 105) + femmesh.addNode(1.25, 0.0, 16.25, 106) + femmesh.addNode(1.25, 0.0, 18.75, 107) + femmesh.addNode(3.75, 0.0, 18.75, 108) + femmesh.addNode(8.75, 0.0, 11.25, 109) + femmesh.addNode(6.25, 0.0, 11.25, 110) + femmesh.addNode(8.75, 0.0, 13.75, 111) + femmesh.addNode(8.75, 0.0, 18.75, 112) + femmesh.addNode(8.75, 0.0, 16.25, 113) + femmesh.addNode(6.25, 0.0, 18.75, 114) + femmesh.addNode(2.5, 0.0, 15.0, 115) + femmesh.addNode(5.0, 0.0, 12.5, 116) + femmesh.addNode(7.5, 0.0, 15.0, 117) + femmesh.addNode(5.0, 0.0, 17.5, 118) + femmesh.addNode(6.25, 0.0, 13.75, 119) + femmesh.addNode(6.25, 0.0, 16.25, 120) + femmesh.addNode(3.75, 0.0, 13.75, 121) + femmesh.addNode(3.75, 0.0, 16.25, 122) + femmesh.addNode(5.0, 5.0, 10.0, 123) + femmesh.addNode(2.5, 7.5, 10.0, 124) + femmesh.addNode(7.5, 7.5, 10.0, 125) + femmesh.addNode(2.5, 2.5, 10.0, 126) + femmesh.addNode(7.5, 2.5, 10.0, 127) + femmesh.addNode(1.25, 3.75, 10.0, 128) + femmesh.addNode(1.25, 1.25, 10.0, 129) + femmesh.addNode(3.75, 1.25, 10.0, 130) + femmesh.addNode(1.25, 8.75, 10.0, 131) + femmesh.addNode(1.25, 6.25, 10.0, 132) + femmesh.addNode(3.75, 8.75, 10.0, 133) + femmesh.addNode(6.25, 1.25, 10.0, 134) + femmesh.addNode(8.75, 1.25, 10.0, 135) + femmesh.addNode(8.75, 3.75, 10.0, 136) + femmesh.addNode(8.75, 8.75, 10.0, 137) + femmesh.addNode(6.25, 8.75, 10.0, 138) + femmesh.addNode(8.75, 6.25, 10.0, 139) + femmesh.addNode(2.5, 5.0, 10.0, 140) + femmesh.addNode(5.0, 2.5, 10.0, 141) + femmesh.addNode(5.0, 7.5, 10.0, 142) + femmesh.addNode(7.5, 5.0, 10.0, 143) + femmesh.addNode(3.75, 6.25, 10.0, 144) + femmesh.addNode(6.25, 6.25, 10.0, 145) + femmesh.addNode(3.75, 3.75, 10.0, 146) + femmesh.addNode(6.25, 3.75, 10.0, 147) + femmesh.addNode(5.0, 5.0, 20.0, 148) + femmesh.addNode(2.5, 7.5, 20.0, 149) + femmesh.addNode(7.5, 7.5, 20.0, 150) + femmesh.addNode(2.5, 2.5, 20.0, 151) + femmesh.addNode(7.5, 2.5, 20.0, 152) + femmesh.addNode(1.25, 3.75, 20.0, 153) + femmesh.addNode(1.25, 1.25, 20.0, 154) + femmesh.addNode(3.75, 1.25, 20.0, 155) + femmesh.addNode(1.25, 6.25, 20.0, 156) + femmesh.addNode(1.25, 8.75, 20.0, 157) + femmesh.addNode(3.75, 8.75, 20.0, 158) + femmesh.addNode(6.25, 1.25, 20.0, 159) + femmesh.addNode(8.75, 1.25, 20.0, 160) + femmesh.addNode(8.75, 3.75, 20.0, 161) + femmesh.addNode(6.25, 8.75, 20.0, 162) + femmesh.addNode(8.75, 8.75, 20.0, 163) + femmesh.addNode(8.75, 6.25, 20.0, 164) + femmesh.addNode(2.5, 5.0, 20.0, 165) + femmesh.addNode(5.0, 2.5, 20.0, 166) + femmesh.addNode(5.0, 7.5, 20.0, 167) + femmesh.addNode(7.5, 5.0, 20.0, 168) + femmesh.addNode(3.75, 6.25, 20.0, 169) + femmesh.addNode(6.25, 6.25, 20.0, 170) + femmesh.addNode(3.75, 3.75, 20.0, 171) + femmesh.addNode(6.25, 3.75, 20.0, 172) + femmesh.addNode(5.0, 10.0, 15.0, 173) + femmesh.addNode(2.5, 10.0, 12.5, 174) + femmesh.addNode(7.5, 10.0, 12.5, 175) + femmesh.addNode(7.5, 10.0, 17.5, 176) + femmesh.addNode(2.5, 10.0, 17.5, 177) + femmesh.addNode(1.25, 10.0, 13.75, 178) + femmesh.addNode(1.25, 10.0, 11.25, 179) + femmesh.addNode(3.75, 10.0, 11.25, 180) + femmesh.addNode(1.25, 10.0, 16.25, 181) + femmesh.addNode(1.25, 10.0, 18.75, 182) + femmesh.addNode(3.75, 10.0, 18.75, 183) + femmesh.addNode(6.25, 10.0, 11.25, 184) + femmesh.addNode(8.75, 10.0, 11.25, 185) + femmesh.addNode(8.75, 10.0, 13.75, 186) + femmesh.addNode(6.25, 10.0, 18.75, 187) + femmesh.addNode(8.75, 10.0, 18.75, 188) + femmesh.addNode(8.75, 10.0, 16.25, 189) + femmesh.addNode(2.5, 10.0, 15.0, 190) + femmesh.addNode(5.0, 10.0, 12.5, 191) + femmesh.addNode(5.0, 10.0, 17.5, 192) + femmesh.addNode(7.5, 10.0, 15.0, 193) + femmesh.addNode(3.75, 10.0, 13.75, 194) + femmesh.addNode(6.25, 10.0, 13.75, 195) + femmesh.addNode(3.75, 10.0, 16.25, 196) + femmesh.addNode(6.25, 10.0, 16.25, 197) + femmesh.addNode(10.0, 5.0, 15.0, 198) + femmesh.addNode(10.0, 2.5, 12.5, 199) + femmesh.addNode(10.0, 2.5, 17.5, 200) + femmesh.addNode(10.0, 7.5, 12.5, 201) + femmesh.addNode(10.0, 7.5, 17.5, 202) + femmesh.addNode(10.0, 1.25, 11.25, 203) + femmesh.addNode(10.0, 1.25, 13.75, 204) + femmesh.addNode(10.0, 3.75, 11.25, 205) + femmesh.addNode(10.0, 1.25, 16.25, 206) + femmesh.addNode(10.0, 1.25, 18.75, 207) + femmesh.addNode(10.0, 3.75, 18.75, 208) + femmesh.addNode(10.0, 8.75, 11.25, 209) + femmesh.addNode(10.0, 6.25, 11.25, 210) + femmesh.addNode(10.0, 8.75, 13.75, 211) + femmesh.addNode(10.0, 6.25, 18.75, 212) + femmesh.addNode(10.0, 8.75, 18.75, 213) + femmesh.addNode(10.0, 8.75, 16.25, 214) + femmesh.addNode(10.0, 2.5, 15.0, 215) + femmesh.addNode(10.0, 5.0, 12.5, 216) + femmesh.addNode(10.0, 5.0, 17.5, 217) + femmesh.addNode(10.0, 7.5, 15.0, 218) + femmesh.addNode(10.0, 3.75, 16.25, 219) + femmesh.addNode(10.0, 3.75, 13.75, 220) + femmesh.addNode(10.0, 6.25, 13.75, 221) + femmesh.addNode(10.0, 6.25, 16.25, 222) + femmesh.addNode(0.0, 5.0, 5.0, 223) + femmesh.addNode(0.0, 2.5, 7.5, 224) + femmesh.addNode(0.0, 7.5, 7.5, 225) + femmesh.addNode(0.0, 2.5, 2.5, 226) + femmesh.addNode(0.0, 7.5, 2.5, 227) + femmesh.addNode(0.0, 3.75, 8.75, 228) + femmesh.addNode(0.0, 1.25, 8.75, 229) + femmesh.addNode(0.0, 1.25, 6.25, 230) + femmesh.addNode(0.0, 6.25, 8.75, 231) + femmesh.addNode(0.0, 8.75, 8.75, 232) + femmesh.addNode(0.0, 8.75, 6.25, 233) + femmesh.addNode(0.0, 1.25, 3.75, 234) + femmesh.addNode(0.0, 1.25, 1.25, 235) + femmesh.addNode(0.0, 3.75, 1.25, 236) + femmesh.addNode(0.0, 6.25, 1.25, 237) + femmesh.addNode(0.0, 8.75, 1.25, 238) + femmesh.addNode(0.0, 8.75, 3.75, 239) + femmesh.addNode(0.0, 5.0, 7.5, 240) + femmesh.addNode(0.0, 2.5, 5.0, 241) + femmesh.addNode(0.0, 5.0, 2.5, 242) + femmesh.addNode(0.0, 7.5, 5.0, 243) + femmesh.addNode(0.0, 6.25, 6.25, 244) + femmesh.addNode(0.0, 3.75, 6.25, 245) + femmesh.addNode(0.0, 3.75, 3.75, 246) + femmesh.addNode(0.0, 6.25, 3.75, 247) + femmesh.addNode(5.0, 0.0, 5.0, 248) + femmesh.addNode(7.5, 0.0, 7.5, 249) + femmesh.addNode(2.5, 0.0, 2.5, 250) + femmesh.addNode(7.5, 0.0, 2.5, 251) + femmesh.addNode(2.5, 0.0, 7.5, 252) + femmesh.addNode(3.75, 0.0, 8.75, 253) + femmesh.addNode(1.25, 0.0, 8.75, 254) + femmesh.addNode(1.25, 0.0, 6.25, 255) + femmesh.addNode(6.25, 0.0, 8.75, 256) + femmesh.addNode(8.75, 0.0, 8.75, 257) + femmesh.addNode(8.75, 0.0, 6.25, 258) + femmesh.addNode(1.25, 0.0, 3.75, 259) + femmesh.addNode(1.25, 0.0, 1.25, 260) + femmesh.addNode(3.75, 0.0, 1.25, 261) + femmesh.addNode(6.25, 0.0, 1.25, 262) + femmesh.addNode(8.75, 0.0, 1.25, 263) + femmesh.addNode(8.75, 0.0, 3.75, 264) + femmesh.addNode(5.0, 0.0, 7.5, 265) + femmesh.addNode(2.5, 0.0, 5.0, 266) + femmesh.addNode(5.0, 0.0, 2.5, 267) + femmesh.addNode(7.5, 0.0, 5.0, 268) + femmesh.addNode(6.25, 0.0, 6.25, 269) + femmesh.addNode(6.25, 0.0, 3.75, 270) + femmesh.addNode(3.75, 0.0, 6.25, 271) + femmesh.addNode(3.75, 0.0, 3.75, 272) + femmesh.addNode(5.0, 5.0, 0.0, 273) + femmesh.addNode(2.5, 7.5, 0.0, 274) + femmesh.addNode(7.5, 7.5, 0.0, 275) + femmesh.addNode(2.5, 2.5, 0.0, 276) + femmesh.addNode(7.5, 2.5, 0.0, 277) + femmesh.addNode(1.25, 3.75, 0.0, 278) + femmesh.addNode(1.25, 1.25, 0.0, 279) + femmesh.addNode(3.75, 1.25, 0.0, 280) + femmesh.addNode(1.25, 8.75, 0.0, 281) + femmesh.addNode(1.25, 6.25, 0.0, 282) + femmesh.addNode(3.75, 8.75, 0.0, 283) + femmesh.addNode(6.25, 1.25, 0.0, 284) + femmesh.addNode(8.75, 1.25, 0.0, 285) + femmesh.addNode(8.75, 3.75, 0.0, 286) + femmesh.addNode(8.75, 8.75, 0.0, 287) + femmesh.addNode(6.25, 8.75, 0.0, 288) + femmesh.addNode(8.75, 6.25, 0.0, 289) + femmesh.addNode(2.5, 5.0, 0.0, 290) + femmesh.addNode(5.0, 2.5, 0.0, 291) + femmesh.addNode(5.0, 7.5, 0.0, 292) + femmesh.addNode(7.5, 5.0, 0.0, 293) + femmesh.addNode(3.75, 6.25, 0.0, 294) + femmesh.addNode(6.25, 6.25, 0.0, 295) + femmesh.addNode(3.75, 3.75, 0.0, 296) + femmesh.addNode(6.25, 3.75, 0.0, 297) + femmesh.addNode(5.0, 10.0, 5.0, 298) + femmesh.addNode(7.5, 10.0, 7.5, 299) + femmesh.addNode(7.5, 10.0, 2.5, 300) + femmesh.addNode(2.5, 10.0, 7.5, 301) + femmesh.addNode(2.5, 10.0, 2.5, 302) + femmesh.addNode(3.75, 10.0, 8.75, 303) + femmesh.addNode(1.25, 10.0, 8.75, 304) + femmesh.addNode(1.25, 10.0, 6.25, 305) + femmesh.addNode(8.75, 10.0, 8.75, 306) + femmesh.addNode(6.25, 10.0, 8.75, 307) + femmesh.addNode(8.75, 10.0, 6.25, 308) + femmesh.addNode(1.25, 10.0, 3.75, 309) + femmesh.addNode(1.25, 10.0, 1.25, 310) + femmesh.addNode(3.75, 10.0, 1.25, 311) + femmesh.addNode(6.25, 10.0, 1.25, 312) + femmesh.addNode(8.75, 10.0, 1.25, 313) + femmesh.addNode(8.75, 10.0, 3.75, 314) + femmesh.addNode(5.0, 10.0, 7.5, 315) + femmesh.addNode(2.5, 10.0, 5.0, 316) + femmesh.addNode(5.0, 10.0, 2.5, 317) + femmesh.addNode(7.5, 10.0, 5.0, 318) + femmesh.addNode(6.25, 10.0, 6.25, 319) + femmesh.addNode(6.25, 10.0, 3.75, 320) + femmesh.addNode(3.75, 10.0, 6.25, 321) + femmesh.addNode(3.75, 10.0, 3.75, 322) + femmesh.addNode(10.0, 5.0, 5.0, 323) + femmesh.addNode(10.0, 2.5, 7.5, 324) + femmesh.addNode(10.0, 7.5, 7.5, 325) + femmesh.addNode(10.0, 2.5, 2.5, 326) + femmesh.addNode(10.0, 7.5, 2.5, 327) + femmesh.addNode(10.0, 1.25, 8.75, 328) + femmesh.addNode(10.0, 3.75, 8.75, 329) + femmesh.addNode(10.0, 1.25, 6.25, 330) + femmesh.addNode(10.0, 6.25, 8.75, 331) + femmesh.addNode(10.0, 8.75, 8.75, 332) + femmesh.addNode(10.0, 8.75, 6.25, 333) + femmesh.addNode(10.0, 1.25, 1.25, 334) + femmesh.addNode(10.0, 1.25, 3.75, 335) + femmesh.addNode(10.0, 3.75, 1.25, 336) + femmesh.addNode(10.0, 8.75, 1.25, 337) + femmesh.addNode(10.0, 6.25, 1.25, 338) + femmesh.addNode(10.0, 8.75, 3.75, 339) + femmesh.addNode(10.0, 5.0, 7.5, 340) + femmesh.addNode(10.0, 2.5, 5.0, 341) + femmesh.addNode(10.0, 5.0, 2.5, 342) + femmesh.addNode(10.0, 7.5, 5.0, 343) + femmesh.addNode(10.0, 6.25, 6.25, 344) + femmesh.addNode(10.0, 3.75, 6.25, 345) + femmesh.addNode(10.0, 3.75, 3.75, 346) + femmesh.addNode(10.0, 6.25, 3.75, 347) + femmesh.addNode(5.0, 5.0, 15.0, 348) + femmesh.addNode(2.5, 7.5, 15.0, 349) + femmesh.addNode(1.25, 7.5, 16.25, 350) + femmesh.addNode(2.5, 5.0, 15.0, 351) + femmesh.addNode(3.75, 7.5, 16.25, 352) + femmesh.addNode(5.0, 7.5, 15.0, 353) + femmesh.addNode(5.0, 7.5, 17.5, 354) + femmesh.addNode(3.75, 7.5, 18.75, 355) + femmesh.addNode(5.0, 5.0, 17.5, 356) + femmesh.addNode(2.5, 5.0, 12.5, 357) + femmesh.addNode(1.25, 6.25, 12.5, 358) + femmesh.addNode(3.75, 6.25, 12.5, 359) + femmesh.addNode(5.0, 5.0, 12.5, 360) + femmesh.addNode(5.0, 7.5, 12.5, 361) + femmesh.addNode(3.75, 8.75, 12.5, 362) + femmesh.addNode(2.5, 6.25, 18.75, 363) + femmesh.addNode(2.5, 5.0, 17.5, 364) + femmesh.addNode(2.5, 6.25, 16.25, 365) + femmesh.addNode(6.25, 7.5, 18.75, 366) + femmesh.addNode(6.25, 7.5, 16.25, 367) + femmesh.addNode(7.5, 7.5, 15.0, 368) + femmesh.addNode(8.75, 7.5, 16.25, 369) + femmesh.addNode(7.5, 5.0, 15.0, 370) + femmesh.addNode(8.75, 7.5, 13.75, 371) + femmesh.addNode(6.25, 7.5, 13.75, 372) + femmesh.addNode(6.25, 7.5, 11.25, 373) + femmesh.addNode(3.75, 2.5, 18.75, 374) + femmesh.addNode(5.0, 2.5, 17.5, 375) + femmesh.addNode(3.75, 2.5, 16.25, 376) + femmesh.addNode(5.0, 2.5, 15.0, 377) + femmesh.addNode(2.5, 2.5, 15.0, 378) + femmesh.addNode(1.25, 2.5, 16.25, 379) + femmesh.addNode(1.25, 2.5, 13.75, 380) + femmesh.addNode(3.75, 2.5, 13.75, 381) + femmesh.addNode(5.0, 2.5, 12.5, 382) + femmesh.addNode(3.75, 2.5, 11.25, 383) + femmesh.addNode(2.5, 8.75, 13.75, 384) + femmesh.addNode(2.5, 6.25, 13.75, 385) + femmesh.addNode(7.5, 5.0, 17.5, 386) + femmesh.addNode(7.5, 6.25, 18.75, 387) + femmesh.addNode(7.5, 6.25, 16.25, 388) + femmesh.addNode(8.75, 6.25, 12.5, 389) + femmesh.addNode(7.5, 5.0, 12.5, 390) + femmesh.addNode(6.25, 6.25, 12.5, 391) + femmesh.addNode(7.5, 2.5, 15.0, 392) + femmesh.addNode(7.5, 1.25, 16.25, 393) + femmesh.addNode(7.5, 3.75, 16.25, 394) + femmesh.addNode(7.5, 3.75, 18.75, 395) + femmesh.addNode(6.25, 2.5, 11.25, 396) + femmesh.addNode(6.25, 2.5, 13.75, 397) + femmesh.addNode(8.75, 2.5, 13.75, 398) + femmesh.addNode(2.5, 3.75, 18.75, 399) + femmesh.addNode(2.5, 3.75, 16.25, 400) + femmesh.addNode(2.5, 3.75, 11.25, 401) + femmesh.addNode(2.5, 3.75, 13.75, 402) + femmesh.addNode(6.25, 2.5, 18.75, 403) + femmesh.addNode(6.25, 2.5, 16.25, 404) + femmesh.addNode(8.75, 3.75, 12.5, 405) + femmesh.addNode(6.25, 3.75, 12.5, 406) + femmesh.addNode(1.25, 8.75, 15.0, 407) + femmesh.addNode(1.25, 5.0, 11.25, 408) + femmesh.addNode(8.75, 1.25, 15.0, 409) + femmesh.addNode(5.0, 8.75, 11.25, 410) + femmesh.addNode(1.25, 8.75, 17.5, 411) + femmesh.addNode(1.25, 7.5, 11.25, 412) + femmesh.addNode(2.5, 8.75, 18.75, 413) + femmesh.addNode(3.75, 6.25, 17.5, 414) + femmesh.addNode(1.25, 7.5, 18.75, 415) + femmesh.addNode(8.75, 8.75, 17.5, 416) + femmesh.addNode(7.5, 8.75, 11.25, 417) + femmesh.addNode(1.25, 1.25, 17.5, 418) + femmesh.addNode(1.25, 1.25, 12.5, 419) + femmesh.addNode(2.5, 8.75, 11.25, 420) + femmesh.addNode(3.75, 7.5, 13.75, 421) + femmesh.addNode(1.25, 8.75, 12.5, 422) + femmesh.addNode(7.5, 8.75, 18.75, 423) + femmesh.addNode(6.25, 6.25, 17.5, 424) + femmesh.addNode(8.75, 7.5, 18.75, 425) + femmesh.addNode(8.75, 8.75, 12.5, 426) + femmesh.addNode(7.5, 6.25, 13.75, 427) + femmesh.addNode(8.75, 7.5, 11.25, 428) + femmesh.addNode(8.75, 1.25, 17.5, 429) + femmesh.addNode(7.5, 1.25, 11.25, 430) + femmesh.addNode(2.5, 1.25, 18.75, 431) + femmesh.addNode(3.75, 3.75, 17.5, 432) + femmesh.addNode(1.25, 2.5, 18.75, 433) + femmesh.addNode(2.5, 1.25, 11.25, 434) + femmesh.addNode(3.75, 3.75, 12.5, 435) + femmesh.addNode(1.25, 2.5, 11.25, 436) + femmesh.addNode(8.75, 2.5, 18.75, 437) + femmesh.addNode(6.25, 3.75, 17.5, 438) + femmesh.addNode(7.5, 1.25, 18.75, 439) + femmesh.addNode(8.75, 1.25, 12.5, 440) + femmesh.addNode(7.5, 3.75, 13.75, 441) + femmesh.addNode(8.75, 2.5, 11.25, 442) + femmesh.addNode(5.0, 8.75, 18.75, 443) + femmesh.addNode(5.0, 1.25, 11.25, 444) + femmesh.addNode(8.75, 8.75, 15.0, 445) + femmesh.addNode(8.75, 5.0, 11.25, 446) + femmesh.addNode(1.25, 1.25, 15.0, 447) + femmesh.addNode(8.75, 5.0, 18.75, 448) + femmesh.addNode(5.0, 1.25, 18.75, 449) + femmesh.addNode(1.25, 5.0, 18.75, 450) + femmesh.addNode(5.0, 5.0, 5.0, 451) + femmesh.addNode(6.25, 8.75, 7.5, 452) + femmesh.addNode(5.0, 7.5, 7.5, 453) + femmesh.addNode(5.0, 7.5, 5.0, 454) + femmesh.addNode(5.0, 5.0, 7.5, 455) + femmesh.addNode(6.25, 6.25, 7.5, 456) + femmesh.addNode(8.75, 6.25, 7.5, 457) + femmesh.addNode(7.5, 5.0, 7.5, 458) + femmesh.addNode(7.5, 5.0, 5.0, 459) + femmesh.addNode(3.75, 8.75, 7.5, 460) + femmesh.addNode(3.75, 6.25, 7.5, 461) + femmesh.addNode(2.5, 5.0, 7.5, 462) + femmesh.addNode(1.25, 6.25, 7.5, 463) + femmesh.addNode(2.5, 5.0, 5.0, 464) + femmesh.addNode(2.5, 5.0, 2.5, 465) + femmesh.addNode(1.25, 6.25, 2.5, 466) + femmesh.addNode(3.75, 6.25, 2.5, 467) + femmesh.addNode(5.0, 5.0, 2.5, 468) + femmesh.addNode(5.0, 7.5, 2.5, 469) + femmesh.addNode(3.75, 8.75, 2.5, 470) + femmesh.addNode(6.25, 8.75, 2.5, 471) + femmesh.addNode(6.25, 6.25, 2.5, 472) + femmesh.addNode(7.5, 5.0, 2.5, 473) + femmesh.addNode(8.75, 6.25, 2.5, 474) + femmesh.addNode(7.5, 7.5, 5.0, 475) + femmesh.addNode(8.75, 7.5, 6.25, 476) + femmesh.addNode(6.25, 7.5, 6.25, 477) + femmesh.addNode(2.5, 7.5, 5.0, 478) + femmesh.addNode(2.5, 8.75, 6.25, 479) + femmesh.addNode(2.5, 6.25, 6.25, 480) + femmesh.addNode(1.25, 3.75, 7.5, 481) + femmesh.addNode(3.75, 3.75, 7.5, 482) + femmesh.addNode(5.0, 2.5, 7.5, 483) + femmesh.addNode(3.75, 1.25, 7.5, 484) + femmesh.addNode(5.0, 2.5, 5.0, 485) + femmesh.addNode(7.5, 2.5, 5.0, 486) + femmesh.addNode(8.75, 2.5, 6.25, 487) + femmesh.addNode(6.25, 2.5, 6.25, 488) + femmesh.addNode(6.25, 2.5, 8.75, 489) + femmesh.addNode(8.75, 3.75, 2.5, 490) + femmesh.addNode(6.25, 3.75, 2.5, 491) + femmesh.addNode(5.0, 2.5, 2.5, 492) + femmesh.addNode(6.25, 1.25, 2.5, 493) + femmesh.addNode(1.25, 3.75, 2.5, 494) + femmesh.addNode(3.75, 3.75, 2.5, 495) + femmesh.addNode(3.75, 1.25, 2.5, 496) + femmesh.addNode(2.5, 8.75, 3.75, 497) + femmesh.addNode(2.5, 6.25, 3.75, 498) + femmesh.addNode(8.75, 7.5, 3.75, 499) + femmesh.addNode(6.25, 7.5, 3.75, 500) + femmesh.addNode(2.5, 2.5, 5.0, 501) + femmesh.addNode(1.25, 2.5, 6.25, 502) + femmesh.addNode(3.75, 2.5, 6.25, 503) + femmesh.addNode(8.75, 3.75, 7.5, 504) + femmesh.addNode(6.25, 3.75, 7.5, 505) + femmesh.addNode(8.75, 2.5, 3.75, 506) + femmesh.addNode(6.25, 2.5, 3.75, 507) + femmesh.addNode(1.25, 2.5, 3.75, 508) + femmesh.addNode(3.75, 2.5, 3.75, 509) + femmesh.addNode(5.0, 1.25, 8.75, 510) + femmesh.addNode(7.5, 8.75, 8.75, 511) + femmesh.addNode(1.25, 7.5, 8.75, 512) + femmesh.addNode(1.25, 7.5, 1.25, 513) + femmesh.addNode(7.5, 8.75, 1.25, 514) + femmesh.addNode(8.75, 8.75, 7.5, 515) + femmesh.addNode(7.5, 6.25, 6.25, 516) + femmesh.addNode(8.75, 7.5, 8.75, 517) + femmesh.addNode(1.25, 8.75, 7.5, 518) + femmesh.addNode(3.75, 7.5, 6.25, 519) + femmesh.addNode(2.5, 8.75, 8.75, 520) + femmesh.addNode(2.5, 1.25, 8.75, 521) + femmesh.addNode(7.5, 1.25, 8.75, 522) + femmesh.addNode(7.5, 1.25, 1.25, 523) + femmesh.addNode(2.5, 1.25, 1.25, 524) + femmesh.addNode(1.25, 8.75, 2.5, 525) + femmesh.addNode(3.75, 7.5, 3.75, 526) + femmesh.addNode(2.5, 8.75, 1.25, 527) + femmesh.addNode(8.75, 8.75, 2.5, 528) + femmesh.addNode(7.5, 6.25, 3.75, 529) + femmesh.addNode(8.75, 7.5, 1.25, 530) + femmesh.addNode(1.25, 1.25, 7.5, 531) + femmesh.addNode(2.5, 3.75, 6.25, 532) + femmesh.addNode(1.25, 2.5, 8.75, 533) + femmesh.addNode(8.75, 2.5, 8.75, 534) + femmesh.addNode(7.5, 3.75, 6.25, 535) + femmesh.addNode(8.75, 1.25, 7.5, 536) + femmesh.addNode(8.75, 2.5, 1.25, 537) + femmesh.addNode(7.5, 3.75, 3.75, 538) + femmesh.addNode(8.75, 1.25, 2.5, 539) + femmesh.addNode(1.25, 1.25, 2.5, 540) + femmesh.addNode(2.5, 3.75, 3.75, 541) + femmesh.addNode(1.25, 2.5, 1.25, 542) + femmesh.addNode(8.75, 5.0, 8.75, 543) + femmesh.addNode(8.75, 8.75, 5.0, 544) + femmesh.addNode(5.0, 8.75, 1.25, 545) + femmesh.addNode(1.25, 5.0, 1.25, 546) + femmesh.addNode(5.0, 8.75, 8.75, 547) + femmesh.addNode(1.25, 1.25, 5.0, 548) + femmesh.addNode(8.75, 5.0, 1.25, 549) + femmesh.addNode(1.25, 5.0, 8.75, 550) + femmesh.addNode(5.0, 1.25, 1.25, 551) + femmesh.addNode(1.25, 8.75, 5.0, 552) + femmesh.addNode(8.75, 1.25, 5.0, 553) + return True + + +def create_elements(femmesh): + # elements + femmesh.addVolume([73, 177, 173, 348, 350, 196, 349, 351, 352, 353], 1) + femmesh.addVolume([177, 148, 173, 348, 355, 354, 196, 352, 356, 353], 2) + femmesh.addVolume([73, 124, 123, 348, 358, 144, 357, 351, 359, 360], 3) + femmesh.addVolume([124, 173, 123, 348, 362, 361, 144, 359, 353, 360], 4) + femmesh.addVolume([77, 73, 148, 348, 97, 364, 363, 365, 351, 356], 5) + femmesh.addVolume([176, 173, 148, 348, 197, 354, 366, 367, 353, 356], 6) + femmesh.addVolume([176, 198, 173, 348, 369, 368, 197, 367, 370, 353], 7) + femmesh.addVolume([198, 175, 173, 348, 371, 195, 368, 370, 372, 353], 8) + femmesh.addVolume([173, 175, 123, 348, 195, 373, 361, 353, 372, 360], 9) + femmesh.addVolume([102, 98, 148, 348, 122, 375, 374, 376, 377, 356], 10) + femmesh.addVolume([102, 73, 98, 348, 379, 378, 122, 376, 351, 377], 11) + femmesh.addVolume([101, 98, 73, 348, 121, 378, 380, 381, 377, 351], 12) + femmesh.addVolume([101, 123, 98, 348, 383, 382, 121, 381, 360, 377], 13) + femmesh.addVolume([76, 73, 173, 348, 96, 349, 384, 385, 351, 353], 14) + femmesh.addVolume([198, 202, 148, 348, 222, 387, 386, 370, 388, 356], 15) + femmesh.addVolume([198, 123, 125, 348, 390, 145, 389, 370, 360, 391], 16) + femmesh.addVolume([200, 98, 198, 348, 393, 392, 219, 394, 377, 370], 17) + femmesh.addVolume([200, 198, 148, 348, 219, 386, 395, 394, 370, 356], 18) + femmesh.addVolume([123, 99, 98, 348, 396, 119, 382, 360, 397, 377], 19) + femmesh.addVolume([99, 198, 98, 348, 398, 392, 119, 397, 370, 377], 20) + femmesh.addVolume([73, 75, 148, 348, 94, 399, 364, 351, 400, 356], 21) + femmesh.addVolume([74, 73, 123, 348, 95, 357, 401, 402, 351, 360], 22) + femmesh.addVolume([100, 148, 98, 348, 403, 375, 120, 404, 356, 377], 23) + femmesh.addVolume([123, 198, 127, 348, 390, 405, 147, 360, 370, 406], 24) + femmesh.addVolume([198, 175, 176, 173, 371, 193, 369, 368, 195, 197], 25) + femmesh.addVolume([76, 73, 177, 173, 96, 350, 407, 384, 349, 196], 26) + femmesh.addVolume([73, 101, 102, 98, 380, 115, 379, 378, 121, 122], 27) + femmesh.addVolume([148, 102, 100, 98, 374, 118, 403, 375, 122, 120], 28) + femmesh.addVolume([148, 176, 177, 173, 366, 192, 355, 354, 197, 196], 29) + femmesh.addVolume([74, 73, 124, 123, 95, 358, 408, 401, 357, 144], 30) + femmesh.addVolume([75, 148, 77, 73, 399, 363, 92, 94, 364, 97], 31) + femmesh.addVolume([200, 98, 99, 198, 393, 119, 409, 219, 392, 398], 32) + femmesh.addVolume([148, 200, 202, 198, 395, 217, 387, 386, 219, 222], 33) + femmesh.addVolume([99, 101, 123, 98, 116, 383, 396, 119, 121, 382], 34) + femmesh.addVolume([127, 123, 125, 198, 147, 145, 143, 405, 390, 389], 35) + femmesh.addVolume([175, 123, 124, 173, 373, 144, 410, 195, 361, 362], 36) + femmesh.addVolume([177, 73, 77, 348, 350, 97, 411, 352, 351, 365], 37) + femmesh.addVolume([124, 73, 76, 348, 358, 96, 412, 359, 351, 385], 38) + femmesh.addVolume([177, 149, 148, 348, 413, 169, 355, 352, 414, 356], 39) + femmesh.addVolume([149, 77, 148, 348, 415, 363, 169, 414, 365, 356], 40) + femmesh.addVolume([176, 202, 198, 348, 416, 222, 369, 367, 388, 370], 41) + femmesh.addVolume([175, 125, 123, 348, 417, 145, 373, 372, 391, 360], 42) + femmesh.addVolume([73, 102, 75, 348, 379, 418, 94, 351, 376, 400], 43) + femmesh.addVolume([74, 101, 73, 348, 419, 380, 95, 402, 381, 351], 44) + femmesh.addVolume([174, 173, 124, 348, 194, 362, 420, 421, 353, 359], 45) + femmesh.addVolume([174, 76, 173, 348, 422, 384, 194, 421, 385, 353], 46) + femmesh.addVolume([148, 150, 176, 348, 170, 423, 366, 356, 424, 367], 47) + femmesh.addVolume([148, 202, 150, 348, 387, 425, 170, 356, 388, 424], 48) + femmesh.addVolume([198, 201, 175, 348, 221, 426, 371, 370, 427, 372], 49) + femmesh.addVolume([198, 125, 201, 348, 389, 428, 221, 370, 391, 427], 50) + femmesh.addVolume([100, 98, 200, 348, 120, 393, 429, 404, 377, 394], 51) + femmesh.addVolume([123, 127, 99, 348, 147, 430, 396, 360, 406, 397], 52) + femmesh.addVolume([102, 148, 151, 348, 374, 171, 431, 376, 356, 432], 53) + femmesh.addVolume([75, 151, 148, 348, 433, 171, 399, 400, 432, 356], 54) + femmesh.addVolume([126, 123, 101, 348, 146, 383, 434, 435, 360, 381], 55) + femmesh.addVolume([126, 74, 123, 348, 436, 401, 146, 435, 402, 360], 56) + femmesh.addVolume([148, 152, 200, 348, 172, 437, 395, 356, 438, 394], 57) + femmesh.addVolume([148, 100, 152, 348, 403, 439, 172, 356, 404, 438], 58) + femmesh.addVolume([99, 199, 198, 348, 440, 220, 398, 397, 441, 370], 59) + femmesh.addVolume([198, 199, 127, 348, 220, 442, 405, 370, 441, 406], 60) + femmesh.addVolume([150, 176, 149, 148, 423, 443, 167, 170, 366, 169], 61) + femmesh.addVolume([101, 126, 127, 123, 434, 141, 444, 383, 146, 147], 62) + femmesh.addVolume([74, 124, 126, 123, 408, 140, 436, 401, 144, 146], 63) + femmesh.addVolume([201, 198, 176, 202, 221, 369, 445, 218, 222, 416], 64) + femmesh.addVolume([176, 177, 149, 148, 192, 413, 443, 366, 355, 169], 65) + femmesh.addVolume([76, 124, 74, 73, 412, 408, 91, 96, 358, 95], 66) + femmesh.addVolume([125, 198, 199, 127, 389, 220, 446, 143, 405, 442], 67) + femmesh.addVolume([123, 101, 99, 127, 383, 116, 396, 147, 444, 430], 68) + femmesh.addVolume([199, 198, 200, 99, 220, 219, 215, 440, 398, 409], 69) + femmesh.addVolume([74, 101, 102, 73, 419, 115, 447, 95, 380, 379], 70) + femmesh.addVolume([201, 175, 176, 198, 426, 193, 445, 221, 371, 369], 71) + femmesh.addVolume([200, 202, 150, 148, 217, 425, 448, 395, 387, 170], 72) + femmesh.addVolume([99, 200, 100, 98, 409, 429, 117, 119, 393, 120], 73) + femmesh.addVolume([152, 200, 150, 148, 437, 448, 168, 172, 395, 170], 74) + femmesh.addVolume([151, 102, 152, 148, 431, 449, 166, 171, 374, 172], 75) + femmesh.addVolume([149, 77, 75, 148, 415, 92, 450, 169, 363, 399], 76) + femmesh.addVolume([148, 152, 100, 102, 172, 439, 403, 374, 449, 118], 77) + femmesh.addVolume([74, 73, 102, 75, 95, 379, 447, 90, 94, 418], 78) + femmesh.addVolume([174, 76, 177, 173, 422, 407, 190, 194, 384, 196], 79) + femmesh.addVolume([149, 148, 75, 151, 169, 399, 450, 165, 171, 433], 80) + femmesh.addVolume([77, 177, 76, 73, 411, 407, 93, 97, 350, 96], 81) + femmesh.addVolume([199, 125, 201, 198, 446, 428, 216, 220, 389, 221], 82) + femmesh.addVolume([175, 125, 124, 123, 417, 142, 410, 373, 145, 144], 83) + femmesh.addVolume([175, 124, 174, 173, 410, 420, 191, 195, 362, 194], 84) + femmesh.addVolume([176, 40, 149, 177, 187, 158, 443, 192, 183, 413], 85) + femmesh.addVolume([200, 43, 150, 202, 208, 164, 448, 217, 212, 425], 86) + femmesh.addVolume([175, 34, 174, 124, 184, 180, 191, 410, 133, 420], 87) + femmesh.addVolume([177, 76, 174, 22, 407, 422, 190, 181, 86, 178], 88) + femmesh.addVolume([76, 16, 74, 124, 84, 80, 91, 412, 132, 408], 89) + femmesh.addVolume([199, 99, 200, 28, 440, 409, 215, 204, 111, 206], 90) + femmesh.addVolume([102, 152, 100, 31, 449, 439, 118, 108, 159, 114], 91) + femmesh.addVolume([99, 127, 101, 25, 430, 444, 116, 110, 134, 105], 92) + femmesh.addVolume([149, 19, 75, 77, 156, 83, 450, 415, 87, 92], 93) + femmesh.addVolume([74, 13, 102, 101, 78, 106, 447, 419, 104, 115], 94) + femmesh.addVolume([201, 125, 199, 37, 428, 446, 216, 210, 139, 205], 95) + femmesh.addVolume([150, 200, 152, 43, 448, 437, 168, 164, 208, 161], 96) + femmesh.addVolume([125, 127, 199, 37, 143, 442, 446, 139, 136, 205], 97) + femmesh.addVolume([77, 22, 76, 177, 89, 86, 93, 411, 181, 407], 98) + femmesh.addVolume([152, 102, 151, 31, 449, 431, 166, 159, 108, 155], 99) + femmesh.addVolume([75, 19, 149, 151, 83, 156, 450, 433, 153, 165], 100) + femmesh.addVolume([100, 200, 99, 28, 429, 409, 117, 113, 206, 111], 101) + femmesh.addVolume([149, 176, 150, 40, 443, 423, 167, 158, 187, 162], 102) + femmesh.addVolume([102, 13, 74, 75, 106, 78, 447, 418, 81, 90], 103) + femmesh.addVolume([176, 46, 201, 202, 189, 211, 445, 416, 214, 218], 104) + femmesh.addVolume([127, 126, 101, 25, 141, 434, 444, 134, 130, 105], 105) + femmesh.addVolume([124, 125, 175, 34, 142, 417, 410, 133, 138, 184], 106) + femmesh.addVolume([126, 124, 74, 16, 140, 408, 436, 128, 132, 80], 107) + femmesh.addVolume([201, 46, 176, 175, 211, 189, 445, 426, 186, 193], 108) + femmesh.addVolume([177, 77, 149, 348, 411, 415, 413, 352, 365, 414], 109) + femmesh.addVolume([174, 124, 76, 348, 420, 412, 422, 421, 359, 385], 110) + femmesh.addVolume([202, 176, 150, 348, 416, 423, 425, 388, 367, 424], 111) + femmesh.addVolume([175, 201, 125, 348, 426, 428, 417, 372, 427, 391], 112) + femmesh.addVolume([102, 151, 75, 348, 431, 433, 418, 376, 432, 400], 113) + femmesh.addVolume([126, 101, 74, 348, 434, 419, 436, 435, 381, 402], 114) + femmesh.addVolume([100, 200, 152, 348, 429, 437, 439, 404, 394, 438], 115) + femmesh.addVolume([99, 127, 199, 348, 430, 442, 440, 397, 406, 441], 116) + femmesh.addVolume([152, 200, 6, 43, 437, 207, 160, 161, 208, 44], 117) + femmesh.addVolume([6, 100, 152, 31, 112, 439, 160, 33, 114, 159], 118) + femmesh.addVolume([3, 174, 76, 22, 179, 422, 85, 23, 178, 86], 119) + femmesh.addVolume([175, 201, 46, 7, 426, 211, 186, 185, 209, 47], 120) + femmesh.addVolume([149, 77, 4, 19, 415, 88, 157, 156, 87, 21], 121) + femmesh.addVolume([4, 177, 22, 77, 182, 181, 24, 88, 411, 89], 122) + femmesh.addVolume([74, 16, 1, 126, 80, 17, 79, 436, 128, 129], 123) + femmesh.addVolume([75, 2, 19, 151, 82, 20, 83, 433, 154, 153], 124) + femmesh.addVolume([76, 124, 3, 16, 412, 131, 85, 84, 132, 18], 125) + femmesh.addVolume([75, 13, 2, 102, 81, 15, 82, 418, 106, 107], 126) + femmesh.addVolume([2, 151, 102, 31, 154, 431, 107, 32, 155, 108], 127) + femmesh.addVolume([13, 74, 1, 101, 78, 79, 14, 104, 419, 103], 128) + femmesh.addVolume([37, 127, 199, 5, 136, 442, 205, 38, 135, 203], 129) + femmesh.addVolume([28, 200, 6, 100, 206, 207, 30, 113, 429, 112], 130) + femmesh.addVolume([176, 150, 40, 8, 423, 162, 187, 188, 163, 42], 131) + femmesh.addVolume([177, 149, 4, 40, 413, 157, 182, 183, 158, 41], 132) + femmesh.addVolume([202, 8, 176, 46, 213, 188, 416, 214, 48, 189], 133) + femmesh.addVolume([43, 150, 202, 8, 164, 425, 212, 45, 163, 213], 134) + femmesh.addVolume([28, 199, 99, 5, 204, 440, 111, 29, 203, 109], 135) + femmesh.addVolume([175, 7, 34, 125, 185, 36, 184, 417, 137, 138], 136) + femmesh.addVolume([3, 124, 174, 34, 131, 420, 179, 35, 133, 180], 137) + femmesh.addVolume([1, 101, 126, 25, 103, 434, 129, 26, 105, 130], 138) + femmesh.addVolume([7, 125, 201, 37, 137, 428, 209, 39, 139, 210], 139) + femmesh.addVolume([99, 127, 25, 5, 430, 134, 110, 109, 135, 27], 140) + femmesh.addVolume([201, 7, 175, 125, 209, 185, 426, 428, 137, 417], 141) + femmesh.addVolume([76, 174, 3, 124, 422, 179, 85, 412, 420, 131], 142) + femmesh.addVolume([4, 149, 177, 77, 157, 413, 182, 88, 415, 411], 143) + femmesh.addVolume([6, 200, 152, 100, 207, 437, 160, 112, 429, 439], 144) + femmesh.addVolume([74, 126, 1, 101, 436, 129, 79, 419, 434, 103], 145) + femmesh.addVolume([75, 102, 2, 151, 418, 107, 82, 433, 431, 154], 146) + femmesh.addVolume([202, 150, 176, 8, 425, 423, 416, 213, 163, 188], 147) + femmesh.addVolume([199, 127, 99, 5, 442, 430, 440, 203, 135, 109], 148) + femmesh.addVolume([298, 123, 125, 451, 453, 145, 452, 454, 455, 456], 149) + femmesh.addVolume([125, 123, 323, 451, 145, 458, 457, 456, 455, 459], 150) + femmesh.addVolume([124, 123, 298, 451, 144, 453, 460, 461, 455, 454], 151) + femmesh.addVolume([124, 223, 123, 451, 463, 462, 144, 461, 464, 455], 152) + femmesh.addVolume([223, 274, 273, 451, 466, 294, 465, 464, 467, 468], 153) + femmesh.addVolume([274, 298, 273, 451, 470, 469, 294, 467, 454, 468], 154) + femmesh.addVolume([298, 275, 273, 451, 471, 295, 469, 454, 472, 468], 155) + femmesh.addVolume([275, 323, 273, 451, 474, 473, 295, 472, 459, 468], 156) + femmesh.addVolume([298, 299, 323, 451, 319, 476, 475, 454, 477, 459], 157) + femmesh.addVolume([223, 225, 298, 451, 244, 479, 478, 464, 480, 454], 158) + femmesh.addVolume([126, 123, 223, 451, 146, 462, 481, 482, 455, 464], 159) + femmesh.addVolume([126, 248, 123, 451, 484, 483, 146, 482, 485, 455], 160) + femmesh.addVolume([323, 249, 248, 451, 487, 269, 486, 459, 488, 485], 161) + femmesh.addVolume([123, 248, 249, 451, 483, 269, 489, 455, 485, 488], 162) + femmesh.addVolume([277, 273, 323, 451, 297, 473, 490, 491, 468, 459], 163) + femmesh.addVolume([277, 248, 273, 451, 493, 492, 297, 491, 485, 468], 164) + femmesh.addVolume([223, 273, 276, 451, 465, 296, 494, 464, 468, 495], 165) + femmesh.addVolume([276, 273, 248, 451, 296, 492, 496, 495, 468, 485], 166) + femmesh.addVolume([298, 227, 223, 451, 497, 247, 478, 454, 498, 464], 167) + femmesh.addVolume([323, 300, 298, 451, 499, 320, 475, 459, 500, 454], 168) + femmesh.addVolume([252, 223, 248, 451, 502, 501, 271, 503, 464, 485], 169) + femmesh.addVolume([123, 127, 323, 451, 147, 504, 458, 455, 505, 459], 170) + femmesh.addVolume([251, 323, 248, 451, 506, 486, 270, 507, 459, 485], 171) + femmesh.addVolume([250, 248, 223, 451, 272, 501, 508, 509, 485, 464], 172) + femmesh.addVolume([252, 223, 250, 248, 502, 508, 266, 271, 501, 272], 173) + femmesh.addVolume([276, 273, 277, 248, 296, 297, 291, 496, 492, 493], 174) + femmesh.addVolume([323, 249, 251, 248, 487, 268, 506, 486, 269, 270], 175) + femmesh.addVolume([277, 273, 275, 323, 297, 295, 293, 490, 473, 474], 176) + femmesh.addVolume([274, 273, 276, 223, 294, 296, 290, 466, 465, 494], 177) + femmesh.addVolume([125, 127, 323, 123, 143, 504, 457, 145, 147, 458], 178) + femmesh.addVolume([227, 225, 298, 223, 243, 479, 497, 247, 244, 478], 179) + femmesh.addVolume([298, 124, 125, 123, 460, 142, 452, 453, 144, 145], 180) + femmesh.addVolume([323, 298, 300, 299, 475, 320, 499, 476, 319, 318], 181) + femmesh.addVolume([275, 273, 274, 298, 295, 294, 292, 471, 469, 470], 182) + femmesh.addVolume([126, 248, 249, 123, 484, 269, 510, 146, 483, 489], 183) + femmesh.addVolume([124, 223, 126, 123, 463, 481, 140, 144, 462, 146], 184) + femmesh.addVolume([298, 125, 299, 451, 452, 511, 319, 454, 456, 477], 185) + femmesh.addVolume([223, 124, 225, 451, 463, 512, 244, 464, 461, 480], 186) + femmesh.addVolume([227, 274, 223, 451, 513, 466, 247, 498, 467, 464], 187) + femmesh.addVolume([300, 275, 298, 451, 514, 471, 320, 500, 472, 454], 188) + femmesh.addVolume([299, 325, 323, 451, 515, 344, 476, 477, 516, 459], 189) + femmesh.addVolume([325, 125, 323, 451, 517, 457, 344, 516, 456, 459], 190) + femmesh.addVolume([225, 301, 298, 451, 518, 321, 479, 480, 519, 454], 191) + femmesh.addVolume([301, 124, 298, 451, 520, 460, 321, 519, 461, 454], 192) + femmesh.addVolume([252, 248, 126, 451, 271, 484, 521, 503, 485, 482], 193) + femmesh.addVolume([123, 249, 127, 451, 489, 522, 147, 455, 488, 505], 194) + femmesh.addVolume([251, 248, 277, 451, 270, 493, 523, 507, 485, 491], 195) + femmesh.addVolume([250, 276, 248, 451, 524, 496, 272, 509, 495, 485], 196) + femmesh.addVolume([298, 302, 227, 451, 322, 525, 497, 454, 526, 498], 197) + femmesh.addVolume([298, 274, 302, 451, 470, 527, 322, 454, 467, 526], 198) + femmesh.addVolume([300, 323, 327, 451, 499, 347, 528, 500, 459, 529], 199) + femmesh.addVolume([323, 275, 327, 451, 474, 530, 347, 459, 472, 529], 200) + femmesh.addVolume([224, 223, 252, 451, 245, 502, 531, 532, 464, 503], 201) + femmesh.addVolume([224, 126, 223, 451, 533, 481, 245, 532, 482, 464], 202) + femmesh.addVolume([323, 127, 324, 451, 504, 534, 345, 459, 505, 535], 203) + femmesh.addVolume([323, 324, 249, 451, 345, 536, 487, 459, 535, 488], 204) + femmesh.addVolume([323, 326, 277, 451, 346, 537, 490, 459, 538, 491], 205) + femmesh.addVolume([323, 251, 326, 451, 506, 539, 346, 459, 507, 538], 206) + femmesh.addVolume([250, 223, 226, 451, 508, 246, 540, 509, 464, 541], 207) + femmesh.addVolume([276, 226, 223, 451, 542, 246, 494, 495, 541, 464], 208) + femmesh.addVolume([125, 323, 324, 325, 457, 345, 543, 517, 344, 340], 209) + femmesh.addVolume([323, 299, 300, 327, 476, 318, 499, 347, 544, 528], 210) + femmesh.addVolume([300, 274, 302, 298, 545, 527, 317, 320, 470, 322], 211) + femmesh.addVolume([227, 274, 226, 223, 513, 546, 242, 247, 466, 246], 212) + femmesh.addVolume([327, 299, 325, 323, 544, 515, 343, 347, 476, 344], 213) + femmesh.addVolume([249, 126, 252, 248, 510, 521, 265, 269, 484, 271], 214) + femmesh.addVolume([125, 124, 298, 299, 142, 460, 452, 511, 547, 319], 215) + femmesh.addVolume([252, 223, 226, 250, 502, 246, 548, 266, 508, 540], 216) + femmesh.addVolume([275, 323, 326, 277, 474, 346, 549, 293, 490, 537], 217) + femmesh.addVolume([252, 224, 226, 223, 531, 241, 548, 502, 245, 246], 218) + femmesh.addVolume([274, 298, 300, 275, 470, 320, 545, 292, 471, 514], 219) + femmesh.addVolume([124, 225, 224, 223, 512, 240, 550, 463, 244, 245], 220) + femmesh.addVolume([274, 276, 226, 223, 290, 542, 546, 466, 494, 246], 221) + femmesh.addVolume([276, 277, 251, 248, 291, 523, 551, 496, 493, 270], 222) + femmesh.addVolume([124, 223, 224, 126, 463, 245, 550, 140, 481, 533], 223) + femmesh.addVolume([299, 298, 301, 124, 319, 321, 315, 547, 460, 520], 224) + femmesh.addVolume([326, 275, 327, 323, 549, 530, 342, 346, 474, 347], 225) + femmesh.addVolume([302, 225, 301, 298, 552, 518, 316, 322, 479, 321], 226) + femmesh.addVolume([298, 225, 227, 302, 479, 243, 497, 322, 552, 525], 227) + femmesh.addVolume([250, 276, 251, 248, 524, 551, 267, 272, 496, 270], 228) + femmesh.addVolume([125, 127, 324, 323, 143, 534, 543, 457, 504, 345], 229) + femmesh.addVolume([323, 326, 251, 249, 346, 539, 506, 487, 553, 268], 230) + femmesh.addVolume([326, 323, 324, 249, 346, 345, 341, 553, 487, 536], 231) + femmesh.addVolume([126, 249, 127, 123, 510, 522, 141, 146, 489, 147], 232) + femmesh.addVolume([251, 61, 249, 326, 264, 258, 268, 539, 335, 553], 233) + femmesh.addVolume([251, 276, 250, 58, 551, 524, 267, 262, 280, 261], 234) + femmesh.addVolume([226, 274, 227, 52, 546, 513, 242, 236, 282, 237], 235) + femmesh.addVolume([302, 274, 300, 64, 527, 545, 317, 311, 283, 312], 236) + femmesh.addVolume([274, 52, 226, 276, 282, 236, 546, 290, 278, 542], 237) + femmesh.addVolume([226, 49, 252, 250, 234, 255, 548, 540, 259, 266], 238) + femmesh.addVolume([300, 327, 299, 70, 528, 544, 318, 314, 339, 308], 239) + femmesh.addVolume([224, 16, 124, 126, 228, 132, 550, 533, 128, 140], 240) + femmesh.addVolume([249, 25, 252, 126, 256, 253, 265, 510, 130, 521], 241) + femmesh.addVolume([275, 277, 326, 67, 293, 537, 549, 289, 286, 336], 242) + femmesh.addVolume([274, 275, 300, 64, 292, 514, 545, 283, 288, 312], 243) + femmesh.addVolume([276, 58, 251, 277, 280, 262, 551, 291, 284, 523], 244) + femmesh.addVolume([327, 275, 326, 67, 530, 549, 342, 338, 289, 336], 245) + femmesh.addVolume([124, 16, 224, 225, 132, 228, 550, 512, 231, 240], 246) + femmesh.addVolume([252, 49, 226, 224, 255, 234, 548, 531, 230, 241], 247) + femmesh.addVolume([125, 37, 324, 127, 139, 329, 543, 143, 136, 534], 248) + femmesh.addVolume([225, 55, 227, 302, 233, 239, 243, 552, 309, 525], 249) + femmesh.addVolume([301, 225, 302, 55, 518, 552, 316, 305, 233, 309], 250) + femmesh.addVolume([125, 34, 124, 299, 138, 133, 142, 511, 307, 547], 251) + femmesh.addVolume([324, 37, 125, 325, 329, 139, 543, 340, 331, 517], 252) + femmesh.addVolume([325, 299, 327, 70, 515, 544, 343, 333, 308, 339], 253) + femmesh.addVolume([126, 25, 127, 249, 130, 134, 141, 510, 256, 522], 254) + femmesh.addVolume([326, 249, 324, 61, 553, 536, 341, 335, 258, 330], 255) + femmesh.addVolume([299, 124, 301, 34, 547, 520, 315, 307, 133, 303], 256) + femmesh.addVolume([299, 125, 325, 451, 511, 517, 515, 477, 456, 516], 257) + femmesh.addVolume([225, 124, 301, 451, 512, 520, 518, 480, 461, 519], 258) + femmesh.addVolume([227, 302, 274, 451, 525, 527, 513, 498, 526, 467], 259) + femmesh.addVolume([300, 327, 275, 451, 528, 530, 514, 500, 529, 472], 260) + femmesh.addVolume([224, 252, 126, 451, 531, 521, 533, 532, 503, 482], 261) + femmesh.addVolume([324, 127, 249, 451, 534, 522, 536, 535, 505, 488], 262) + femmesh.addVolume([251, 277, 326, 451, 523, 537, 539, 507, 491, 538], 263) + femmesh.addVolume([250, 226, 276, 451, 540, 542, 524, 509, 541, 495], 264) + femmesh.addVolume([252, 49, 224, 1, 255, 230, 531, 254, 51, 229], 265) + femmesh.addVolume([276, 226, 9, 52, 542, 235, 279, 278, 236, 53], 266) + femmesh.addVolume([250, 49, 9, 226, 259, 50, 260, 540, 234, 235], 267) + femmesh.addVolume([3, 124, 225, 16, 131, 512, 232, 18, 132, 231], 268) + femmesh.addVolume([324, 249, 5, 61, 536, 257, 328, 330, 258, 63], 269) + femmesh.addVolume([324, 127, 37, 5, 534, 136, 329, 328, 135, 38], 270) + femmesh.addVolume([301, 225, 55, 3, 518, 233, 305, 304, 232, 57], 271) + femmesh.addVolume([12, 64, 300, 275, 66, 312, 313, 287, 288, 514], 272) + femmesh.addVolume([302, 227, 10, 55, 525, 238, 310, 309, 239, 56], 273) + femmesh.addVolume([52, 10, 274, 227, 54, 281, 282, 237, 238, 513], 274) + femmesh.addVolume([250, 276, 9, 58, 524, 279, 260, 261, 280, 59], 275) + femmesh.addVolume([274, 302, 10, 64, 527, 310, 281, 283, 311, 65], 276) + femmesh.addVolume([325, 125, 7, 37, 517, 137, 332, 331, 139, 39], 277) + femmesh.addVolume([299, 325, 7, 70, 515, 332, 306, 308, 333, 72], 278) + femmesh.addVolume([25, 5, 127, 249, 27, 135, 134, 256, 257, 522], 279) + femmesh.addVolume([1, 16, 224, 126, 17, 228, 229, 129, 128, 533], 280) + femmesh.addVolume([12, 275, 327, 67, 287, 530, 337, 69, 289, 338], 281) + femmesh.addVolume([300, 70, 12, 327, 314, 71, 313, 528, 339, 337], 282) + femmesh.addVolume([301, 124, 3, 34, 520, 131, 304, 303, 133, 35], 283) + femmesh.addVolume([277, 58, 251, 11, 284, 262, 523, 285, 60, 263], 284) + femmesh.addVolume([7, 299, 34, 125, 306, 307, 36, 137, 511, 138], 285) + femmesh.addVolume([67, 11, 277, 326, 68, 285, 286, 336, 334, 537], 286) + femmesh.addVolume([1, 126, 252, 25, 129, 521, 254, 26, 130, 253], 287) + femmesh.addVolume([251, 11, 61, 326, 263, 62, 264, 539, 334, 335], 288) + femmesh.addVolume([9, 276, 250, 226, 279, 524, 260, 235, 542, 540], 289) + femmesh.addVolume([225, 3, 301, 124, 232, 304, 518, 512, 131, 520], 290) + femmesh.addVolume([10, 302, 274, 227, 310, 527, 281, 238, 525, 513], 291) + femmesh.addVolume([252, 1, 224, 126, 254, 229, 531, 521, 129, 533], 292) + femmesh.addVolume([7, 325, 299, 125, 332, 515, 306, 137, 517, 511], 293) + femmesh.addVolume([300, 327, 12, 275, 528, 337, 313, 514, 530, 287], 294) + femmesh.addVolume([127, 5, 324, 249, 135, 328, 534, 522, 257, 536], 295) + femmesh.addVolume([277, 11, 251, 326, 285, 263, 523, 537, 334, 539], 296) + return True