FEM: examples, add calculix flexural buckling
This commit is contained in:
committed by
Bernd Hahnebach
parent
8e25fe33dc
commit
c82de2a0f5
@@ -44,6 +44,7 @@ SET(FemExamples_SRCS
|
||||
femexamples/__init__.py
|
||||
femexamples/boxanalysis_static.py
|
||||
femexamples/boxanalysis_frequency.py
|
||||
femexamples/ccx_buckling_flexuralbuckling.py
|
||||
femexamples/ccx_cantilever_faceload.py
|
||||
femexamples/ccx_cantilever_nodeload.py
|
||||
femexamples/ccx_cantilever_hexa20faceload.py
|
||||
@@ -85,6 +86,7 @@ SET(FemExampleMeshes_SRCS
|
||||
femexamples/meshes/mesh_contact_tube_tube_tria3.py
|
||||
femexamples/meshes/mesh_eigenvalue_of_elastic_beam_tetra10.py
|
||||
femexamples/meshes/mesh_electricforce_elmer_nongui6_tetra10.py
|
||||
femexamples/meshes/mesh_flexural_buckling.py
|
||||
femexamples/meshes/mesh_multibodybeam_tetra10.py
|
||||
femexamples/meshes/mesh_multibodybeam_tria6.py
|
||||
femexamples/meshes/mesh_platewithhole_tetra10.py
|
||||
|
||||
177
src/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py
Normal file
177
src/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py
Normal file
@@ -0,0 +1,177 @@
|
||||
# ***************************************************************************
|
||||
# * Copyright (c) 2019 Bernd Hahnebach <bernd@bimstatik.org> *
|
||||
# * Copyright (c) 2020 Sudhanshu Dubey <sudhanshu.thethunder@gmail.com> *
|
||||
# * Copyright (c) 2021 Tobias Vaara <t@vaara.se> *
|
||||
# * *
|
||||
# * This file is part of the FreeCAD CAx development system. *
|
||||
# * *
|
||||
# * 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 *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
|
||||
# to run the example use:
|
||||
"""
|
||||
from femexamples.ccx_buckling_flexuralbuckling import setup
|
||||
setup()
|
||||
|
||||
"""
|
||||
|
||||
# Forum discussion
|
||||
# https://forum.freecadweb.org/viewtopic.php?f=18&t=20217&start=90
|
||||
|
||||
# This example is based on Calculix own verification example.
|
||||
# http://www.feacluster.com/CalculiX/ccx_2.13/doc/ccx/input_deck_viewer.php?input_deck=beam8b.inp
|
||||
|
||||
import FreeCAD
|
||||
import Fem
|
||||
import ObjectsFem
|
||||
|
||||
|
||||
mesh_name = "Mesh" # needs to be Mesh to work with unit tests
|
||||
|
||||
# Example geometry input
|
||||
|
||||
b = 1.5 # Width
|
||||
h = 8 # Height
|
||||
l = 1 # Length
|
||||
|
||||
|
||||
def addbox(
|
||||
docxx, height, width, length,
|
||||
x, y, z, box_name):
|
||||
|
||||
box_obj = docxx.addObject('Part::Box', box_name)
|
||||
box_obj.Height = height
|
||||
box_obj.Width = width
|
||||
box_obj.Length = length
|
||||
box_obj.Placement = FreeCAD.Placement(
|
||||
FreeCAD.Vector(x, y, z),
|
||||
FreeCAD.Rotation(0, 0, 0))
|
||||
|
||||
|
||||
def init_doc(doc=None):
|
||||
if doc is None:
|
||||
doc = FreeCAD.newDocument()
|
||||
return doc
|
||||
|
||||
|
||||
def get_information():
|
||||
info = {"name": "Flexural Buckling Analysis",
|
||||
"meshtype": "solid",
|
||||
"meshelement": "Hexa8",
|
||||
"constraints": ["force", "displacement"],
|
||||
"solvers": ["calculix"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
return info
|
||||
|
||||
|
||||
def setup_base(doc=None, solvertype="ccxtools"):
|
||||
|
||||
# setup box base model
|
||||
if doc is None:
|
||||
doc = init_doc()
|
||||
|
||||
addbox(doc, h, b, l, 0, 0, 0, 'beam')
|
||||
|
||||
doc.recompute()
|
||||
|
||||
geom_obj = doc.beam
|
||||
|
||||
if FreeCAD.GuiUp:
|
||||
geom_obj.ViewObject.Document.activeView().viewAxonometric()
|
||||
geom_obj.ViewObject.Document.activeView().fitAll()
|
||||
|
||||
# analysis
|
||||
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
|
||||
|
||||
# material
|
||||
material_object = analysis.addObject(ObjectsFem.makeMaterialSolid(doc, "MechanicalMaterial"))[0]
|
||||
mat = material_object.Material
|
||||
mat["Name"] = "CalculiX-Steel"
|
||||
mat["YoungsModulus"] = "210000 MPa"
|
||||
mat["PoissonRatio"] = "0.30"
|
||||
mat["Density"] = "7900 kg/m^3"
|
||||
material_object.Material = mat
|
||||
|
||||
# mesh
|
||||
from .meshes.mesh_flexural_buckling import create_nodes, create_elements
|
||||
|
||||
fem_mesh = Fem.FemMesh()
|
||||
control = create_nodes(fem_mesh)
|
||||
if not control:
|
||||
FreeCAD.Console.PrintError("Error on creating nodes.\n")
|
||||
control = create_elements(fem_mesh)
|
||||
if not control:
|
||||
FreeCAD.Console.PrintError("Error on creating elements.\n")
|
||||
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0]
|
||||
femmesh_obj.FemMesh = fem_mesh
|
||||
femmesh_obj.Part = doc.beam
|
||||
|
||||
|
||||
return doc
|
||||
|
||||
|
||||
def setup(doc=None, solvertype="ccxtools"):
|
||||
#setup
|
||||
|
||||
doc = setup_base(doc, solvertype)
|
||||
|
||||
analysis = doc.Analysis
|
||||
|
||||
# solver,
|
||||
if solvertype == "calculix":
|
||||
solver_object = analysis.addObject(
|
||||
ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
|
||||
)[0]
|
||||
elif solvertype == "ccxtools":
|
||||
solver_object = analysis.addObject(
|
||||
ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
|
||||
)[0]
|
||||
solver_object.WorkingDir = u""
|
||||
|
||||
else:
|
||||
FreeCAD.Console.PrintWarning(
|
||||
"Not known or not supported solver type: {}. "
|
||||
"No solver object was created.\n".format(solvertype)
|
||||
)
|
||||
if solvertype == "calculix" or solvertype == "ccxtools":
|
||||
solver_object.SplitInputWriter = False
|
||||
solver_object.AnalysisType = "buckling"
|
||||
solver_object.BucklingFactors = 10
|
||||
solver_object.GeometricalNonlinearity = "linear"
|
||||
solver_object.ThermoMechSteadyState = False
|
||||
solver_object.MatrixSolverType = "default"
|
||||
solver_object.IterationsControlParameterTimeUse = False
|
||||
|
||||
## displacement constraint
|
||||
displacement_constraint = ObjectsFem.makeConstraintFixed(doc, "FemConstraintDisplacement")
|
||||
displacement_constraint.References = [(doc.beam, "Face5")]
|
||||
analysis.addObject(displacement_constraint)
|
||||
|
||||
## force_constraint
|
||||
force_constraint = ObjectsFem.makeConstraintForce(doc, "FemConstraintForce")
|
||||
force_constraint.References = [(doc.beam, "Face6")]
|
||||
force_constraint.Force = 21
|
||||
force_constraint.Reversed = True
|
||||
analysis.addObject(force_constraint)
|
||||
|
||||
doc.recompute()
|
||||
|
||||
return doc
|
||||
|
||||
689
src/Mod/Fem/femexamples/meshes/mesh_flexural_buckling.py
Normal file
689
src/Mod/Fem/femexamples/meshes/mesh_flexural_buckling.py
Normal file
@@ -0,0 +1,689 @@
|
||||
def create_nodes(femmesh):
|
||||
# nodes
|
||||
femmesh.addNode(0.0, 1.5, 0.0, 1)
|
||||
femmesh.addNode(0.0, 1.5, 0.5, 2)
|
||||
femmesh.addNode(0.0, 1.125, 0.5, 3)
|
||||
femmesh.addNode(0.0, 1.125, 0.0, 4)
|
||||
femmesh.addNode(0.25, 1.5, 0.0, 5)
|
||||
femmesh.addNode(0.25, 1.5, 0.5, 6)
|
||||
femmesh.addNode(0.25, 1.125, 0.5, 7)
|
||||
femmesh.addNode(0.25, 1.125, 0.0, 8)
|
||||
femmesh.addNode(0.0, 1.5, 1.0, 9)
|
||||
femmesh.addNode(0.0, 1.125, 1.0, 10)
|
||||
femmesh.addNode(0.25, 1.5, 1.0, 11)
|
||||
femmesh.addNode(0.25, 1.125, 1.0, 12)
|
||||
femmesh.addNode(0.0, 1.5, 1.5, 13)
|
||||
femmesh.addNode(0.0, 1.125, 1.5, 14)
|
||||
femmesh.addNode(0.25, 1.5, 1.5, 15)
|
||||
femmesh.addNode(0.25, 1.125, 1.5, 16)
|
||||
femmesh.addNode(0.0, 1.5, 2.0, 17)
|
||||
femmesh.addNode(0.0, 1.125, 2.0, 18)
|
||||
femmesh.addNode(0.25, 1.5, 2.0, 19)
|
||||
femmesh.addNode(0.25, 1.125, 2.0, 20)
|
||||
femmesh.addNode(0.0, 1.5, 2.5, 21)
|
||||
femmesh.addNode(0.0, 1.125, 2.5, 22)
|
||||
femmesh.addNode(0.25, 1.5, 2.5, 23)
|
||||
femmesh.addNode(0.25, 1.125, 2.5, 24)
|
||||
femmesh.addNode(0.0, 1.5, 3.0, 25)
|
||||
femmesh.addNode(0.0, 1.125, 3.0, 26)
|
||||
femmesh.addNode(0.25, 1.5, 3.0, 27)
|
||||
femmesh.addNode(0.25, 1.125, 3.0, 28)
|
||||
femmesh.addNode(0.0, 1.5, 3.5, 29)
|
||||
femmesh.addNode(0.0, 1.125, 3.5, 30)
|
||||
femmesh.addNode(0.25, 1.5, 3.5, 31)
|
||||
femmesh.addNode(0.25, 1.125, 3.5, 32)
|
||||
femmesh.addNode(0.0, 1.5, 4.0, 33)
|
||||
femmesh.addNode(0.0, 1.125, 4.0, 34)
|
||||
femmesh.addNode(0.25, 1.5, 4.0, 35)
|
||||
femmesh.addNode(0.25, 1.125, 4.0, 36)
|
||||
femmesh.addNode(0.0, 1.5, 4.5, 37)
|
||||
femmesh.addNode(0.0, 1.125, 4.5, 38)
|
||||
femmesh.addNode(0.25, 1.5, 4.5, 39)
|
||||
femmesh.addNode(0.25, 1.125, 4.5, 40)
|
||||
femmesh.addNode(0.0, 1.5, 5.0, 41)
|
||||
femmesh.addNode(0.0, 1.125, 5.0, 42)
|
||||
femmesh.addNode(0.25, 1.5, 5.0, 43)
|
||||
femmesh.addNode(0.25, 1.125, 5.0, 44)
|
||||
femmesh.addNode(0.0, 1.5, 5.5, 45)
|
||||
femmesh.addNode(0.0, 1.125, 5.5, 46)
|
||||
femmesh.addNode(0.25, 1.5, 5.5, 47)
|
||||
femmesh.addNode(0.25, 1.125, 5.5, 48)
|
||||
femmesh.addNode(0.0, 1.5, 6.0, 49)
|
||||
femmesh.addNode(0.0, 1.125, 6.0, 50)
|
||||
femmesh.addNode(0.25, 1.5, 6.0, 51)
|
||||
femmesh.addNode(0.25, 1.125, 6.0, 52)
|
||||
femmesh.addNode(0.0, 1.5, 6.5, 53)
|
||||
femmesh.addNode(0.0, 1.125, 6.5, 54)
|
||||
femmesh.addNode(0.25, 1.5, 6.5, 55)
|
||||
femmesh.addNode(0.25, 1.125, 6.5, 56)
|
||||
femmesh.addNode(0.0, 1.5, 7.0, 57)
|
||||
femmesh.addNode(0.0, 1.125, 7.0, 58)
|
||||
femmesh.addNode(0.25, 1.5, 7.0, 59)
|
||||
femmesh.addNode(0.25, 1.125, 7.0, 60)
|
||||
femmesh.addNode(0.0, 1.5, 7.5, 61)
|
||||
femmesh.addNode(0.0, 1.125, 7.5, 62)
|
||||
femmesh.addNode(0.25, 1.5, 7.5, 63)
|
||||
femmesh.addNode(0.25, 1.125, 7.5, 64)
|
||||
femmesh.addNode(0.0, 1.5, 8.0, 65)
|
||||
femmesh.addNode(0.0, 1.125, 8.0, 66)
|
||||
femmesh.addNode(0.25, 1.5, 8.0, 67)
|
||||
femmesh.addNode(0.25, 1.125, 8.0, 68)
|
||||
femmesh.addNode(0.5, 1.5, 0.0, 69)
|
||||
femmesh.addNode(0.5, 1.5, 0.5, 70)
|
||||
femmesh.addNode(0.5, 1.125, 0.5, 71)
|
||||
femmesh.addNode(0.5, 1.125, 0.0, 72)
|
||||
femmesh.addNode(0.5, 1.5, 1.0, 73)
|
||||
femmesh.addNode(0.5, 1.125, 1.0, 74)
|
||||
femmesh.addNode(0.5, 1.5, 1.5, 75)
|
||||
femmesh.addNode(0.5, 1.125, 1.5, 76)
|
||||
femmesh.addNode(0.5, 1.5, 2.0, 77)
|
||||
femmesh.addNode(0.5, 1.125, 2.0, 78)
|
||||
femmesh.addNode(0.5, 1.5, 2.5, 79)
|
||||
femmesh.addNode(0.5, 1.125, 2.5, 80)
|
||||
femmesh.addNode(0.5, 1.5, 3.0, 81)
|
||||
femmesh.addNode(0.5, 1.125, 3.0, 82)
|
||||
femmesh.addNode(0.5, 1.5, 3.5, 83)
|
||||
femmesh.addNode(0.5, 1.125, 3.5, 84)
|
||||
femmesh.addNode(0.5, 1.5, 4.0, 85)
|
||||
femmesh.addNode(0.5, 1.125, 4.0, 86)
|
||||
femmesh.addNode(0.5, 1.5, 4.5, 87)
|
||||
femmesh.addNode(0.5, 1.125, 4.5, 88)
|
||||
femmesh.addNode(0.5, 1.5, 5.0, 89)
|
||||
femmesh.addNode(0.5, 1.125, 5.0, 90)
|
||||
femmesh.addNode(0.5, 1.5, 5.5, 91)
|
||||
femmesh.addNode(0.5, 1.125, 5.5, 92)
|
||||
femmesh.addNode(0.5, 1.5, 6.0, 93)
|
||||
femmesh.addNode(0.5, 1.125, 6.0, 94)
|
||||
femmesh.addNode(0.5, 1.5, 6.5, 95)
|
||||
femmesh.addNode(0.5, 1.125, 6.5, 96)
|
||||
femmesh.addNode(0.5, 1.5, 7.0, 97)
|
||||
femmesh.addNode(0.5, 1.125, 7.0, 98)
|
||||
femmesh.addNode(0.5, 1.5, 7.5, 99)
|
||||
femmesh.addNode(0.5, 1.125, 7.5, 100)
|
||||
femmesh.addNode(0.5, 1.5, 8.0, 101)
|
||||
femmesh.addNode(0.5, 1.125, 8.0, 102)
|
||||
femmesh.addNode(0.75, 1.5, 0.0, 103)
|
||||
femmesh.addNode(0.75, 1.5, 0.5, 104)
|
||||
femmesh.addNode(0.75, 1.125, 0.5, 105)
|
||||
femmesh.addNode(0.75, 1.125, 0.0, 106)
|
||||
femmesh.addNode(0.75, 1.5, 1.0, 107)
|
||||
femmesh.addNode(0.75, 1.125, 1.0, 108)
|
||||
femmesh.addNode(0.75, 1.5, 1.5, 109)
|
||||
femmesh.addNode(0.75, 1.125, 1.5, 110)
|
||||
femmesh.addNode(0.75, 1.5, 2.0, 111)
|
||||
femmesh.addNode(0.75, 1.125, 2.0, 112)
|
||||
femmesh.addNode(0.75, 1.5, 2.5, 113)
|
||||
femmesh.addNode(0.75, 1.125, 2.5, 114)
|
||||
femmesh.addNode(0.75, 1.5, 3.0, 115)
|
||||
femmesh.addNode(0.75, 1.125, 3.0, 116)
|
||||
femmesh.addNode(0.75, 1.5, 3.5, 117)
|
||||
femmesh.addNode(0.75, 1.125, 3.5, 118)
|
||||
femmesh.addNode(0.75, 1.5, 4.0, 119)
|
||||
femmesh.addNode(0.75, 1.125, 4.0, 120)
|
||||
femmesh.addNode(0.75, 1.5, 4.5, 121)
|
||||
femmesh.addNode(0.75, 1.125, 4.5, 122)
|
||||
femmesh.addNode(0.75, 1.5, 5.0, 123)
|
||||
femmesh.addNode(0.75, 1.125, 5.0, 124)
|
||||
femmesh.addNode(0.75, 1.5, 5.5, 125)
|
||||
femmesh.addNode(0.75, 1.125, 5.5, 126)
|
||||
femmesh.addNode(0.75, 1.5, 6.0, 127)
|
||||
femmesh.addNode(0.75, 1.125, 6.0, 128)
|
||||
femmesh.addNode(0.75, 1.5, 6.5, 129)
|
||||
femmesh.addNode(0.75, 1.125, 6.5, 130)
|
||||
femmesh.addNode(0.75, 1.5, 7.0, 131)
|
||||
femmesh.addNode(0.75, 1.125, 7.0, 132)
|
||||
femmesh.addNode(0.75, 1.5, 7.5, 133)
|
||||
femmesh.addNode(0.75, 1.125, 7.5, 134)
|
||||
femmesh.addNode(0.75, 1.5, 8.0, 135)
|
||||
femmesh.addNode(0.75, 1.125, 8.0, 136)
|
||||
femmesh.addNode(1.0, 1.5, 0.0, 137)
|
||||
femmesh.addNode(1.0, 1.5, 0.5, 138)
|
||||
femmesh.addNode(1.0, 1.125, 0.5, 139)
|
||||
femmesh.addNode(1.0, 1.125, 0.0, 140)
|
||||
femmesh.addNode(1.0, 1.5, 1.0, 141)
|
||||
femmesh.addNode(1.0, 1.125, 1.0, 142)
|
||||
femmesh.addNode(1.0, 1.5, 1.5, 143)
|
||||
femmesh.addNode(1.0, 1.125, 1.5, 144)
|
||||
femmesh.addNode(1.0, 1.5, 2.0, 145)
|
||||
femmesh.addNode(1.0, 1.125, 2.0, 146)
|
||||
femmesh.addNode(1.0, 1.5, 2.5, 147)
|
||||
femmesh.addNode(1.0, 1.125, 2.5, 148)
|
||||
femmesh.addNode(1.0, 1.5, 3.0, 149)
|
||||
femmesh.addNode(1.0, 1.125, 3.0, 150)
|
||||
femmesh.addNode(1.0, 1.5, 3.5, 151)
|
||||
femmesh.addNode(1.0, 1.125, 3.5, 152)
|
||||
femmesh.addNode(1.0, 1.5, 4.0, 153)
|
||||
femmesh.addNode(1.0, 1.125, 4.0, 154)
|
||||
femmesh.addNode(1.0, 1.5, 4.5, 155)
|
||||
femmesh.addNode(1.0, 1.125, 4.5, 156)
|
||||
femmesh.addNode(1.0, 1.5, 5.0, 157)
|
||||
femmesh.addNode(1.0, 1.125, 5.0, 158)
|
||||
femmesh.addNode(1.0, 1.5, 5.5, 159)
|
||||
femmesh.addNode(1.0, 1.125, 5.5, 160)
|
||||
femmesh.addNode(1.0, 1.5, 6.0, 161)
|
||||
femmesh.addNode(1.0, 1.125, 6.0, 162)
|
||||
femmesh.addNode(1.0, 1.5, 6.5, 163)
|
||||
femmesh.addNode(1.0, 1.125, 6.5, 164)
|
||||
femmesh.addNode(1.0, 1.5, 7.0, 165)
|
||||
femmesh.addNode(1.0, 1.125, 7.0, 166)
|
||||
femmesh.addNode(1.0, 1.5, 7.5, 167)
|
||||
femmesh.addNode(1.0, 1.125, 7.5, 168)
|
||||
femmesh.addNode(1.0, 1.5, 8.0, 169)
|
||||
femmesh.addNode(1.0, 1.125, 8.0, 170)
|
||||
femmesh.addNode(0.0, 0.75, 0.5, 171)
|
||||
femmesh.addNode(0.0, 0.75, 0.0, 172)
|
||||
femmesh.addNode(0.25, 0.75, 0.5, 173)
|
||||
femmesh.addNode(0.25, 0.75, 0.0, 174)
|
||||
femmesh.addNode(0.0, 0.75, 1.0, 175)
|
||||
femmesh.addNode(0.25, 0.75, 1.0, 176)
|
||||
femmesh.addNode(0.0, 0.75, 1.5, 177)
|
||||
femmesh.addNode(0.25, 0.75, 1.5, 178)
|
||||
femmesh.addNode(0.0, 0.75, 2.0, 179)
|
||||
femmesh.addNode(0.25, 0.75, 2.0, 180)
|
||||
femmesh.addNode(0.0, 0.75, 2.5, 181)
|
||||
femmesh.addNode(0.25, 0.75, 2.5, 182)
|
||||
femmesh.addNode(0.0, 0.75, 3.0, 183)
|
||||
femmesh.addNode(0.25, 0.75, 3.0, 184)
|
||||
femmesh.addNode(0.0, 0.75, 3.5, 185)
|
||||
femmesh.addNode(0.25, 0.75, 3.5, 186)
|
||||
femmesh.addNode(0.0, 0.75, 4.0, 187)
|
||||
femmesh.addNode(0.25, 0.75, 4.0, 188)
|
||||
femmesh.addNode(0.0, 0.75, 4.5, 189)
|
||||
femmesh.addNode(0.25, 0.75, 4.5, 190)
|
||||
femmesh.addNode(0.0, 0.75, 5.0, 191)
|
||||
femmesh.addNode(0.25, 0.75, 5.0, 192)
|
||||
femmesh.addNode(0.0, 0.75, 5.5, 193)
|
||||
femmesh.addNode(0.25, 0.75, 5.5, 194)
|
||||
femmesh.addNode(0.0, 0.75, 6.0, 195)
|
||||
femmesh.addNode(0.25, 0.75, 6.0, 196)
|
||||
femmesh.addNode(0.0, 0.75, 6.5, 197)
|
||||
femmesh.addNode(0.25, 0.75, 6.5, 198)
|
||||
femmesh.addNode(0.0, 0.75, 7.0, 199)
|
||||
femmesh.addNode(0.25, 0.75, 7.0, 200)
|
||||
femmesh.addNode(0.0, 0.75, 7.5, 201)
|
||||
femmesh.addNode(0.25, 0.75, 7.5, 202)
|
||||
femmesh.addNode(0.0, 0.75, 8.0, 203)
|
||||
femmesh.addNode(0.25, 0.75, 8.0, 204)
|
||||
femmesh.addNode(0.5, 0.75, 0.5, 205)
|
||||
femmesh.addNode(0.5, 0.75, 0.0, 206)
|
||||
femmesh.addNode(0.5, 0.75, 1.0, 207)
|
||||
femmesh.addNode(0.5, 0.75, 1.5, 208)
|
||||
femmesh.addNode(0.5, 0.75, 2.0, 209)
|
||||
femmesh.addNode(0.5, 0.75, 2.5, 210)
|
||||
femmesh.addNode(0.5, 0.75, 3.0, 211)
|
||||
femmesh.addNode(0.5, 0.75, 3.5, 212)
|
||||
femmesh.addNode(0.5, 0.75, 4.0, 213)
|
||||
femmesh.addNode(0.5, 0.75, 4.5, 214)
|
||||
femmesh.addNode(0.5, 0.75, 5.0, 215)
|
||||
femmesh.addNode(0.5, 0.75, 5.5, 216)
|
||||
femmesh.addNode(0.5, 0.75, 6.0, 217)
|
||||
femmesh.addNode(0.5, 0.75, 6.5, 218)
|
||||
femmesh.addNode(0.5, 0.75, 7.0, 219)
|
||||
femmesh.addNode(0.5, 0.75, 7.5, 220)
|
||||
femmesh.addNode(0.5, 0.75, 8.0, 221)
|
||||
femmesh.addNode(0.75, 0.75, 0.5, 222)
|
||||
femmesh.addNode(0.75, 0.75, 0.0, 223)
|
||||
femmesh.addNode(0.75, 0.75, 1.0, 224)
|
||||
femmesh.addNode(0.75, 0.75, 1.5, 225)
|
||||
femmesh.addNode(0.75, 0.75, 2.0, 226)
|
||||
femmesh.addNode(0.75, 0.75, 2.5, 227)
|
||||
femmesh.addNode(0.75, 0.75, 3.0, 228)
|
||||
femmesh.addNode(0.75, 0.75, 3.5, 229)
|
||||
femmesh.addNode(0.75, 0.75, 4.0, 230)
|
||||
femmesh.addNode(0.75, 0.75, 4.5, 231)
|
||||
femmesh.addNode(0.75, 0.75, 5.0, 232)
|
||||
femmesh.addNode(0.75, 0.75, 5.5, 233)
|
||||
femmesh.addNode(0.75, 0.75, 6.0, 234)
|
||||
femmesh.addNode(0.75, 0.75, 6.5, 235)
|
||||
femmesh.addNode(0.75, 0.75, 7.0, 236)
|
||||
femmesh.addNode(0.75, 0.75, 7.5, 237)
|
||||
femmesh.addNode(0.75, 0.75, 8.0, 238)
|
||||
femmesh.addNode(1.0, 0.75, 0.5, 239)
|
||||
femmesh.addNode(1.0, 0.75, 0.0, 240)
|
||||
femmesh.addNode(1.0, 0.75, 1.0, 241)
|
||||
femmesh.addNode(1.0, 0.75, 1.5, 242)
|
||||
femmesh.addNode(1.0, 0.75, 2.0, 243)
|
||||
femmesh.addNode(1.0, 0.75, 2.5, 244)
|
||||
femmesh.addNode(1.0, 0.75, 3.0, 245)
|
||||
femmesh.addNode(1.0, 0.75, 3.5, 246)
|
||||
femmesh.addNode(1.0, 0.75, 4.0, 247)
|
||||
femmesh.addNode(1.0, 0.75, 4.5, 248)
|
||||
femmesh.addNode(1.0, 0.75, 5.0, 249)
|
||||
femmesh.addNode(1.0, 0.75, 5.5, 250)
|
||||
femmesh.addNode(1.0, 0.75, 6.0, 251)
|
||||
femmesh.addNode(1.0, 0.75, 6.5, 252)
|
||||
femmesh.addNode(1.0, 0.75, 7.0, 253)
|
||||
femmesh.addNode(1.0, 0.75, 7.5, 254)
|
||||
femmesh.addNode(1.0, 0.75, 8.0, 255)
|
||||
femmesh.addNode(0.0, 0.375, 0.5, 256)
|
||||
femmesh.addNode(0.0, 0.375, 0.0, 257)
|
||||
femmesh.addNode(0.25, 0.375, 0.5, 258)
|
||||
femmesh.addNode(0.25, 0.375, 0.0, 259)
|
||||
femmesh.addNode(0.0, 0.375, 1.0, 260)
|
||||
femmesh.addNode(0.25, 0.375, 1.0, 261)
|
||||
femmesh.addNode(0.0, 0.375, 1.5, 262)
|
||||
femmesh.addNode(0.25, 0.375, 1.5, 263)
|
||||
femmesh.addNode(0.0, 0.375, 2.0, 264)
|
||||
femmesh.addNode(0.25, 0.375, 2.0, 265)
|
||||
femmesh.addNode(0.0, 0.375, 2.5, 266)
|
||||
femmesh.addNode(0.25, 0.375, 2.5, 267)
|
||||
femmesh.addNode(0.0, 0.375, 3.0, 268)
|
||||
femmesh.addNode(0.25, 0.375, 3.0, 269)
|
||||
femmesh.addNode(0.0, 0.375, 3.5, 270)
|
||||
femmesh.addNode(0.25, 0.375, 3.5, 271)
|
||||
femmesh.addNode(0.0, 0.375, 4.0, 272)
|
||||
femmesh.addNode(0.25, 0.375, 4.0, 273)
|
||||
femmesh.addNode(0.0, 0.375, 4.5, 274)
|
||||
femmesh.addNode(0.25, 0.375, 4.5, 275)
|
||||
femmesh.addNode(0.0, 0.375, 5.0, 276)
|
||||
femmesh.addNode(0.25, 0.375, 5.0, 277)
|
||||
femmesh.addNode(0.0, 0.375, 5.5, 278)
|
||||
femmesh.addNode(0.25, 0.375, 5.5, 279)
|
||||
femmesh.addNode(0.0, 0.375, 6.0, 280)
|
||||
femmesh.addNode(0.25, 0.375, 6.0, 281)
|
||||
femmesh.addNode(0.0, 0.375, 6.5, 282)
|
||||
femmesh.addNode(0.25, 0.375, 6.5, 283)
|
||||
femmesh.addNode(0.0, 0.375, 7.0, 284)
|
||||
femmesh.addNode(0.25, 0.375, 7.0, 285)
|
||||
femmesh.addNode(0.0, 0.375, 7.5, 286)
|
||||
femmesh.addNode(0.25, 0.375, 7.5, 287)
|
||||
femmesh.addNode(0.0, 0.375, 8.0, 288)
|
||||
femmesh.addNode(0.25, 0.375, 8.0, 289)
|
||||
femmesh.addNode(0.5, 0.375, 0.5, 290)
|
||||
femmesh.addNode(0.5, 0.375, 0.0, 291)
|
||||
femmesh.addNode(0.5, 0.375, 1.0, 292)
|
||||
femmesh.addNode(0.5, 0.375, 1.5, 293)
|
||||
femmesh.addNode(0.5, 0.375, 2.0, 294)
|
||||
femmesh.addNode(0.5, 0.375, 2.5, 295)
|
||||
femmesh.addNode(0.5, 0.375, 3.0, 296)
|
||||
femmesh.addNode(0.5, 0.375, 3.5, 297)
|
||||
femmesh.addNode(0.5, 0.375, 4.0, 298)
|
||||
femmesh.addNode(0.5, 0.375, 4.5, 299)
|
||||
femmesh.addNode(0.5, 0.375, 5.0, 300)
|
||||
femmesh.addNode(0.5, 0.375, 5.5, 301)
|
||||
femmesh.addNode(0.5, 0.375, 6.0, 302)
|
||||
femmesh.addNode(0.5, 0.375, 6.5, 303)
|
||||
femmesh.addNode(0.5, 0.375, 7.0, 304)
|
||||
femmesh.addNode(0.5, 0.375, 7.5, 305)
|
||||
femmesh.addNode(0.5, 0.375, 8.0, 306)
|
||||
femmesh.addNode(0.75, 0.375, 0.5, 307)
|
||||
femmesh.addNode(0.75, 0.375, 0.0, 308)
|
||||
femmesh.addNode(0.75, 0.375, 1.0, 309)
|
||||
femmesh.addNode(0.75, 0.375, 1.5, 310)
|
||||
femmesh.addNode(0.75, 0.375, 2.0, 311)
|
||||
femmesh.addNode(0.75, 0.375, 2.5, 312)
|
||||
femmesh.addNode(0.75, 0.375, 3.0, 313)
|
||||
femmesh.addNode(0.75, 0.375, 3.5, 314)
|
||||
femmesh.addNode(0.75, 0.375, 4.0, 315)
|
||||
femmesh.addNode(0.75, 0.375, 4.5, 316)
|
||||
femmesh.addNode(0.75, 0.375, 5.0, 317)
|
||||
femmesh.addNode(0.75, 0.375, 5.5, 318)
|
||||
femmesh.addNode(0.75, 0.375, 6.0, 319)
|
||||
femmesh.addNode(0.75, 0.375, 6.5, 320)
|
||||
femmesh.addNode(0.75, 0.375, 7.0, 321)
|
||||
femmesh.addNode(0.75, 0.375, 7.5, 322)
|
||||
femmesh.addNode(0.75, 0.375, 8.0, 323)
|
||||
femmesh.addNode(1.0, 0.375, 0.5, 324)
|
||||
femmesh.addNode(1.0, 0.375, 0.0, 325)
|
||||
femmesh.addNode(1.0, 0.375, 1.0, 326)
|
||||
femmesh.addNode(1.0, 0.375, 1.5, 327)
|
||||
femmesh.addNode(1.0, 0.375, 2.0, 328)
|
||||
femmesh.addNode(1.0, 0.375, 2.5, 329)
|
||||
femmesh.addNode(1.0, 0.375, 3.0, 330)
|
||||
femmesh.addNode(1.0, 0.375, 3.5, 331)
|
||||
femmesh.addNode(1.0, 0.375, 4.0, 332)
|
||||
femmesh.addNode(1.0, 0.375, 4.5, 333)
|
||||
femmesh.addNode(1.0, 0.375, 5.0, 334)
|
||||
femmesh.addNode(1.0, 0.375, 5.5, 335)
|
||||
femmesh.addNode(1.0, 0.375, 6.0, 336)
|
||||
femmesh.addNode(1.0, 0.375, 6.5, 337)
|
||||
femmesh.addNode(1.0, 0.375, 7.0, 338)
|
||||
femmesh.addNode(1.0, 0.375, 7.5, 339)
|
||||
femmesh.addNode(1.0, 0.375, 8.0, 340)
|
||||
femmesh.addNode(0.0, 0.0, 0.5, 341)
|
||||
femmesh.addNode(0.0, 0.0, 0.0, 342)
|
||||
femmesh.addNode(0.25, 0.0, 0.5, 343)
|
||||
femmesh.addNode(0.25, 0.0, 0.0, 344)
|
||||
femmesh.addNode(0.0, 0.0, 1.0, 345)
|
||||
femmesh.addNode(0.25, 0.0, 1.0, 346)
|
||||
femmesh.addNode(0.0, 0.0, 1.5, 347)
|
||||
femmesh.addNode(0.25, 0.0, 1.5, 348)
|
||||
femmesh.addNode(0.0, 0.0, 2.0, 349)
|
||||
femmesh.addNode(0.25, 0.0, 2.0, 350)
|
||||
femmesh.addNode(0.0, 0.0, 2.5, 351)
|
||||
femmesh.addNode(0.25, 0.0, 2.5, 352)
|
||||
femmesh.addNode(0.0, 0.0, 3.0, 353)
|
||||
femmesh.addNode(0.25, 0.0, 3.0, 354)
|
||||
femmesh.addNode(0.0, 0.0, 3.5, 355)
|
||||
femmesh.addNode(0.25, 0.0, 3.5, 356)
|
||||
femmesh.addNode(0.0, 0.0, 4.0, 357)
|
||||
femmesh.addNode(0.25, 0.0, 4.0, 358)
|
||||
femmesh.addNode(0.0, 0.0, 4.5, 359)
|
||||
femmesh.addNode(0.25, 0.0, 4.5, 360)
|
||||
femmesh.addNode(0.0, 0.0, 5.0, 361)
|
||||
femmesh.addNode(0.25, 0.0, 5.0, 362)
|
||||
femmesh.addNode(0.0, 0.0, 5.5, 363)
|
||||
femmesh.addNode(0.25, 0.0, 5.5, 364)
|
||||
femmesh.addNode(0.0, 0.0, 6.0, 365)
|
||||
femmesh.addNode(0.25, 0.0, 6.0, 366)
|
||||
femmesh.addNode(0.0, 0.0, 6.5, 367)
|
||||
femmesh.addNode(0.25, 0.0, 6.5, 368)
|
||||
femmesh.addNode(0.0, 0.0, 7.0, 369)
|
||||
femmesh.addNode(0.25, 0.0, 7.0, 370)
|
||||
femmesh.addNode(0.0, 0.0, 7.5, 371)
|
||||
femmesh.addNode(0.25, 0.0, 7.5, 372)
|
||||
femmesh.addNode(0.0, 0.0, 8.0, 373)
|
||||
femmesh.addNode(0.25, 0.0, 8.0, 374)
|
||||
femmesh.addNode(0.5, 0.0, 0.5, 375)
|
||||
femmesh.addNode(0.5, 0.0, 0.0, 376)
|
||||
femmesh.addNode(0.5, 0.0, 1.0, 377)
|
||||
femmesh.addNode(0.5, 0.0, 1.5, 378)
|
||||
femmesh.addNode(0.5, 0.0, 2.0, 379)
|
||||
femmesh.addNode(0.5, 0.0, 2.5, 380)
|
||||
femmesh.addNode(0.5, 0.0, 3.0, 381)
|
||||
femmesh.addNode(0.5, 0.0, 3.5, 382)
|
||||
femmesh.addNode(0.5, 0.0, 4.0, 383)
|
||||
femmesh.addNode(0.5, 0.0, 4.5, 384)
|
||||
femmesh.addNode(0.5, 0.0, 5.0, 385)
|
||||
femmesh.addNode(0.5, 0.0, 5.5, 386)
|
||||
femmesh.addNode(0.5, 0.0, 6.0, 387)
|
||||
femmesh.addNode(0.5, 0.0, 6.5, 388)
|
||||
femmesh.addNode(0.5, 0.0, 7.0, 389)
|
||||
femmesh.addNode(0.5, 0.0, 7.5, 390)
|
||||
femmesh.addNode(0.5, 0.0, 8.0, 391)
|
||||
femmesh.addNode(0.75, 0.0, 0.5, 392)
|
||||
femmesh.addNode(0.75, 0.0, 0.0, 393)
|
||||
femmesh.addNode(0.75, 0.0, 1.0, 394)
|
||||
femmesh.addNode(0.75, 0.0, 1.5, 395)
|
||||
femmesh.addNode(0.75, 0.0, 2.0, 396)
|
||||
femmesh.addNode(0.75, 0.0, 2.5, 397)
|
||||
femmesh.addNode(0.75, 0.0, 3.0, 398)
|
||||
femmesh.addNode(0.75, 0.0, 3.5, 399)
|
||||
femmesh.addNode(0.75, 0.0, 4.0, 400)
|
||||
femmesh.addNode(0.75, 0.0, 4.5, 401)
|
||||
femmesh.addNode(0.75, 0.0, 5.0, 402)
|
||||
femmesh.addNode(0.75, 0.0, 5.5, 403)
|
||||
femmesh.addNode(0.75, 0.0, 6.0, 404)
|
||||
femmesh.addNode(0.75, 0.0, 6.5, 405)
|
||||
femmesh.addNode(0.75, 0.0, 7.0, 406)
|
||||
femmesh.addNode(0.75, 0.0, 7.5, 407)
|
||||
femmesh.addNode(0.75, 0.0, 8.0, 408)
|
||||
femmesh.addNode(1.0, 0.0, 0.5, 409)
|
||||
femmesh.addNode(1.0, 0.0, 0.0, 410)
|
||||
femmesh.addNode(1.0, 0.0, 1.0, 411)
|
||||
femmesh.addNode(1.0, 0.0, 1.5, 412)
|
||||
femmesh.addNode(1.0, 0.0, 2.0, 413)
|
||||
femmesh.addNode(1.0, 0.0, 2.5, 414)
|
||||
femmesh.addNode(1.0, 0.0, 3.0, 415)
|
||||
femmesh.addNode(1.0, 0.0, 3.5, 416)
|
||||
femmesh.addNode(1.0, 0.0, 4.0, 417)
|
||||
femmesh.addNode(1.0, 0.0, 4.5, 418)
|
||||
femmesh.addNode(1.0, 0.0, 5.0, 419)
|
||||
femmesh.addNode(1.0, 0.0, 5.5, 420)
|
||||
femmesh.addNode(1.0, 0.0, 6.0, 421)
|
||||
femmesh.addNode(1.0, 0.0, 6.5, 422)
|
||||
femmesh.addNode(1.0, 0.0, 7.0, 423)
|
||||
femmesh.addNode(1.0, 0.0, 7.5, 424)
|
||||
femmesh.addNode(1.0, 0.0, 8.0, 425)
|
||||
return True
|
||||
|
||||
|
||||
def create_elements(femmesh):
|
||||
# elements
|
||||
femmesh.addVolume([6, 7, 8, 5, 2, 3, 4, 1], 1)
|
||||
femmesh.addVolume([11, 12, 7, 6, 9, 10, 3, 2], 2)
|
||||
femmesh.addVolume([15, 16, 12, 11, 13, 14, 10, 9], 3)
|
||||
femmesh.addVolume([19, 20, 16, 15, 17, 18, 14, 13], 4)
|
||||
femmesh.addVolume([23, 24, 20, 19, 21, 22, 18, 17], 5)
|
||||
femmesh.addVolume([27, 28, 24, 23, 25, 26, 22, 21], 6)
|
||||
femmesh.addVolume([31, 32, 28, 27, 29, 30, 26, 25], 7)
|
||||
femmesh.addVolume([35, 36, 32, 31, 33, 34, 30, 29], 8)
|
||||
femmesh.addVolume([39, 40, 36, 35, 37, 38, 34, 33], 9)
|
||||
femmesh.addVolume([43, 44, 40, 39, 41, 42, 38, 37], 10)
|
||||
femmesh.addVolume([47, 48, 44, 43, 45, 46, 42, 41], 11)
|
||||
femmesh.addVolume([51, 52, 48, 47, 49, 50, 46, 45], 12)
|
||||
femmesh.addVolume([55, 56, 52, 51, 53, 54, 50, 49], 13)
|
||||
femmesh.addVolume([59, 60, 56, 55, 57, 58, 54, 53], 14)
|
||||
femmesh.addVolume([63, 64, 60, 59, 61, 62, 58, 57], 15)
|
||||
femmesh.addVolume([67, 68, 64, 63, 65, 66, 62, 61], 16)
|
||||
femmesh.addVolume([70, 71, 72, 69, 6, 7, 8, 5], 17)
|
||||
femmesh.addVolume([73, 74, 71, 70, 11, 12, 7, 6], 18)
|
||||
femmesh.addVolume([75, 76, 74, 73, 15, 16, 12, 11], 19)
|
||||
femmesh.addVolume([77, 78, 76, 75, 19, 20, 16, 15], 20)
|
||||
femmesh.addVolume([79, 80, 78, 77, 23, 24, 20, 19], 21)
|
||||
femmesh.addVolume([81, 82, 80, 79, 27, 28, 24, 23], 22)
|
||||
femmesh.addVolume([83, 84, 82, 81, 31, 32, 28, 27], 23)
|
||||
femmesh.addVolume([85, 86, 84, 83, 35, 36, 32, 31], 24)
|
||||
femmesh.addVolume([87, 88, 86, 85, 39, 40, 36, 35], 25)
|
||||
femmesh.addVolume([89, 90, 88, 87, 43, 44, 40, 39], 26)
|
||||
femmesh.addVolume([91, 92, 90, 89, 47, 48, 44, 43], 27)
|
||||
femmesh.addVolume([93, 94, 92, 91, 51, 52, 48, 47], 28)
|
||||
femmesh.addVolume([95, 96, 94, 93, 55, 56, 52, 51], 29)
|
||||
femmesh.addVolume([97, 98, 96, 95, 59, 60, 56, 55], 30)
|
||||
femmesh.addVolume([99, 100, 98, 97, 63, 64, 60, 59], 31)
|
||||
femmesh.addVolume([101, 102, 100, 99, 67, 68, 64, 63], 32)
|
||||
femmesh.addVolume([104, 105, 106, 103, 70, 71, 72, 69], 33)
|
||||
femmesh.addVolume([107, 108, 105, 104, 73, 74, 71, 70], 34)
|
||||
femmesh.addVolume([109, 110, 108, 107, 75, 76, 74, 73], 35)
|
||||
femmesh.addVolume([111, 112, 110, 109, 77, 78, 76, 75], 36)
|
||||
femmesh.addVolume([113, 114, 112, 111, 79, 80, 78, 77], 37)
|
||||
femmesh.addVolume([115, 116, 114, 113, 81, 82, 80, 79], 38)
|
||||
femmesh.addVolume([117, 118, 116, 115, 83, 84, 82, 81], 39)
|
||||
femmesh.addVolume([119, 120, 118, 117, 85, 86, 84, 83], 40)
|
||||
femmesh.addVolume([121, 122, 120, 119, 87, 88, 86, 85], 41)
|
||||
femmesh.addVolume([123, 124, 122, 121, 89, 90, 88, 87], 42)
|
||||
femmesh.addVolume([125, 126, 124, 123, 91, 92, 90, 89], 43)
|
||||
femmesh.addVolume([127, 128, 126, 125, 93, 94, 92, 91], 44)
|
||||
femmesh.addVolume([129, 130, 128, 127, 95, 96, 94, 93], 45)
|
||||
femmesh.addVolume([131, 132, 130, 129, 97, 98, 96, 95], 46)
|
||||
femmesh.addVolume([133, 134, 132, 131, 99, 100, 98, 97], 47)
|
||||
femmesh.addVolume([135, 136, 134, 133, 101, 102, 100, 99], 48)
|
||||
femmesh.addVolume([138, 139, 140, 137, 104, 105, 106, 103], 49)
|
||||
femmesh.addVolume([141, 142, 139, 138, 107, 108, 105, 104], 50)
|
||||
femmesh.addVolume([143, 144, 142, 141, 109, 110, 108, 107], 51)
|
||||
femmesh.addVolume([145, 146, 144, 143, 111, 112, 110, 109], 52)
|
||||
femmesh.addVolume([147, 148, 146, 145, 113, 114, 112, 111], 53)
|
||||
femmesh.addVolume([149, 150, 148, 147, 115, 116, 114, 113], 54)
|
||||
femmesh.addVolume([151, 152, 150, 149, 117, 118, 116, 115], 55)
|
||||
femmesh.addVolume([153, 154, 152, 151, 119, 120, 118, 117], 56)
|
||||
femmesh.addVolume([155, 156, 154, 153, 121, 122, 120, 119], 57)
|
||||
femmesh.addVolume([157, 158, 156, 155, 123, 124, 122, 121], 58)
|
||||
femmesh.addVolume([159, 160, 158, 157, 125, 126, 124, 123], 59)
|
||||
femmesh.addVolume([161, 162, 160, 159, 127, 128, 126, 125], 60)
|
||||
femmesh.addVolume([163, 164, 162, 161, 129, 130, 128, 127], 61)
|
||||
femmesh.addVolume([165, 166, 164, 163, 131, 132, 130, 129], 62)
|
||||
femmesh.addVolume([167, 168, 166, 165, 133, 134, 132, 131], 63)
|
||||
femmesh.addVolume([169, 170, 168, 167, 135, 136, 134, 133], 64)
|
||||
femmesh.addVolume([7, 173, 174, 8, 3, 171, 172, 4], 65)
|
||||
femmesh.addVolume([12, 176, 173, 7, 10, 175, 171, 3], 66)
|
||||
femmesh.addVolume([16, 178, 176, 12, 14, 177, 175, 10], 67)
|
||||
femmesh.addVolume([20, 180, 178, 16, 18, 179, 177, 14], 68)
|
||||
femmesh.addVolume([24, 182, 180, 20, 22, 181, 179, 18], 69)
|
||||
femmesh.addVolume([28, 184, 182, 24, 26, 183, 181, 22], 70)
|
||||
femmesh.addVolume([32, 186, 184, 28, 30, 185, 183, 26], 71)
|
||||
femmesh.addVolume([36, 188, 186, 32, 34, 187, 185, 30], 72)
|
||||
femmesh.addVolume([40, 190, 188, 36, 38, 189, 187, 34], 73)
|
||||
femmesh.addVolume([44, 192, 190, 40, 42, 191, 189, 38], 74)
|
||||
femmesh.addVolume([48, 194, 192, 44, 46, 193, 191, 42], 75)
|
||||
femmesh.addVolume([52, 196, 194, 48, 50, 195, 193, 46], 76)
|
||||
femmesh.addVolume([56, 198, 196, 52, 54, 197, 195, 50], 77)
|
||||
femmesh.addVolume([60, 200, 198, 56, 58, 199, 197, 54], 78)
|
||||
femmesh.addVolume([64, 202, 200, 60, 62, 201, 199, 58], 79)
|
||||
femmesh.addVolume([68, 204, 202, 64, 66, 203, 201, 62], 80)
|
||||
femmesh.addVolume([71, 205, 206, 72, 7, 173, 174, 8], 81)
|
||||
femmesh.addVolume([74, 207, 205, 71, 12, 176, 173, 7], 82)
|
||||
femmesh.addVolume([76, 208, 207, 74, 16, 178, 176, 12], 83)
|
||||
femmesh.addVolume([78, 209, 208, 76, 20, 180, 178, 16], 84)
|
||||
femmesh.addVolume([80, 210, 209, 78, 24, 182, 180, 20], 85)
|
||||
femmesh.addVolume([82, 211, 210, 80, 28, 184, 182, 24], 86)
|
||||
femmesh.addVolume([84, 212, 211, 82, 32, 186, 184, 28], 87)
|
||||
femmesh.addVolume([86, 213, 212, 84, 36, 188, 186, 32], 88)
|
||||
femmesh.addVolume([88, 214, 213, 86, 40, 190, 188, 36], 89)
|
||||
femmesh.addVolume([90, 215, 214, 88, 44, 192, 190, 40], 90)
|
||||
femmesh.addVolume([92, 216, 215, 90, 48, 194, 192, 44], 91)
|
||||
femmesh.addVolume([94, 217, 216, 92, 52, 196, 194, 48], 92)
|
||||
femmesh.addVolume([96, 218, 217, 94, 56, 198, 196, 52], 93)
|
||||
femmesh.addVolume([98, 219, 218, 96, 60, 200, 198, 56], 94)
|
||||
femmesh.addVolume([100, 220, 219, 98, 64, 202, 200, 60], 95)
|
||||
femmesh.addVolume([102, 221, 220, 100, 68, 204, 202, 64], 96)
|
||||
femmesh.addVolume([105, 222, 223, 106, 71, 205, 206, 72], 97)
|
||||
femmesh.addVolume([108, 224, 222, 105, 74, 207, 205, 71], 98)
|
||||
femmesh.addVolume([110, 225, 224, 108, 76, 208, 207, 74], 99)
|
||||
femmesh.addVolume([112, 226, 225, 110, 78, 209, 208, 76], 100)
|
||||
femmesh.addVolume([114, 227, 226, 112, 80, 210, 209, 78], 101)
|
||||
femmesh.addVolume([116, 228, 227, 114, 82, 211, 210, 80], 102)
|
||||
femmesh.addVolume([118, 229, 228, 116, 84, 212, 211, 82], 103)
|
||||
femmesh.addVolume([120, 230, 229, 118, 86, 213, 212, 84], 104)
|
||||
femmesh.addVolume([122, 231, 230, 120, 88, 214, 213, 86], 105)
|
||||
femmesh.addVolume([124, 232, 231, 122, 90, 215, 214, 88], 106)
|
||||
femmesh.addVolume([126, 233, 232, 124, 92, 216, 215, 90], 107)
|
||||
femmesh.addVolume([128, 234, 233, 126, 94, 217, 216, 92], 108)
|
||||
femmesh.addVolume([130, 235, 234, 128, 96, 218, 217, 94], 109)
|
||||
femmesh.addVolume([132, 236, 235, 130, 98, 219, 218, 96], 110)
|
||||
femmesh.addVolume([134, 237, 236, 132, 100, 220, 219, 98], 111)
|
||||
femmesh.addVolume([136, 238, 237, 134, 102, 221, 220, 100], 112)
|
||||
femmesh.addVolume([139, 239, 240, 140, 105, 222, 223, 106], 113)
|
||||
femmesh.addVolume([142, 241, 239, 139, 108, 224, 222, 105], 114)
|
||||
femmesh.addVolume([144, 242, 241, 142, 110, 225, 224, 108], 115)
|
||||
femmesh.addVolume([146, 243, 242, 144, 112, 226, 225, 110], 116)
|
||||
femmesh.addVolume([148, 244, 243, 146, 114, 227, 226, 112], 117)
|
||||
femmesh.addVolume([150, 245, 244, 148, 116, 228, 227, 114], 118)
|
||||
femmesh.addVolume([152, 246, 245, 150, 118, 229, 228, 116], 119)
|
||||
femmesh.addVolume([154, 247, 246, 152, 120, 230, 229, 118], 120)
|
||||
femmesh.addVolume([156, 248, 247, 154, 122, 231, 230, 120], 121)
|
||||
femmesh.addVolume([158, 249, 248, 156, 124, 232, 231, 122], 122)
|
||||
femmesh.addVolume([160, 250, 249, 158, 126, 233, 232, 124], 123)
|
||||
femmesh.addVolume([162, 251, 250, 160, 128, 234, 233, 126], 124)
|
||||
femmesh.addVolume([164, 252, 251, 162, 130, 235, 234, 128], 125)
|
||||
femmesh.addVolume([166, 253, 252, 164, 132, 236, 235, 130], 126)
|
||||
femmesh.addVolume([168, 254, 253, 166, 134, 237, 236, 132], 127)
|
||||
femmesh.addVolume([170, 255, 254, 168, 136, 238, 237, 134], 128)
|
||||
femmesh.addVolume([173, 258, 259, 174, 171, 256, 257, 172], 129)
|
||||
femmesh.addVolume([176, 261, 258, 173, 175, 260, 256, 171], 130)
|
||||
femmesh.addVolume([178, 263, 261, 176, 177, 262, 260, 175], 131)
|
||||
femmesh.addVolume([180, 265, 263, 178, 179, 264, 262, 177], 132)
|
||||
femmesh.addVolume([182, 267, 265, 180, 181, 266, 264, 179], 133)
|
||||
femmesh.addVolume([184, 269, 267, 182, 183, 268, 266, 181], 134)
|
||||
femmesh.addVolume([186, 271, 269, 184, 185, 270, 268, 183], 135)
|
||||
femmesh.addVolume([188, 273, 271, 186, 187, 272, 270, 185], 136)
|
||||
femmesh.addVolume([190, 275, 273, 188, 189, 274, 272, 187], 137)
|
||||
femmesh.addVolume([192, 277, 275, 190, 191, 276, 274, 189], 138)
|
||||
femmesh.addVolume([194, 279, 277, 192, 193, 278, 276, 191], 139)
|
||||
femmesh.addVolume([196, 281, 279, 194, 195, 280, 278, 193], 140)
|
||||
femmesh.addVolume([198, 283, 281, 196, 197, 282, 280, 195], 141)
|
||||
femmesh.addVolume([200, 285, 283, 198, 199, 284, 282, 197], 142)
|
||||
femmesh.addVolume([202, 287, 285, 200, 201, 286, 284, 199], 143)
|
||||
femmesh.addVolume([204, 289, 287, 202, 203, 288, 286, 201], 144)
|
||||
femmesh.addVolume([205, 290, 291, 206, 173, 258, 259, 174], 145)
|
||||
femmesh.addVolume([207, 292, 290, 205, 176, 261, 258, 173], 146)
|
||||
femmesh.addVolume([208, 293, 292, 207, 178, 263, 261, 176], 147)
|
||||
femmesh.addVolume([209, 294, 293, 208, 180, 265, 263, 178], 148)
|
||||
femmesh.addVolume([210, 295, 294, 209, 182, 267, 265, 180], 149)
|
||||
femmesh.addVolume([211, 296, 295, 210, 184, 269, 267, 182], 150)
|
||||
femmesh.addVolume([212, 297, 296, 211, 186, 271, 269, 184], 151)
|
||||
femmesh.addVolume([213, 298, 297, 212, 188, 273, 271, 186], 152)
|
||||
femmesh.addVolume([214, 299, 298, 213, 190, 275, 273, 188], 153)
|
||||
femmesh.addVolume([215, 300, 299, 214, 192, 277, 275, 190], 154)
|
||||
femmesh.addVolume([216, 301, 300, 215, 194, 279, 277, 192], 155)
|
||||
femmesh.addVolume([217, 302, 301, 216, 196, 281, 279, 194], 156)
|
||||
femmesh.addVolume([218, 303, 302, 217, 198, 283, 281, 196], 157)
|
||||
femmesh.addVolume([219, 304, 303, 218, 200, 285, 283, 198], 158)
|
||||
femmesh.addVolume([220, 305, 304, 219, 202, 287, 285, 200], 159)
|
||||
femmesh.addVolume([221, 306, 305, 220, 204, 289, 287, 202], 160)
|
||||
femmesh.addVolume([222, 307, 308, 223, 205, 290, 291, 206], 161)
|
||||
femmesh.addVolume([224, 309, 307, 222, 207, 292, 290, 205], 162)
|
||||
femmesh.addVolume([225, 310, 309, 224, 208, 293, 292, 207], 163)
|
||||
femmesh.addVolume([226, 311, 310, 225, 209, 294, 293, 208], 164)
|
||||
femmesh.addVolume([227, 312, 311, 226, 210, 295, 294, 209], 165)
|
||||
femmesh.addVolume([228, 313, 312, 227, 211, 296, 295, 210], 166)
|
||||
femmesh.addVolume([229, 314, 313, 228, 212, 297, 296, 211], 167)
|
||||
femmesh.addVolume([230, 315, 314, 229, 213, 298, 297, 212], 168)
|
||||
femmesh.addVolume([231, 316, 315, 230, 214, 299, 298, 213], 169)
|
||||
femmesh.addVolume([232, 317, 316, 231, 215, 300, 299, 214], 170)
|
||||
femmesh.addVolume([233, 318, 317, 232, 216, 301, 300, 215], 171)
|
||||
femmesh.addVolume([234, 319, 318, 233, 217, 302, 301, 216], 172)
|
||||
femmesh.addVolume([235, 320, 319, 234, 218, 303, 302, 217], 173)
|
||||
femmesh.addVolume([236, 321, 320, 235, 219, 304, 303, 218], 174)
|
||||
femmesh.addVolume([237, 322, 321, 236, 220, 305, 304, 219], 175)
|
||||
femmesh.addVolume([238, 323, 322, 237, 221, 306, 305, 220], 176)
|
||||
femmesh.addVolume([239, 324, 325, 240, 222, 307, 308, 223], 177)
|
||||
femmesh.addVolume([241, 326, 324, 239, 224, 309, 307, 222], 178)
|
||||
femmesh.addVolume([242, 327, 326, 241, 225, 310, 309, 224], 179)
|
||||
femmesh.addVolume([243, 328, 327, 242, 226, 311, 310, 225], 180)
|
||||
femmesh.addVolume([244, 329, 328, 243, 227, 312, 311, 226], 181)
|
||||
femmesh.addVolume([245, 330, 329, 244, 228, 313, 312, 227], 182)
|
||||
femmesh.addVolume([246, 331, 330, 245, 229, 314, 313, 228], 183)
|
||||
femmesh.addVolume([247, 332, 331, 246, 230, 315, 314, 229], 184)
|
||||
femmesh.addVolume([248, 333, 332, 247, 231, 316, 315, 230], 185)
|
||||
femmesh.addVolume([249, 334, 333, 248, 232, 317, 316, 231], 186)
|
||||
femmesh.addVolume([250, 335, 334, 249, 233, 318, 317, 232], 187)
|
||||
femmesh.addVolume([251, 336, 335, 250, 234, 319, 318, 233], 188)
|
||||
femmesh.addVolume([252, 337, 336, 251, 235, 320, 319, 234], 189)
|
||||
femmesh.addVolume([253, 338, 337, 252, 236, 321, 320, 235], 190)
|
||||
femmesh.addVolume([254, 339, 338, 253, 237, 322, 321, 236], 191)
|
||||
femmesh.addVolume([255, 340, 339, 254, 238, 323, 322, 237], 192)
|
||||
femmesh.addVolume([258, 343, 344, 259, 256, 341, 342, 257], 193)
|
||||
femmesh.addVolume([261, 346, 343, 258, 260, 345, 341, 256], 194)
|
||||
femmesh.addVolume([263, 348, 346, 261, 262, 347, 345, 260], 195)
|
||||
femmesh.addVolume([265, 350, 348, 263, 264, 349, 347, 262], 196)
|
||||
femmesh.addVolume([267, 352, 350, 265, 266, 351, 349, 264], 197)
|
||||
femmesh.addVolume([269, 354, 352, 267, 268, 353, 351, 266], 198)
|
||||
femmesh.addVolume([271, 356, 354, 269, 270, 355, 353, 268], 199)
|
||||
femmesh.addVolume([273, 358, 356, 271, 272, 357, 355, 270], 200)
|
||||
femmesh.addVolume([275, 360, 358, 273, 274, 359, 357, 272], 201)
|
||||
femmesh.addVolume([277, 362, 360, 275, 276, 361, 359, 274], 202)
|
||||
femmesh.addVolume([279, 364, 362, 277, 278, 363, 361, 276], 203)
|
||||
femmesh.addVolume([281, 366, 364, 279, 280, 365, 363, 278], 204)
|
||||
femmesh.addVolume([283, 368, 366, 281, 282, 367, 365, 280], 205)
|
||||
femmesh.addVolume([285, 370, 368, 283, 284, 369, 367, 282], 206)
|
||||
femmesh.addVolume([287, 372, 370, 285, 286, 371, 369, 284], 207)
|
||||
femmesh.addVolume([289, 374, 372, 287, 288, 373, 371, 286], 208)
|
||||
femmesh.addVolume([290, 375, 376, 291, 258, 343, 344, 259], 209)
|
||||
femmesh.addVolume([292, 377, 375, 290, 261, 346, 343, 258], 210)
|
||||
femmesh.addVolume([293, 378, 377, 292, 263, 348, 346, 261], 211)
|
||||
femmesh.addVolume([294, 379, 378, 293, 265, 350, 348, 263], 212)
|
||||
femmesh.addVolume([295, 380, 379, 294, 267, 352, 350, 265], 213)
|
||||
femmesh.addVolume([296, 381, 380, 295, 269, 354, 352, 267], 214)
|
||||
femmesh.addVolume([297, 382, 381, 296, 271, 356, 354, 269], 215)
|
||||
femmesh.addVolume([298, 383, 382, 297, 273, 358, 356, 271], 216)
|
||||
femmesh.addVolume([299, 384, 383, 298, 275, 360, 358, 273], 217)
|
||||
femmesh.addVolume([300, 385, 384, 299, 277, 362, 360, 275], 218)
|
||||
femmesh.addVolume([301, 386, 385, 300, 279, 364, 362, 277], 219)
|
||||
femmesh.addVolume([302, 387, 386, 301, 281, 366, 364, 279], 220)
|
||||
femmesh.addVolume([303, 388, 387, 302, 283, 368, 366, 281], 221)
|
||||
femmesh.addVolume([304, 389, 388, 303, 285, 370, 368, 283], 222)
|
||||
femmesh.addVolume([305, 390, 389, 304, 287, 372, 370, 285], 223)
|
||||
femmesh.addVolume([306, 391, 390, 305, 289, 374, 372, 287], 224)
|
||||
femmesh.addVolume([307, 392, 393, 308, 290, 375, 376, 291], 225)
|
||||
femmesh.addVolume([309, 394, 392, 307, 292, 377, 375, 290], 226)
|
||||
femmesh.addVolume([310, 395, 394, 309, 293, 378, 377, 292], 227)
|
||||
femmesh.addVolume([311, 396, 395, 310, 294, 379, 378, 293], 228)
|
||||
femmesh.addVolume([312, 397, 396, 311, 295, 380, 379, 294], 229)
|
||||
femmesh.addVolume([313, 398, 397, 312, 296, 381, 380, 295], 230)
|
||||
femmesh.addVolume([314, 399, 398, 313, 297, 382, 381, 296], 231)
|
||||
femmesh.addVolume([315, 400, 399, 314, 298, 383, 382, 297], 232)
|
||||
femmesh.addVolume([316, 401, 400, 315, 299, 384, 383, 298], 233)
|
||||
femmesh.addVolume([317, 402, 401, 316, 300, 385, 384, 299], 234)
|
||||
femmesh.addVolume([318, 403, 402, 317, 301, 386, 385, 300], 235)
|
||||
femmesh.addVolume([319, 404, 403, 318, 302, 387, 386, 301], 236)
|
||||
femmesh.addVolume([320, 405, 404, 319, 303, 388, 387, 302], 237)
|
||||
femmesh.addVolume([321, 406, 405, 320, 304, 389, 388, 303], 238)
|
||||
femmesh.addVolume([322, 407, 406, 321, 305, 390, 389, 304], 239)
|
||||
femmesh.addVolume([323, 408, 407, 322, 306, 391, 390, 305], 240)
|
||||
femmesh.addVolume([324, 409, 410, 325, 307, 392, 393, 308], 241)
|
||||
femmesh.addVolume([326, 411, 409, 324, 309, 394, 392, 307], 242)
|
||||
femmesh.addVolume([327, 412, 411, 326, 310, 395, 394, 309], 243)
|
||||
femmesh.addVolume([328, 413, 412, 327, 311, 396, 395, 310], 244)
|
||||
femmesh.addVolume([329, 414, 413, 328, 312, 397, 396, 311], 245)
|
||||
femmesh.addVolume([330, 415, 414, 329, 313, 398, 397, 312], 246)
|
||||
femmesh.addVolume([331, 416, 415, 330, 314, 399, 398, 313], 247)
|
||||
femmesh.addVolume([332, 417, 416, 331, 315, 400, 399, 314], 248)
|
||||
femmesh.addVolume([333, 418, 417, 332, 316, 401, 400, 315], 249)
|
||||
femmesh.addVolume([334, 419, 418, 333, 317, 402, 401, 316], 250)
|
||||
femmesh.addVolume([335, 420, 419, 334, 318, 403, 402, 317], 251)
|
||||
femmesh.addVolume([336, 421, 420, 335, 319, 404, 403, 318], 252)
|
||||
femmesh.addVolume([337, 422, 421, 336, 320, 405, 404, 319], 253)
|
||||
femmesh.addVolume([338, 423, 422, 337, 321, 406, 405, 320], 254)
|
||||
femmesh.addVolume([339, 424, 423, 338, 322, 407, 406, 321], 255)
|
||||
femmesh.addVolume([340, 425, 424, 339, 323, 408, 407, 322], 256)
|
||||
return True
|
||||
Reference in New Issue
Block a user