FEM: unit tests, add z88 writing test framework
This commit is contained in:
committed by
Bernd Hahnebach
parent
b900b2956b
commit
2d40c82435
@@ -214,6 +214,7 @@ SET(FemTestsApp_SRCS
|
||||
femtest/app/test_result.py
|
||||
femtest/app/test_solver_calculix.py
|
||||
femtest/app/test_solver_elmer.py
|
||||
femtest/app/test_solver_z88.py
|
||||
)
|
||||
|
||||
SET(FemTestsFiles_SRCS
|
||||
@@ -286,6 +287,19 @@ SET(FemTestsOpen_SRCS
|
||||
femtest/data/open/all_objects_de9b3fb438.FCStd
|
||||
)
|
||||
|
||||
SET(FemTestsZ88_SRCS
|
||||
femtest/data/z88/__init__.py
|
||||
femtest/data/z88/ccxcantilever_faceload/51.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88.dyn
|
||||
femtest/data/z88/ccxcantilever_faceload/z88elp.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88i1.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88i2.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88i5.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88int.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88man.txt
|
||||
femtest/data/z88/ccxcantilever_faceload/z88mat.txt
|
||||
)
|
||||
|
||||
SET(FemTools_SRCS
|
||||
femtools/__init__.py
|
||||
femtools/ccxtools.py
|
||||
@@ -321,6 +335,7 @@ SET(FemAllScripts
|
||||
${FemTestsElmer_SRCS}
|
||||
${FemTestsMesh_SRCS}
|
||||
${FemTestsOpen_SRCS}
|
||||
${FemTestsZ88_SRCS}
|
||||
${FemTools_SRCS}
|
||||
)
|
||||
|
||||
@@ -353,6 +368,7 @@ INSTALL(FILES ${FemTestsCcx_SRCS} DESTINATION Mod/Fem/femtest/data/calculix)
|
||||
INSTALL(FILES ${FemTestsElmer_SRCS} DESTINATION Mod/Fem/femtest/data/elmer)
|
||||
INSTALL(FILES ${FemTestsMesh_SRCS} DESTINATION Mod/Fem/femtest/data/mesh)
|
||||
INSTALL(FILES ${FemTestsOpen_SRCS} DESTINATION Mod/Fem/femtest/data/open)
|
||||
INSTALL(FILES ${FemTestsZ88_SRCS} DESTINATION Mod/Fem/femtest/data/z88)
|
||||
INSTALL(FILES ${FemTools_SRCS} DESTINATION Mod/Fem/femtools)
|
||||
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ from femtest.app.test_result import TestResult as FemTest10
|
||||
from femtest.app.test_ccxtools import TestCcxTools as FemTest11
|
||||
from femtest.app.test_solver_calculix import TestSolverCalculix as FemTest12
|
||||
from femtest.app.test_solver_elmer import TestSolverElmer as FemTest13
|
||||
from femtest.app.test_solver_z88 import TestSolverZ88 as FemTest14
|
||||
|
||||
# dummy usage to get flake8 and lgtm quiet
|
||||
False if FemTest01.__name__ else True
|
||||
@@ -52,3 +53,4 @@ False if FemTest10.__name__ else True
|
||||
False if FemTest11.__name__ else True
|
||||
False if FemTest12.__name__ else True
|
||||
False if FemTest13.__name__ else True
|
||||
False if FemTest14.__name__ else True
|
||||
|
||||
142
src/Mod/Fem/femtest/app/test_solver_z88.py
Normal file
142
src/Mod/Fem/femtest/app/test_solver_z88.py
Normal file
@@ -0,0 +1,142 @@
|
||||
# ***************************************************************************
|
||||
# * Copyright (c) 2018 Bernd Hahnebach <bernd@bimstatik.org> *
|
||||
# * Copyright (c) 2020 Sudhanshu Dubey <sudhanshu.thethunder@gmail.com> *
|
||||
# * *
|
||||
# * 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 *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
|
||||
__title__ = "Solver z88 FEM unit tests"
|
||||
__author__ = "Bernd Hahnebach"
|
||||
__url__ = "http://www.freecadweb.org"
|
||||
|
||||
import unittest
|
||||
from os import listdir
|
||||
from os.path import join
|
||||
|
||||
import FreeCAD
|
||||
|
||||
import femsolver.run
|
||||
from . import support_utils as testtools
|
||||
from .support_utils import fcc_print
|
||||
|
||||
|
||||
class TestSolverZ88(unittest.TestCase):
|
||||
fcc_print("import TestSolverZ88")
|
||||
|
||||
# ********************************************************************************************
|
||||
def setUp(
|
||||
self
|
||||
):
|
||||
# setUp is executed before every test
|
||||
|
||||
# new document
|
||||
self.document = FreeCAD.newDocument(self.__class__.__name__)
|
||||
|
||||
# more inits
|
||||
self.mesh_name = "Mesh"
|
||||
|
||||
# ********************************************************************************************
|
||||
def tearDown(
|
||||
self
|
||||
):
|
||||
# tearDown is executed after every test
|
||||
FreeCAD.closeDocument(self.document.Name)
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_00print(
|
||||
self
|
||||
):
|
||||
# since method name starts with 00 this will be run first
|
||||
# this test just prints a line with stars
|
||||
|
||||
fcc_print("\n{0}\n{1} run FEM TestSolverFrameWork tests {2}\n{0}".format(
|
||||
100 * "*",
|
||||
10 * "*",
|
||||
55 * "*"
|
||||
))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_solver_z88(
|
||||
self
|
||||
):
|
||||
from femexamples.ccx_cantilever_faceload import setup
|
||||
setup(self.document, "z88")
|
||||
self.z88_inputfile_writing_test("ccxcantilever_faceload")
|
||||
|
||||
# ********************************************************************************************
|
||||
def z88_inputfile_writing_test(
|
||||
self,
|
||||
base_name
|
||||
):
|
||||
|
||||
self.document.recompute()
|
||||
|
||||
# start
|
||||
fcc_print(
|
||||
"\n------------- Start of FEM Z88 tests for {} -------"
|
||||
.format(base_name)
|
||||
)
|
||||
|
||||
# get analysis working directory and save FreeCAD file
|
||||
working_dir = testtools.get_fem_test_tmp_dir("solver_z88_" + base_name)
|
||||
save_fc_file = join(working_dir, base_name + ".FCStd")
|
||||
fcc_print("Save FreeCAD file to {} ...".format(save_fc_file))
|
||||
self.document.saveAs(save_fc_file)
|
||||
|
||||
# write input file
|
||||
machine = self.document.SolverZ88.Proxy.createMachine(
|
||||
self.document.SolverZ88,
|
||||
working_dir,
|
||||
True # set testmode to True
|
||||
)
|
||||
machine.target = femsolver.run.PREPARE
|
||||
machine.start()
|
||||
machine.join() # wait for the machine to finish
|
||||
|
||||
# compare input file with the given one
|
||||
test_path = join(testtools.get_fem_test_home_dir(), "z88", base_name)
|
||||
test_files = [f for f in listdir(test_path)]
|
||||
for test_file in test_files:
|
||||
inpfile_given = join(
|
||||
test_path,
|
||||
test_file
|
||||
)
|
||||
inpfile_totest = join(
|
||||
working_dir,
|
||||
test_file
|
||||
)
|
||||
fcc_print(
|
||||
"Comparing {} to {}"
|
||||
.format(inpfile_given, inpfile_totest)
|
||||
)
|
||||
ret = testtools.compare_inp_files(
|
||||
inpfile_given,
|
||||
inpfile_totest
|
||||
)
|
||||
self.assertFalse(
|
||||
ret,
|
||||
"Z88 write_inp_file for {0} test failed.\n{1}".format(base_name, ret)
|
||||
)
|
||||
|
||||
# end
|
||||
fcc_print(
|
||||
"--------------- End of FEM Z88 tests for {} ---------"
|
||||
.format(base_name)
|
||||
)
|
||||
0
src/Mod/Fem/femtest/data/z88/__init__.py
Normal file
0
src/Mod/Fem/femtest/data/z88/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
210000.0 0.300
|
||||
49
src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88.dyn
Normal file
49
src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88.dyn
Normal file
@@ -0,0 +1,49 @@
|
||||
DYNAMIC START
|
||||
---------------------------------------------------------------------------
|
||||
Z88 new version 14OS Z88 neue Version 14OS
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
LANGUAGE SPRACHE
|
||||
---------------------------------------------------------------------------
|
||||
GERMAN
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
Entries for mesh generator Z88N Daten fuer Netzgenerator
|
||||
---------------------------------------------------------------------------
|
||||
NET START
|
||||
MAXSE 40000
|
||||
MAXESS 800
|
||||
MAXKSS 4000
|
||||
MAXAN 15
|
||||
NET END
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
Common entries for all modules gemeinsame Daten fuer alle Module
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
COMMON START
|
||||
MAXGS 50000000
|
||||
MAXKOI 1200000
|
||||
MAXK 60000
|
||||
MAXE 300000
|
||||
MAXNFG 200000
|
||||
MAXMAT 32
|
||||
MAXPEL 32
|
||||
MAXJNT 32
|
||||
MAXPR 10000
|
||||
MAXRBD 15000
|
||||
MAXIEZ 6000000
|
||||
MAXGP 2000000
|
||||
COMMON END
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
Entries for Cuthill-McKee Z88H Daten fuer Cuthill- McKee Programm
|
||||
---------------------------------------------------------------------------
|
||||
CUTKEE START
|
||||
MAXGRA 200
|
||||
MAXNDL 1000
|
||||
CUTKEE END
|
||||
|
||||
|
||||
DYNAMIC END
|
||||
@@ -0,0 +1,2 @@
|
||||
1
|
||||
1 79 0 0 0 0 0 0 0
|
||||
387
src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i1.txt
Normal file
387
src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i1.txt
Normal file
@@ -0,0 +1,387 @@
|
||||
3 228 79 684 0 written by FreeCAD
|
||||
1 3 8000.000000 1000.000000 0.000000
|
||||
2 3 8000.000000 1000.000000 1000.000000
|
||||
3 3 8000.000000 0.000000 0.000000
|
||||
4 3 8000.000000 0.000000 1000.000000
|
||||
5 3 0.000000 1000.000000 0.000000
|
||||
6 3 0.000000 1000.000000 1000.000000
|
||||
7 3 0.000000 0.000000 0.000000
|
||||
8 3 0.000000 0.000000 1000.000000
|
||||
9 3 728.000000 1000.000000 1000.000000
|
||||
10 3 1456.000000 1000.000000 1000.000000
|
||||
11 3 2184.000000 1000.000000 1000.000000
|
||||
12 3 2912.000000 1000.000000 1000.000000
|
||||
13 3 3640.000000 1000.000000 1000.000000
|
||||
14 3 4368.000000 1000.000000 1000.000000
|
||||
15 3 5096.000000 1000.000000 1000.000000
|
||||
16 3 5824.000000 1000.000000 1000.000000
|
||||
17 3 6552.000000 1000.000000 1000.000000
|
||||
18 3 7280.000000 1000.000000 1000.000000
|
||||
19 3 728.000000 0.000000 1000.000000
|
||||
20 3 1456.000000 0.000000 1000.000000
|
||||
21 3 2184.000000 0.000000 1000.000000
|
||||
22 3 2912.000000 0.000000 1000.000000
|
||||
23 3 3640.000000 0.000000 1000.000000
|
||||
24 3 4368.000000 0.000000 1000.000000
|
||||
25 3 5096.000000 0.000000 1000.000000
|
||||
26 3 5824.000000 0.000000 1000.000000
|
||||
27 3 6552.000000 0.000000 1000.000000
|
||||
28 3 7280.000000 0.000000 1000.000000
|
||||
29 3 728.000000 1000.000000 0.000000
|
||||
30 3 1456.000000 1000.000000 0.000000
|
||||
31 3 2184.000000 1000.000000 0.000000
|
||||
32 3 2912.000000 1000.000000 0.000000
|
||||
33 3 3640.000000 1000.000000 0.000000
|
||||
34 3 4368.000000 1000.000000 0.000000
|
||||
35 3 5096.000000 1000.000000 0.000000
|
||||
36 3 5824.000000 1000.000000 0.000000
|
||||
37 3 6552.000000 1000.000000 0.000000
|
||||
38 3 7280.000000 1000.000000 0.000000
|
||||
39 3 728.000000 0.000000 0.000000
|
||||
40 3 1456.000000 0.000000 0.000000
|
||||
41 3 2184.000000 0.000000 0.000000
|
||||
42 3 2912.000000 0.000000 0.000000
|
||||
43 3 3640.000000 0.000000 0.000000
|
||||
44 3 4368.000000 0.000000 0.000000
|
||||
45 3 5096.000000 0.000000 0.000000
|
||||
46 3 5824.000000 0.000000 0.000000
|
||||
47 3 6552.000000 0.000000 0.000000
|
||||
48 3 7280.000000 0.000000 0.000000
|
||||
49 3 8000.000000 500.000000 500.000000
|
||||
50 3 0.000000 500.000000 500.000000
|
||||
51 3 4732.000000 500.000001 499.999999
|
||||
52 3 0.000000 500.000000 1000.000000
|
||||
53 3 364.000000 1000.000000 1000.000000
|
||||
54 3 1092.000000 1000.000000 1000.000000
|
||||
55 3 1820.000000 1000.000000 1000.000000
|
||||
56 3 2548.000000 1000.000000 1000.000000
|
||||
57 3 3276.000000 1000.000000 1000.000000
|
||||
58 3 4004.000000 1000.000000 1000.000000
|
||||
59 3 4732.000000 1000.000000 1000.000000
|
||||
60 3 5460.000000 1000.000000 1000.000000
|
||||
61 3 6188.000000 1000.000000 1000.000000
|
||||
62 3 6916.000000 1000.000000 1000.000000
|
||||
63 3 7640.000000 1000.000000 1000.000000
|
||||
64 3 8000.000000 500.000000 1000.000000
|
||||
65 3 364.000000 0.000000 1000.000000
|
||||
66 3 1092.000000 0.000000 1000.000000
|
||||
67 3 1820.000000 0.000000 1000.000000
|
||||
68 3 2548.000000 0.000000 1000.000000
|
||||
69 3 3276.000000 0.000000 1000.000000
|
||||
70 3 4004.000000 0.000000 1000.000000
|
||||
71 3 4732.000000 0.000000 1000.000000
|
||||
72 3 5460.000000 0.000000 1000.000000
|
||||
73 3 6188.000000 0.000000 1000.000000
|
||||
74 3 6916.000000 0.000000 1000.000000
|
||||
75 3 7640.000000 0.000000 1000.000000
|
||||
76 3 0.000000 500.000000 0.000000
|
||||
77 3 364.000000 1000.000000 0.000000
|
||||
78 3 1092.000000 1000.000000 0.000000
|
||||
79 3 1820.000000 1000.000000 0.000000
|
||||
80 3 2548.000000 1000.000000 0.000000
|
||||
81 3 3276.000000 1000.000000 0.000000
|
||||
82 3 4004.000000 1000.000000 0.000000
|
||||
83 3 4732.000000 1000.000000 0.000000
|
||||
84 3 5460.000000 1000.000000 0.000000
|
||||
85 3 6188.000000 1000.000000 0.000000
|
||||
86 3 6916.000000 1000.000000 0.000000
|
||||
87 3 7640.000000 1000.000000 0.000000
|
||||
88 3 8000.000000 500.000000 0.000000
|
||||
89 3 364.000000 0.000000 0.000000
|
||||
90 3 1092.000000 0.000000 0.000000
|
||||
91 3 1820.000000 0.000000 0.000000
|
||||
92 3 2548.000000 0.000000 0.000000
|
||||
93 3 3276.000000 0.000000 0.000000
|
||||
94 3 4004.000000 0.000000 0.000000
|
||||
95 3 4732.000000 0.000000 0.000000
|
||||
96 3 5460.000000 0.000000 0.000000
|
||||
97 3 6188.000000 0.000000 0.000000
|
||||
98 3 6916.000000 0.000000 0.000000
|
||||
99 3 7640.000000 0.000000 0.000000
|
||||
100 3 8000.000000 1000.000000 500.000000
|
||||
101 3 0.000000 1000.000000 500.000000
|
||||
102 3 8000.000000 0.000000 500.000000
|
||||
103 3 0.000000 0.000000 500.000000
|
||||
104 3 364.000000 500.000000 1000.000000
|
||||
105 3 728.000000 500.000000 1000.000000
|
||||
106 3 1092.000000 500.000000 1000.000000
|
||||
107 3 1456.000000 500.000000 1000.000000
|
||||
108 3 1820.000000 500.000000 1000.000000
|
||||
109 3 2184.000000 500.000000 1000.000000
|
||||
110 3 2548.000000 500.000000 1000.000000
|
||||
111 3 3276.000000 500.000000 1000.000000
|
||||
112 3 3640.000000 500.000000 1000.000000
|
||||
113 3 4004.000000 500.000000 1000.000000
|
||||
114 3 4368.000000 500.000000 1000.000000
|
||||
115 3 4732.000000 500.000000 1000.000000
|
||||
116 3 5096.000000 500.000000 1000.000000
|
||||
117 3 5460.000000 500.000000 1000.000000
|
||||
118 3 5824.000000 500.000000 1000.000000
|
||||
119 3 6188.000000 500.000000 1000.000000
|
||||
120 3 6552.000000 500.000000 1000.000000
|
||||
121 3 6916.000000 500.000000 1000.000000
|
||||
122 3 7640.000000 500.000000 1000.000000
|
||||
123 3 2912.000000 500.000000 1000.000000
|
||||
124 3 7280.000000 500.000000 1000.000000
|
||||
125 3 364.000000 500.000000 0.000000
|
||||
126 3 1092.000000 500.000000 0.000000
|
||||
127 3 728.000000 500.000000 0.000000
|
||||
128 3 1820.000000 500.000000 0.000000
|
||||
129 3 1456.000000 500.000000 0.000000
|
||||
130 3 2548.000000 500.000000 0.000000
|
||||
131 3 2184.000000 500.000000 0.000000
|
||||
132 3 3640.000000 500.000000 0.000000
|
||||
133 3 3276.000000 500.000000 0.000000
|
||||
134 3 4004.000000 500.000000 0.000000
|
||||
135 3 5096.000000 500.000000 0.000000
|
||||
136 3 4732.000000 500.000000 0.000000
|
||||
137 3 5460.000000 500.000000 0.000000
|
||||
138 3 6188.000000 500.000000 0.000000
|
||||
139 3 5824.000000 500.000000 0.000000
|
||||
140 3 6916.000000 500.000000 0.000000
|
||||
141 3 6552.000000 500.000000 0.000000
|
||||
142 3 7640.000000 500.000000 0.000000
|
||||
143 3 2912.000000 500.000000 0.000000
|
||||
144 3 4368.000000 500.000000 0.000000
|
||||
145 3 7280.000000 500.000000 0.000000
|
||||
146 3 364.000000 1000.000000 500.000000
|
||||
147 3 728.000000 1000.000000 500.000000
|
||||
148 3 1092.000000 1000.000000 500.000000
|
||||
149 3 1456.000000 1000.000000 500.000000
|
||||
150 3 1820.000000 1000.000000 500.000000
|
||||
151 3 2184.000000 1000.000000 500.000000
|
||||
152 3 2548.000000 1000.000000 500.000000
|
||||
153 3 3276.000000 1000.000000 500.000000
|
||||
154 3 3640.000000 1000.000000 500.000000
|
||||
155 3 4004.000000 1000.000000 500.000000
|
||||
156 3 4368.000000 1000.000000 500.000000
|
||||
157 3 4732.000000 1000.000000 500.000000
|
||||
158 3 5096.000000 1000.000000 500.000000
|
||||
159 3 5460.000000 1000.000000 500.000000
|
||||
160 3 5824.000000 1000.000000 500.000000
|
||||
161 3 6188.000000 1000.000000 500.000000
|
||||
162 3 6552.000000 1000.000000 500.000000
|
||||
163 3 6916.000000 1000.000000 500.000000
|
||||
164 3 7640.000000 1000.000000 500.000000
|
||||
165 3 2912.000000 1000.000000 500.000000
|
||||
166 3 7280.000000 1000.000000 500.000000
|
||||
167 3 364.000000 0.000000 500.000000
|
||||
168 3 1092.000000 0.000000 500.000000
|
||||
169 3 728.000000 0.000000 500.000000
|
||||
170 3 1820.000000 0.000000 500.000000
|
||||
171 3 1456.000000 0.000000 500.000000
|
||||
172 3 2548.000000 0.000000 500.000000
|
||||
173 3 2184.000000 0.000000 500.000000
|
||||
174 3 3640.000000 0.000000 500.000000
|
||||
175 3 3276.000000 0.000000 500.000000
|
||||
176 3 4004.000000 0.000000 500.000000
|
||||
177 3 5096.000000 0.000000 500.000000
|
||||
178 3 4732.000000 0.000000 500.000000
|
||||
179 3 5460.000000 0.000000 500.000000
|
||||
180 3 6188.000000 0.000000 500.000000
|
||||
181 3 5824.000000 0.000000 500.000000
|
||||
182 3 6916.000000 0.000000 500.000000
|
||||
183 3 6552.000000 0.000000 500.000000
|
||||
184 3 7640.000000 0.000000 500.000000
|
||||
185 3 2912.000000 0.000000 500.000000
|
||||
186 3 4368.000000 0.000000 500.000000
|
||||
187 3 7280.000000 0.000000 500.000000
|
||||
188 3 8000.000000 250.000000 250.000000
|
||||
189 3 8000.000000 250.000000 750.000000
|
||||
190 3 8000.000000 750.000000 750.000000
|
||||
191 3 8000.000000 750.000000 250.000000
|
||||
192 3 0.000000 250.000000 750.000000
|
||||
193 3 0.000000 250.000000 250.000000
|
||||
194 3 0.000000 750.000000 250.000000
|
||||
195 3 0.000000 750.000000 750.000000
|
||||
196 3 1456.000000 500.000000 500.000000
|
||||
197 3 6552.000000 500.000000 500.000000
|
||||
198 3 6916.000000 500.000000 500.000000
|
||||
199 3 2184.000000 500.000000 500.000000
|
||||
200 3 2548.000000 500.000000 500.000000
|
||||
201 3 2912.000000 500.000000 500.000000
|
||||
202 3 1820.000000 500.000000 500.000000
|
||||
203 3 7640.000000 750.000000 250.000000
|
||||
204 3 7640.000000 750.000000 750.000000
|
||||
205 3 7280.000000 500.000000 500.000000
|
||||
206 3 7640.000000 250.000000 250.000000
|
||||
207 3 5460.000000 500.000000 500.000000
|
||||
208 3 5096.000000 500.000000 500.000000
|
||||
209 3 6188.000000 500.000000 500.000000
|
||||
210 3 5824.000000 500.000000 500.000000
|
||||
211 3 364.000000 750.000000 250.000000
|
||||
212 3 364.000000 750.000000 750.000000
|
||||
213 3 364.000000 250.000000 250.000000
|
||||
214 3 1092.000000 500.000000 500.000000
|
||||
215 3 728.000000 500.000000 500.000000
|
||||
216 3 364.000000 250.000000 750.000000
|
||||
217 3 4550.000000 250.000001 249.999999
|
||||
218 3 4550.000000 750.000001 249.999999
|
||||
219 3 4550.000000 750.000001 749.999999
|
||||
220 3 4368.000000 500.000000 500.000000
|
||||
221 3 4550.000000 250.000001 749.999999
|
||||
222 3 4914.000000 250.000001 749.999999
|
||||
223 3 4914.000000 750.000001 749.999999
|
||||
224 3 3276.000000 500.000000 500.000000
|
||||
225 3 3640.000000 500.000000 500.000000
|
||||
226 3 4004.000000 500.000000 500.000000
|
||||
227 3 4914.000000 750.000001 249.999999
|
||||
228 3 4914.000000 250.000001 249.999999
|
||||
149 16
|
||||
40 19 20 10 168 66 171 106 107 196
|
||||
150 16
|
||||
10 31 40 30 150 128 196 79 129 149
|
||||
151 16
|
||||
38 17 47 18 163 197 140 62 198 166
|
||||
152 16
|
||||
32 41 12 11 130 200 165 199 56 152
|
||||
153 16
|
||||
12 32 42 41 165 143 201 130 92 200
|
||||
154 16
|
||||
42 21 22 12 172 68 185 110 123 201
|
||||
155 16
|
||||
10 31 11 40 150 151 55 128 202 196
|
||||
156 16
|
||||
11 12 21 41 56 110 109 200 173 199
|
||||
157 16
|
||||
20 41 40 11 170 91 171 199 202 108
|
||||
158 16
|
||||
20 41 11 21 170 199 108 173 109 67
|
||||
159 16
|
||||
32 11 31 41 152 151 80 199 131 130
|
||||
160 16
|
||||
11 10 40 20 55 196 202 107 171 108
|
||||
161 16
|
||||
38 17 37 47 163 162 86 197 141 140
|
||||
162 16
|
||||
38 18 48 49 166 205 145 204 206 203
|
||||
163 16
|
||||
46 15 36 45 207 159 139 208 137 96
|
||||
164 16
|
||||
47 16 37 46 209 161 141 210 138 97
|
||||
165 16
|
||||
18 4 49 2 122 189 204 64 190 63
|
||||
166 16
|
||||
18 17 47 27 62 197 198 120 183 121
|
||||
167 16
|
||||
38 18 47 48 166 198 140 205 98 145
|
||||
168 16
|
||||
12 23 22 42 111 69 123 175 185 201
|
||||
169 16
|
||||
26 47 17 27 180 197 119 183 120 73
|
||||
170 16
|
||||
50 29 6 9 211 146 195 147 53 212
|
||||
171 16
|
||||
27 48 47 18 182 98 183 205 198 121
|
||||
172 16
|
||||
8 7 50 39 103 193 192 89 213 167
|
||||
173 16
|
||||
40 9 30 39 214 148 129 215 126 90
|
||||
174 16
|
||||
42 21 12 41 172 110 201 173 200 92
|
||||
175 16
|
||||
50 9 39 29 212 215 213 147 127 211
|
||||
176 16
|
||||
29 7 39 50 125 89 127 193 213 211
|
||||
177 16
|
||||
31 11 40 41 151 202 128 199 91 131
|
||||
178 16
|
||||
47 16 17 37 209 61 197 161 162 141
|
||||
179 16
|
||||
40 9 10 30 214 54 196 148 149 129
|
||||
180 16
|
||||
2 38 1 49 164 87 100 203 191 190
|
||||
181 16
|
||||
2 38 49 18 164 203 190 166 204 63
|
||||
182 16
|
||||
48 49 3 38 206 188 99 203 142 145
|
||||
183 16
|
||||
38 49 3 1 203 188 142 191 88 87
|
||||
184 16
|
||||
49 4 48 3 189 184 206 102 99 188
|
||||
185 16
|
||||
28 48 18 4 187 205 124 184 122 75
|
||||
186 16
|
||||
49 18 48 4 204 205 206 122 184 189
|
||||
187 16
|
||||
7 50 29 5 193 211 125 194 77 76
|
||||
188 16
|
||||
50 6 29 5 195 146 211 101 77 194
|
||||
189 16
|
||||
50 9 6 19 212 53 195 105 104 216
|
||||
190 16
|
||||
50 19 39 9 216 169 213 105 215 212
|
||||
191 16
|
||||
50 19 6 8 216 104 195 65 52 192
|
||||
192 16
|
||||
40 9 19 10 214 105 168 54 106 196
|
||||
193 16
|
||||
51 44 14 34 217 220 219 144 156 218
|
||||
194 16
|
||||
51 24 14 44 221 114 219 186 220 217
|
||||
195 16
|
||||
25 15 51 24 116 223 222 115 221 71
|
||||
196 16
|
||||
43 12 13 32 224 57 225 165 153 133
|
||||
197 16
|
||||
43 12 42 23 224 201 93 111 175 174
|
||||
198 16
|
||||
43 12 23 13 224 111 174 57 112 225
|
||||
199 16
|
||||
43 12 32 42 224 165 133 201 143 93
|
||||
200 16
|
||||
34 13 44 14 155 226 144 58 220 156
|
||||
201 16
|
||||
14 24 51 15 114 221 219 115 223 59
|
||||
202 16
|
||||
23 24 44 14 70 186 176 114 220 113
|
||||
203 16
|
||||
33 32 43 13 81 133 132 153 225 154
|
||||
204 16
|
||||
34 33 43 13 82 132 134 154 225 155
|
||||
205 16
|
||||
35 14 51 15 157 219 227 59 223 158
|
||||
206 16
|
||||
25 45 51 15 177 228 222 208 223 116
|
||||
207 16
|
||||
44 43 23 13 94 174 176 225 112 226
|
||||
208 16
|
||||
35 34 51 14 83 218 227 156 219 157
|
||||
209 16
|
||||
46 15 16 36 207 60 210 159 160 139
|
||||
210 16
|
||||
36 35 45 15 84 135 137 158 208 159
|
||||
211 16
|
||||
37 36 46 16 85 139 138 160 210 161
|
||||
212 16
|
||||
25 26 46 16 72 181 179 118 210 117
|
||||
213 16
|
||||
47 16 26 17 209 118 180 61 119 197
|
||||
214 16
|
||||
47 16 46 26 209 210 97 118 181 180
|
||||
215 16
|
||||
27 28 48 18 74 187 182 124 205 121
|
||||
216 16
|
||||
35 34 45 51 83 136 135 218 228 227
|
||||
217 16
|
||||
13 14 23 44 58 113 112 220 176 226
|
||||
218 16
|
||||
44 25 51 24 178 222 217 71 221 186
|
||||
219 16
|
||||
44 45 51 25 95 228 217 177 222 178
|
||||
220 16
|
||||
46 15 25 16 207 116 179 60 117 210
|
||||
221 16
|
||||
46 15 45 25 207 208 96 116 177 179
|
||||
222 16
|
||||
50 8 39 19 192 167 213 65 169 216
|
||||
223 16
|
||||
35 51 45 15 227 228 135 223 208 158
|
||||
224 16
|
||||
34 44 13 43 144 226 155 94 225 134
|
||||
225 16
|
||||
51 44 34 45 217 144 218 95 136 228
|
||||
226 16
|
||||
9 29 30 39 147 78 148 127 126 215
|
||||
227 16
|
||||
40 9 39 19 214 215 90 105 169 168
|
||||
@@ -0,0 +1,53 @@
|
||||
52
|
||||
1 3 1 -0.0
|
||||
2 3 1 -0.0
|
||||
3 3 1 -0.0
|
||||
4 3 1 -0.0
|
||||
5 1 2 0
|
||||
5 2 2 0
|
||||
5 3 2 0
|
||||
6 1 2 0
|
||||
6 2 2 0
|
||||
6 3 2 0
|
||||
7 1 2 0
|
||||
7 2 2 0
|
||||
7 3 2 0
|
||||
8 1 2 0
|
||||
8 2 2 0
|
||||
8 3 2 0
|
||||
49 3 1 -0.0
|
||||
50 1 2 0
|
||||
50 2 2 0
|
||||
50 3 2 0
|
||||
52 1 2 0
|
||||
52 2 2 0
|
||||
52 3 2 0
|
||||
64 3 1 -750000.0000000001
|
||||
76 1 2 0
|
||||
76 2 2 0
|
||||
76 3 2 0
|
||||
88 3 1 -750000.0000000001
|
||||
100 3 1 -750000.0000000001
|
||||
101 1 2 0
|
||||
101 2 2 0
|
||||
101 3 2 0
|
||||
102 3 1 -750000.0000000001
|
||||
103 1 2 0
|
||||
103 2 2 0
|
||||
103 3 2 0
|
||||
188 3 1 -1500000.0000000002
|
||||
189 3 1 -1500000.0000000002
|
||||
190 3 1 -1500000.0000000002
|
||||
191 3 1 -1500000.0000000002
|
||||
192 1 2 0
|
||||
192 2 2 0
|
||||
192 3 2 0
|
||||
193 1 2 0
|
||||
193 2 2 0
|
||||
193 3 2 0
|
||||
194 1 2 0
|
||||
194 2 2 0
|
||||
194 3 2 0
|
||||
195 1 2 0
|
||||
195 2 2 0
|
||||
195 3 2 0
|
||||
@@ -0,0 +1 @@
|
||||
0
|
||||
@@ -0,0 +1,2 @@
|
||||
1
|
||||
1 79 4 0
|
||||
@@ -0,0 +1,36 @@
|
||||
DYNAMIC START
|
||||
---------------------------------------------------------------------------
|
||||
Z88V14OS
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
GLOBAL
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
GLOBAL START
|
||||
IBFLAG 0
|
||||
IPFLAG 0
|
||||
IHFLAG 0
|
||||
GLOBAL END
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
LINEAR SOLVER
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
SOLVER START
|
||||
MAXIT 10000
|
||||
EPS 1e-007
|
||||
RALPHA 0.0001
|
||||
ROMEGA 1.1
|
||||
SOLVER END
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
STRESS
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
STRESS START
|
||||
KDFLAG 0
|
||||
ISFLAG 0
|
||||
STRESS END
|
||||
|
||||
DYNAMIC END
|
||||
@@ -0,0 +1,2 @@
|
||||
1
|
||||
1 79 51.txt
|
||||
@@ -17,6 +17,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_open
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88
|
||||
|
||||
|
||||
# classes
|
||||
@@ -34,6 +35,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_open.TestObjectOpen
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88
|
||||
|
||||
|
||||
# methods
|
||||
@@ -94,6 +96,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.t
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_nodeload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_prescribeddisplacement
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_solver_z88
|
||||
|
||||
|
||||
# methods in FreeCAD
|
||||
@@ -382,3 +385,8 @@ import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_prescribeddisplacement'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_solver_z88'
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user