FEM: examples, add ccx cantilever with hexa20

This commit is contained in:
Bernd Hahnebach
2020-03-01 22:38:12 +01:00
parent 8d2598ebdf
commit 48aa159dc0
4 changed files with 432 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ SET(FemExampleMeshes_SRCS
femexamples/meshes/__init__.py
femexamples/meshes/mesh_boxanalysis_tetra10.py
femexamples/meshes/mesh_boxes_2_vertikal_tetra10.py
femexamples/meshes/mesh_canticcx_hexa20.py
femexamples/meshes/mesh_canticcx_tetra10.py
femexamples/meshes/mesh_constraint_tie_tetra10.py
femexamples/meshes/mesh_contact_box_halfcylinder_tetra10.py

View File

@@ -30,6 +30,7 @@ canti.setup_cantileverbase()
canti.setup_cantileverfaceload()
canti.setup_cantilevernodeload()
canti.setup_cantileverprescribeddisplacement()
canti.setup_cantileverhexa20faceload()
"""
@@ -184,3 +185,23 @@ def setup_cantileverprescribeddisplacement(doc=None, solvertype="ccxtools"):
doc.recompute()
return doc
def setup_cantileverhexa20faceload(doc=None, solvertype="ccxtools"):
doc = setup_cantileverfaceload(doc, solvertype)
# load the hexa20 mesh
from .meshes.mesh_canticcx_hexa20 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")
# overwrite mesh with the hexa20 mesh
doc.getObject(mesh_name).FemMesh = fem_mesh
doc.recompute()
return doc

View File

@@ -33,6 +33,7 @@ doc = run_boxanalysisfrequency()
doc = run_ccx_cantileverfaceload()
doc = run_ccx_cantilevernodeload()
doc = run_ccx_cantileverprescribeddisplacement()
doc = setup_cantileverhexa20faceload()
doc = run_constraint_contact_shell_shell()
doc = run_constraint_contact_solid_solid()
doc = run_constraint_tie()
@@ -176,6 +177,21 @@ def run_ccx_cantileverprescribeddisplacement(solver=None, base_name=None):
return doc
def setup_cantileverhexa20faceload(solver=None, base_name=None):
from .ccx_cantilever_std import setup_cantileverhexa20faceload as setup
doc = setup()
if base_name is None:
base_name = "CantilverHexa20FaceLoad"
if solver is not None:
base_name += "_" + solver
run_analysis(doc, base_name)
doc.recompute()
return doc
def run_constraint_contact_shell_shell(solver=None, base_name=None):
from .constraint_contact_shell_shell import setup

View File

@@ -0,0 +1,394 @@
def create_nodes(femmesh):
# nodes
femmesh.addNode(-2.22e-13, 0.0, 1000.0, 1)
femmesh.addNode(4.460492503132002e-17, 0.0, 0.0, 2)
femmesh.addNode(4.460492503132002e-17, 1000.0, 0.0, 3)
femmesh.addNode(-2.22e-13, 1000.0, 1000.0, 4)
femmesh.addNode(8000.0, 0.0, 1000.0000000000018, 5)
femmesh.addNode(8000.0, 0.0, 1.8189894035458565e-12, 6)
femmesh.addNode(8000.0, 1000.0, 1.8189894035458565e-12, 7)
femmesh.addNode(8000.0, 1000.0, 1000.0000000000018, 8)
femmesh.addNode(-1.6648884876874216e-13, 0.0, 750.0, 9)
femmesh.addNode(-1.1097769753748433e-13, 0.0, 500.0, 10)
femmesh.addNode(-5.546654630622651e-14, 0.0, 250.0, 11)
femmesh.addNode(4.460492503132002e-17, 250.0, 0.0, 12)
femmesh.addNode(4.460492503132002e-17, 500.0, 0.0, 13)
femmesh.addNode(4.460492503132002e-17, 750.0, 0.0, 14)
femmesh.addNode(-5.546654630622651e-14, 1000.0, 250.0, 15)
femmesh.addNode(-1.1097769753748433e-13, 1000.0, 500.0, 16)
femmesh.addNode(-1.6648884876874216e-13, 1000.0, 750.0, 17)
femmesh.addNode(-2.22e-13, 750.0, 1000.0, 18)
femmesh.addNode(-2.22e-13, 500.0, 1000.0, 19)
femmesh.addNode(-2.22e-13, 250.0, 1000.0, 20)
femmesh.addNode(8000.0, 0.0, 750.0000000000018, 21)
femmesh.addNode(8000.0, 0.0, 500.00000000000176, 22)
femmesh.addNode(8000.0, 0.0, 250.00000000000182, 23)
femmesh.addNode(8000.0, 250.0, 1.8189894035458565e-12, 24)
femmesh.addNode(8000.0, 500.0, 1.8189894035458565e-12, 25)
femmesh.addNode(8000.0, 750.0, 1.8189894035458565e-12, 26)
femmesh.addNode(8000.0, 1000.0, 250.00000000000182, 27)
femmesh.addNode(8000.0, 1000.0, 500.00000000000176, 28)
femmesh.addNode(8000.0, 1000.0, 750.0000000000018, 29)
femmesh.addNode(8000.0, 750.0, 1000.0000000000018, 30)
femmesh.addNode(8000.0, 500.0, 1000.0000000000018, 31)
femmesh.addNode(8000.0, 250.0, 1000.0000000000018, 32)
femmesh.addNode(500.0, 0.0, 1.1368683772161603e-13, 33)
femmesh.addNode(1000.0, 0.0, 2.2737367544323206e-13, 34)
femmesh.addNode(1500.0, 0.0, 3.410605131648481e-13, 35)
femmesh.addNode(2000.0, 0.0, 4.547473508864641e-13, 36)
femmesh.addNode(2500.0, 0.0, 5.684341886080801e-13, 37)
femmesh.addNode(3000.0, 0.0, 6.821210263296962e-13, 38)
femmesh.addNode(3500.0, 0.0, 7.958078640513122e-13, 39)
femmesh.addNode(4000.0, 0.0, 9.094947017729282e-13, 40)
femmesh.addNode(4500.0, 0.0, 1.0231815394945443e-12, 41)
femmesh.addNode(5000.0, 0.0, 1.1368683772161603e-12, 42)
femmesh.addNode(5500.0, 0.0, 1.2505552149377763e-12, 43)
femmesh.addNode(6000.0, 0.0, 1.3642420526593924e-12, 44)
femmesh.addNode(6500.0, 0.0, 1.4779288903810084e-12, 45)
femmesh.addNode(7000.0, 0.0, 1.5916157281026244e-12, 46)
femmesh.addNode(7500.0, 0.0, 1.7053025658242404e-12, 47)
femmesh.addNode(7500.0, 0.0, 1000.0000000000017, 48)
femmesh.addNode(7000.0, 0.0, 1000.0000000000016, 49)
femmesh.addNode(6500.0, 0.0, 1000.0000000000015, 50)
femmesh.addNode(6000.0, 0.0, 1000.0000000000014, 51)
femmesh.addNode(5500.0, 0.0, 1000.0000000000013, 52)
femmesh.addNode(5000.0, 0.0, 1000.0000000000011, 53)
femmesh.addNode(4500.0, 0.0, 1000.000000000001, 54)
femmesh.addNode(4000.0, 0.0, 1000.0000000000009, 55)
femmesh.addNode(3500.0, 0.0, 1000.0000000000008, 56)
femmesh.addNode(3000.0, 0.0, 1000.0000000000007, 57)
femmesh.addNode(2500.0, 0.0, 1000.0000000000006, 58)
femmesh.addNode(1999.9999999999998, 0.0, 1000.0000000000005, 59)
femmesh.addNode(1499.9999999999998, 0.0, 1000.0000000000003, 60)
femmesh.addNode(999.9999999999998, 0.0, 1000.0000000000002, 61)
femmesh.addNode(499.9999999999998, 0.0, 1000.0000000000001, 62)
femmesh.addNode(500.0, 1000.0, 1.1368683772161603e-13, 63)
femmesh.addNode(1000.0, 1000.0, 2.2737367544323206e-13, 64)
femmesh.addNode(1500.0, 1000.0, 3.410605131648481e-13, 65)
femmesh.addNode(2000.0, 1000.0, 4.547473508864641e-13, 66)
femmesh.addNode(2500.0, 1000.0, 5.684341886080801e-13, 67)
femmesh.addNode(3000.0, 1000.0, 6.821210263296962e-13, 68)
femmesh.addNode(3500.0, 1000.0, 7.958078640513122e-13, 69)
femmesh.addNode(4000.0, 1000.0, 9.094947017729282e-13, 70)
femmesh.addNode(4500.0, 1000.0, 1.0231815394945443e-12, 71)
femmesh.addNode(5000.0, 1000.0, 1.1368683772161603e-12, 72)
femmesh.addNode(5500.0, 1000.0, 1.2505552149377763e-12, 73)
femmesh.addNode(6000.0, 1000.0, 1.3642420526593924e-12, 74)
femmesh.addNode(6500.0, 1000.0, 1.4779288903810084e-12, 75)
femmesh.addNode(7000.0, 1000.0, 1.5916157281026244e-12, 76)
femmesh.addNode(7500.0, 1000.0, 1.7053025658242404e-12, 77)
femmesh.addNode(499.9999999999998, 1000.0, 1000.0000000000001, 78)
femmesh.addNode(999.9999999999998, 1000.0, 1000.0000000000002, 79)
femmesh.addNode(1499.9999999999998, 1000.0, 1000.0000000000003, 80)
femmesh.addNode(1999.9999999999998, 1000.0, 1000.0000000000005, 81)
femmesh.addNode(2500.0, 1000.0, 1000.0000000000006, 82)
femmesh.addNode(3000.0, 1000.0, 1000.0000000000007, 83)
femmesh.addNode(3500.0, 1000.0, 1000.0000000000008, 84)
femmesh.addNode(4000.0, 1000.0, 1000.0000000000009, 85)
femmesh.addNode(4500.0, 1000.0, 1000.000000000001, 86)
femmesh.addNode(5000.0, 1000.0, 1000.0000000000011, 87)
femmesh.addNode(5500.0, 1000.0, 1000.0000000000013, 88)
femmesh.addNode(6000.0, 1000.0, 1000.0000000000014, 89)
femmesh.addNode(6500.0, 1000.0, 1000.0000000000015, 90)
femmesh.addNode(7000.0, 1000.0, 1000.0000000000016, 91)
femmesh.addNode(7500.0, 1000.0, 1000.0000000000017, 92)
femmesh.addNode(-1.1097769753748433e-13, 250.0, 500.0, 93)
femmesh.addNode(-1.6648884876874216e-13, 500.0, 750.0, 94)
femmesh.addNode(-1.1097769753748433e-13, 500.0, 500.0, 95)
femmesh.addNode(-5.546654630622651e-14, 500.0, 250.0, 96)
femmesh.addNode(-1.1097769753748433e-13, 750.0, 500.0, 97)
femmesh.addNode(8000.0, 250.0, 500.00000000000176, 98)
femmesh.addNode(8000.0, 500.0, 750.0000000000018, 99)
femmesh.addNode(8000.0, 500.0, 500.00000000000176, 100)
femmesh.addNode(8000.0, 500.0, 250.00000000000182, 101)
femmesh.addNode(8000.0, 750.0, 500.00000000000176, 102)
femmesh.addNode(499.9999999999999, 0.0, 500.0000000000001, 103)
femmesh.addNode(999.9999999999998, 0.0, 750.0000000000002, 104)
femmesh.addNode(999.9999999999999, 0.0, 500.0000000000002, 105)
femmesh.addNode(999.9999999999999, 0.0, 250.00000000000023, 106)
femmesh.addNode(1499.9999999999998, 0.0, 500.00000000000034, 107)
femmesh.addNode(1999.9999999999998, 0.0, 750.0000000000005, 108)
femmesh.addNode(1999.9999999999998, 0.0, 500.00000000000045, 109)
femmesh.addNode(2000.0, 0.0, 250.00000000000045, 110)
femmesh.addNode(2500.0, 0.0, 500.00000000000057, 111)
femmesh.addNode(3000.0, 0.0, 750.0000000000007, 112)
femmesh.addNode(3000.0, 0.0, 500.0000000000007, 113)
femmesh.addNode(3000.0, 0.0, 250.00000000000068, 114)
femmesh.addNode(3500.0, 0.0, 500.0000000000008, 115)
femmesh.addNode(4000.0, 0.0, 750.0000000000009, 116)
femmesh.addNode(4000.0, 0.0, 500.0000000000009, 117)
femmesh.addNode(4000.0, 0.0, 250.0000000000009, 118)
femmesh.addNode(4500.0, 0.0, 500.000000000001, 119)
femmesh.addNode(5000.0, 0.0, 750.0000000000011, 120)
femmesh.addNode(5000.0, 0.0, 500.00000000000114, 121)
femmesh.addNode(5000.0, 0.0, 250.00000000000114, 122)
femmesh.addNode(5500.0, 0.0, 500.0000000000012, 123)
femmesh.addNode(6000.0, 0.0, 750.0000000000014, 124)
femmesh.addNode(6000.0, 0.0, 500.0000000000013, 125)
femmesh.addNode(6000.0, 0.0, 250.00000000000136, 126)
femmesh.addNode(6500.0, 0.0, 500.0000000000014, 127)
femmesh.addNode(7000.0, 0.0, 750.0000000000016, 128)
femmesh.addNode(7000.0, 0.0, 500.00000000000153, 129)
femmesh.addNode(7000.0, 0.0, 250.0000000000016, 130)
femmesh.addNode(7500.0, 0.0, 500.00000000000165, 131)
femmesh.addNode(500.0, 500.0, 1.1368683772161603e-13, 132)
femmesh.addNode(1000.0, 250.0, 2.2737367544323206e-13, 133)
femmesh.addNode(1000.0, 500.0, 2.2737367544323206e-13, 134)
femmesh.addNode(1000.0, 750.0, 2.2737367544323206e-13, 135)
femmesh.addNode(1500.0, 500.0, 3.410605131648481e-13, 136)
femmesh.addNode(2000.0, 250.0, 4.547473508864641e-13, 137)
femmesh.addNode(2000.0, 500.0, 4.547473508864641e-13, 138)
femmesh.addNode(2000.0, 750.0, 4.547473508864641e-13, 139)
femmesh.addNode(2500.0, 500.0, 5.684341886080801e-13, 140)
femmesh.addNode(3000.0, 250.0, 6.821210263296962e-13, 141)
femmesh.addNode(3000.0, 500.0, 6.821210263296962e-13, 142)
femmesh.addNode(3000.0, 750.0, 6.821210263296962e-13, 143)
femmesh.addNode(3500.0, 500.0, 7.958078640513122e-13, 144)
femmesh.addNode(4000.0, 250.0, 9.094947017729282e-13, 145)
femmesh.addNode(4000.0, 500.0, 9.094947017729282e-13, 146)
femmesh.addNode(4000.0, 750.0, 9.094947017729282e-13, 147)
femmesh.addNode(4500.0, 500.0, 1.0231815394945443e-12, 148)
femmesh.addNode(5000.0, 250.0, 1.1368683772161603e-12, 149)
femmesh.addNode(5000.0, 500.0, 1.1368683772161603e-12, 150)
femmesh.addNode(5000.0, 750.0, 1.1368683772161603e-12, 151)
femmesh.addNode(5500.0, 500.0, 1.2505552149377763e-12, 152)
femmesh.addNode(6000.0, 250.0, 1.3642420526593924e-12, 153)
femmesh.addNode(6000.0, 500.0, 1.3642420526593924e-12, 154)
femmesh.addNode(6000.0, 750.0, 1.3642420526593924e-12, 155)
femmesh.addNode(6500.0, 500.0, 1.4779288903810084e-12, 156)
femmesh.addNode(7000.0, 250.0, 1.5916157281026244e-12, 157)
femmesh.addNode(7000.0, 500.0, 1.5916157281026244e-12, 158)
femmesh.addNode(7000.0, 750.0, 1.5916157281026244e-12, 159)
femmesh.addNode(7500.0, 500.0, 1.7053025658242404e-12, 160)
femmesh.addNode(499.9999999999999, 1000.0, 500.0000000000001, 161)
femmesh.addNode(999.9999999999999, 1000.0, 250.00000000000023, 162)
femmesh.addNode(999.9999999999999, 1000.0, 500.0000000000002, 163)
femmesh.addNode(999.9999999999998, 1000.0, 750.0000000000002, 164)
femmesh.addNode(1499.9999999999998, 1000.0, 500.00000000000034, 165)
femmesh.addNode(2000.0, 1000.0, 250.00000000000045, 166)
femmesh.addNode(1999.9999999999998, 1000.0, 500.00000000000045, 167)
femmesh.addNode(1999.9999999999998, 1000.0, 750.0000000000005, 168)
femmesh.addNode(2500.0, 1000.0, 500.00000000000057, 169)
femmesh.addNode(3000.0, 1000.0, 250.00000000000068, 170)
femmesh.addNode(3000.0, 1000.0, 500.0000000000007, 171)
femmesh.addNode(3000.0, 1000.0, 750.0000000000007, 172)
femmesh.addNode(3500.0, 1000.0, 500.0000000000008, 173)
femmesh.addNode(4000.0, 1000.0, 250.0000000000009, 174)
femmesh.addNode(4000.0, 1000.0, 500.0000000000009, 175)
femmesh.addNode(4000.0, 1000.0, 750.0000000000009, 176)
femmesh.addNode(4500.0, 1000.0, 500.000000000001, 177)
femmesh.addNode(5000.0, 1000.0, 250.00000000000114, 178)
femmesh.addNode(5000.0, 1000.0, 500.00000000000114, 179)
femmesh.addNode(5000.0, 1000.0, 750.0000000000011, 180)
femmesh.addNode(5500.0, 1000.0, 500.0000000000012, 181)
femmesh.addNode(6000.0, 1000.0, 250.00000000000136, 182)
femmesh.addNode(6000.0, 1000.0, 500.0000000000013, 183)
femmesh.addNode(6000.0, 1000.0, 750.0000000000014, 184)
femmesh.addNode(6500.0, 1000.0, 500.0000000000014, 185)
femmesh.addNode(7000.0, 1000.0, 250.0000000000016, 186)
femmesh.addNode(7000.0, 1000.0, 500.00000000000153, 187)
femmesh.addNode(7000.0, 1000.0, 750.0000000000016, 188)
femmesh.addNode(7500.0, 1000.0, 500.00000000000165, 189)
femmesh.addNode(499.9999999999998, 500.0, 1000.0000000000001, 190)
femmesh.addNode(999.9999999999998, 750.0, 1000.0000000000002, 191)
femmesh.addNode(999.9999999999998, 500.0, 1000.0000000000002, 192)
femmesh.addNode(999.9999999999998, 250.0, 1000.0000000000002, 193)
femmesh.addNode(1499.9999999999998, 500.0, 1000.0000000000003, 194)
femmesh.addNode(1999.9999999999998, 750.0, 1000.0000000000005, 195)
femmesh.addNode(1999.9999999999998, 500.0, 1000.0000000000005, 196)
femmesh.addNode(1999.9999999999998, 250.0, 1000.0000000000005, 197)
femmesh.addNode(2500.0, 500.0, 1000.0000000000006, 198)
femmesh.addNode(3000.0, 750.0, 1000.0000000000007, 199)
femmesh.addNode(3000.0, 500.0, 1000.0000000000007, 200)
femmesh.addNode(3000.0, 250.0, 1000.0000000000007, 201)
femmesh.addNode(3500.0, 500.0, 1000.0000000000008, 202)
femmesh.addNode(4000.0, 750.0, 1000.0000000000009, 203)
femmesh.addNode(4000.0, 500.0, 1000.0000000000009, 204)
femmesh.addNode(4000.0, 250.0, 1000.0000000000009, 205)
femmesh.addNode(4500.0, 500.0, 1000.000000000001, 206)
femmesh.addNode(5000.0, 750.0, 1000.0000000000011, 207)
femmesh.addNode(5000.0, 500.0, 1000.0000000000011, 208)
femmesh.addNode(5000.0, 250.0, 1000.0000000000011, 209)
femmesh.addNode(5500.0, 500.0, 1000.0000000000013, 210)
femmesh.addNode(6000.0, 750.0, 1000.0000000000014, 211)
femmesh.addNode(6000.0, 500.0, 1000.0000000000014, 212)
femmesh.addNode(6000.0, 250.0, 1000.0000000000014, 213)
femmesh.addNode(6500.0, 500.0, 1000.0000000000015, 214)
femmesh.addNode(7000.0, 750.0, 1000.0000000000016, 215)
femmesh.addNode(7000.0, 500.0, 1000.0000000000016, 216)
femmesh.addNode(7000.0, 250.0, 1000.0000000000016, 217)
femmesh.addNode(7500.0, 500.0, 1000.0000000000017, 218)
femmesh.addNode(499.9999999999999, 500.0, 500.0000000000001, 219)
femmesh.addNode(999.9999999999999, 250.0, 500.0000000000002, 220)
femmesh.addNode(999.9999999999998, 500.0, 750.0000000000002, 221)
femmesh.addNode(999.9999999999999, 500.0, 500.0000000000002, 222)
femmesh.addNode(999.9999999999999, 500.0, 250.00000000000023, 223)
femmesh.addNode(999.9999999999999, 750.0, 500.0000000000002, 224)
femmesh.addNode(1499.9999999999998, 500.0, 500.00000000000034, 225)
femmesh.addNode(1999.9999999999998, 250.0, 500.00000000000045, 226)
femmesh.addNode(1999.9999999999998, 500.0, 750.0000000000005, 227)
femmesh.addNode(1999.9999999999998, 500.0, 500.00000000000045, 228)
femmesh.addNode(2000.0, 500.0, 250.00000000000045, 229)
femmesh.addNode(1999.9999999999998, 750.0, 500.00000000000045, 230)
femmesh.addNode(2500.0, 500.0, 500.00000000000057, 231)
femmesh.addNode(3000.0, 250.0, 500.0000000000007, 232)
femmesh.addNode(3000.0, 500.0, 750.0000000000007, 233)
femmesh.addNode(3000.0, 500.0, 500.0000000000007, 234)
femmesh.addNode(3000.0, 500.0, 250.00000000000068, 235)
femmesh.addNode(3000.0, 750.0, 500.0000000000007, 236)
femmesh.addNode(3500.0, 500.0, 500.0000000000008, 237)
femmesh.addNode(4000.0, 250.0, 500.0000000000009, 238)
femmesh.addNode(4000.0, 500.0, 750.0000000000009, 239)
femmesh.addNode(4000.0, 500.0, 500.0000000000009, 240)
femmesh.addNode(4000.0, 500.0, 250.0000000000009, 241)
femmesh.addNode(4000.0, 750.0, 500.0000000000009, 242)
femmesh.addNode(4500.0, 500.0, 500.000000000001, 243)
femmesh.addNode(5000.0, 250.0, 500.00000000000114, 244)
femmesh.addNode(5000.0, 500.0, 750.0000000000011, 245)
femmesh.addNode(5000.0, 500.0, 500.00000000000114, 246)
femmesh.addNode(5000.0, 500.0, 250.00000000000114, 247)
femmesh.addNode(5000.0, 750.0, 500.00000000000114, 248)
femmesh.addNode(5500.0, 500.0, 500.0000000000012, 249)
femmesh.addNode(6000.0, 250.0, 500.0000000000013, 250)
femmesh.addNode(6000.0, 500.0, 750.0000000000014, 251)
femmesh.addNode(6000.0, 500.0, 500.0000000000013, 252)
femmesh.addNode(6000.0, 500.0, 250.00000000000136, 253)
femmesh.addNode(6000.0, 750.0, 500.0000000000013, 254)
femmesh.addNode(6500.0, 500.0, 500.0000000000014, 255)
femmesh.addNode(7000.0, 250.0, 500.00000000000153, 256)
femmesh.addNode(7000.0, 500.0, 750.0000000000016, 257)
femmesh.addNode(7000.0, 500.0, 500.00000000000153, 258)
femmesh.addNode(7000.0, 500.0, 250.0000000000016, 259)
femmesh.addNode(7000.0, 750.0, 500.00000000000153, 260)
femmesh.addNode(7500.0, 500.0, 500.00000000000165, 261)
return True
def create_elements(femmesh):
# elements
femmesh.addVolume([
192, 61, 105, 222, 19, 1, 10, 95, 193, 104, 220, 221, 20, 9, 93, 94, 190, 62, 103, 219
], 1)
femmesh.addVolume([
222, 105, 34, 134, 95, 10, 2, 13, 220, 106, 133, 223, 93, 11, 12, 96, 219, 103, 33, 132
], 2)
femmesh.addVolume([
79, 192, 222, 163, 4, 19, 95, 16, 191, 221, 224, 164, 18, 94, 97, 17, 78, 190, 219, 161
], 3)
femmesh.addVolume([
163, 222, 134, 64, 16, 95, 13, 3, 224, 223,
135, 162, 97, 96, 14, 15, 161, 219, 132, 63
], 4)
femmesh.addVolume([
196, 59, 109, 228, 192, 61, 105, 222, 197,
108, 226, 227, 193, 104, 220, 221, 194, 60, 107, 225
], 5)
femmesh.addVolume([
228, 109, 36, 138, 222, 105, 34, 134, 226,
110, 137, 229, 220, 106, 133, 223, 225, 107, 35, 136
], 6)
femmesh.addVolume([
81, 196, 228, 167, 79, 192, 222, 163, 195, 227,
230, 168, 191, 221, 224, 164, 80, 194, 225, 165
], 7)
femmesh.addVolume([
167, 228, 138, 66, 163, 222, 134, 64, 230, 229,
139, 166, 224, 223, 135, 162, 165, 225, 136, 65
], 8)
femmesh.addVolume([
200, 57, 113, 234, 196, 59, 109, 228, 201, 112,
232, 233, 197, 108, 226, 227, 198, 58, 111, 231
], 9)
femmesh.addVolume([
234, 113, 38, 142, 228, 109, 36, 138, 232, 114,
141, 235, 226, 110, 137, 229, 231, 111, 37, 140
], 10)
femmesh.addVolume([
83, 200, 234, 171, 81, 196, 228, 167, 199, 233,
236, 172, 195, 227, 230, 168, 82, 198, 231, 169
], 11)
femmesh.addVolume([
171, 234, 142, 68, 167, 228, 138, 66, 236, 235,
143, 170, 230, 229, 139, 166, 169, 231, 140, 67
], 12)
femmesh.addVolume([
204, 55, 117, 240, 200, 57, 113, 234, 205, 116,
238, 239, 201, 112, 232, 233, 202, 56, 115, 237
], 13)
femmesh.addVolume([
240, 117, 40, 146, 234, 113, 38, 142, 238, 118,
145, 241, 232, 114, 141, 235, 237, 115, 39, 144
], 14)
femmesh.addVolume([
85, 204, 240, 175, 83, 200, 234, 171, 203, 239,
242, 176, 199, 233, 236, 172, 84, 202, 237, 173
], 15)
femmesh.addVolume([
175, 240, 146, 70, 171, 234, 142, 68, 242, 241,
147, 174, 236, 235, 143, 170, 173, 237, 144, 69
], 16)
femmesh.addVolume([
208, 53, 121, 246, 204, 55, 117, 240, 209, 120,
244, 245, 205, 116, 238, 239, 206, 54, 119, 243
], 17)
femmesh.addVolume([
246, 121, 42, 150, 240, 117, 40, 146, 244, 122,
149, 247, 238, 118, 145, 241, 243, 119, 41, 148
], 18)
femmesh.addVolume([
87, 208, 246, 179, 85, 204, 240, 175, 207, 245,
248, 180, 203, 239, 242, 176, 86, 206, 243, 177
], 19)
femmesh.addVolume([
179, 246, 150, 72, 175, 240, 146, 70, 248, 247,
151, 178, 242, 241, 147, 174, 177, 243, 148, 71
], 20)
femmesh.addVolume([
212, 51, 125, 252, 208, 53, 121, 246, 213, 124,
250, 251, 209, 120, 244, 245, 210, 52, 123, 249
], 21)
femmesh.addVolume([
252, 125, 44, 154, 246, 121, 42, 150, 250, 126,
153, 253, 244, 122, 149, 247, 249, 123, 43, 152
], 22)
femmesh.addVolume([
89, 212, 252, 183, 87, 208, 246, 179, 211, 251,
254, 184, 207, 245, 248, 180, 88, 210, 249, 181
], 23)
femmesh.addVolume([
183, 252, 154, 74, 179, 246, 150, 72, 254, 253,
155, 182, 248, 247, 151, 178, 181, 249, 152, 73
], 24)
femmesh.addVolume([
216, 49, 129, 258, 212, 51, 125, 252, 217, 128,
256, 257, 213, 124, 250, 251, 214, 50, 127, 255
], 25)
femmesh.addVolume([
258, 129, 46, 158, 252, 125, 44, 154, 256, 130,
157, 259, 250, 126, 153, 253, 255, 127, 45, 156
], 26)
femmesh.addVolume([
91, 216, 258, 187, 89, 212, 252, 183, 215, 257,
260, 188, 211, 251, 254, 184, 90, 214, 255, 185
], 27)
femmesh.addVolume([
187, 258, 158, 76, 183, 252, 154, 74, 260, 259,
159, 186, 254, 253, 155, 182, 185, 255, 156, 75
], 28)
femmesh.addVolume([
31, 5, 22, 100, 216, 49, 129, 258, 32, 21,
98, 99, 217, 128, 256, 257, 218, 48, 131, 261
], 29)
femmesh.addVolume([
100, 22, 6, 25, 258, 129, 46, 158, 98, 23,
24, 101, 256, 130, 157, 259, 261, 131, 47, 160
], 30)
femmesh.addVolume([
8, 31, 100, 28, 91, 216, 258, 187, 30, 99,
102, 29, 215, 257, 260, 188, 92, 218, 261, 189
], 31)
femmesh.addVolume([
28, 100, 25, 7, 187, 258, 158, 76, 102, 101,
26, 27, 260, 259, 159, 186, 189, 261, 160, 77
], 32)
return True