FEM: unit tests, add calculix flexural buckling

This commit is contained in:
Tobias Vaara
2021-06-09 07:38:39 +02:00
committed by Bernd Hahnebach
parent 9f1ec306b5
commit e56fe24cfc
5 changed files with 956 additions and 0 deletions

View File

@@ -251,6 +251,8 @@ SET(FemTestsCcx_SRCS
femtest/data/calculix/box_static_expected_values
femtest/data/calculix/box_static.FCStd
femtest/data/calculix/box.FCStd
femtest/data/calculix/ccx_buckling_flexuralbuckling.dat
femtest/data/calculix/ccx_buckling_flexuralbuckling.inp
femtest/data/calculix/ccxcantilever_faceload.inp
femtest/data/calculix/ccxcantilever_hexa20.inp
femtest/data/calculix/ccxcantilever_nodeload.inp

View File

@@ -95,6 +95,14 @@ class TestSolverCalculix(unittest.TestCase):
setup(self.document, "calculix")
self.input_file_writing_test(get_namefromdef("test_"))
# ********************************************************************************************
def test_ccx_buckling_flexuralbuckling(
self
):
from femexamples.ccx_buckling_flexuralbuckling import setup
setup(self.document, "calculix")
self.input_file_writing_test(get_namefromdef("test_"))
# ********************************************************************************************
def test_ccxcantilever_faceload(
self

View File

@@ -0,0 +1,90 @@
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-1.815215E-14 -1.262879E-14 2.100000E+01
B U C K L I N G F A C T O R O U T P U T
MODE NO BUCKLING
FACTOR
1 0.5353773E+02
2 0.1123524E+03
3 0.4429172E+03
4 0.8406785E+03
5 0.1066613E+04
6 0.1760440E+04
7 0.1781060E+04
8 0.2428616E+04
9 0.2625109E+04
10 0.3032522E+04
E I G E N V A L U E N U M B E R 1
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-7.458668E-01 -9.617507E-11 2.833724E-10
E I G E N V A L U E N U M B E R 2
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-6.275975E-10 -1.078238E+00 -3.371250E-10
E I G E N V A L U E N U M B E R 3
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-6.359838E+00 3.125551E-09 -1.362668E-09
E I G E N V A L U E N U M B E R 4
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-8.090844E-10 -8.650964E+00 -1.009010E-09
E I G E N V A L U E N U M B E R 5
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-1.618585E+01 7.626015E-10 1.475242E-09
E I G E N V A L U E N U M B E R 6
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-2.870193E+01 7.256488E-09 1.429106E-09
E I G E N V A L U E N U M B E R 7
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-6.840851E-09 -2.054158E+01 -1.383189E-09
E I G E N V A L U E N U M B E R 8
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-4.289022E+01 -1.387613E-08 5.972973E-10
E I G E N V A L U E N U M B E R 9
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-8.132224E-09 3.449459E+01 -1.246274E-10
E I G E N V A L U E N U M B E R 10
total force (fx,fy,fz) for set FEMCONSTRAINTDISPLACEMENT and time 0.0000000E+00
-5.817552E+01 2.440375E-09 1.449655E-09

View File

@@ -0,0 +1,850 @@
** written by FreeCAD inp file writer for CalculiX,Abaqus meshes
** highest dimension mesh elements only.
** Nodes
*Node, NSET=Nall
1, 0, 1.5, 0
2, 0, 1.5, 0.5
3, 0, 1.125, 0.5
4, 0, 1.125, 0
5, 0.25, 1.5, 0
6, 0.25, 1.5, 0.5
7, 0.25, 1.125, 0.5
8, 0.25, 1.125, 0
9, 0, 1.5, 1
10, 0, 1.125, 1
11, 0.25, 1.5, 1
12, 0.25, 1.125, 1
13, 0, 1.5, 1.5
14, 0, 1.125, 1.5
15, 0.25, 1.5, 1.5
16, 0.25, 1.125, 1.5
17, 0, 1.5, 2
18, 0, 1.125, 2
19, 0.25, 1.5, 2
20, 0.25, 1.125, 2
21, 0, 1.5, 2.5
22, 0, 1.125, 2.5
23, 0.25, 1.5, 2.5
24, 0.25, 1.125, 2.5
25, 0, 1.5, 3
26, 0, 1.125, 3
27, 0.25, 1.5, 3
28, 0.25, 1.125, 3
29, 0, 1.5, 3.5
30, 0, 1.125, 3.5
31, 0.25, 1.5, 3.5
32, 0.25, 1.125, 3.5
33, 0, 1.5, 4
34, 0, 1.125, 4
35, 0.25, 1.5, 4
36, 0.25, 1.125, 4
37, 0, 1.5, 4.5
38, 0, 1.125, 4.5
39, 0.25, 1.5, 4.5
40, 0.25, 1.125, 4.5
41, 0, 1.5, 5
42, 0, 1.125, 5
43, 0.25, 1.5, 5
44, 0.25, 1.125, 5
45, 0, 1.5, 5.5
46, 0, 1.125, 5.5
47, 0.25, 1.5, 5.5
48, 0.25, 1.125, 5.5
49, 0, 1.5, 6
50, 0, 1.125, 6
51, 0.25, 1.5, 6
52, 0.25, 1.125, 6
53, 0, 1.5, 6.5
54, 0, 1.125, 6.5
55, 0.25, 1.5, 6.5
56, 0.25, 1.125, 6.5
57, 0, 1.5, 7
58, 0, 1.125, 7
59, 0.25, 1.5, 7
60, 0.25, 1.125, 7
61, 0, 1.5, 7.5
62, 0, 1.125, 7.5
63, 0.25, 1.5, 7.5
64, 0.25, 1.125, 7.5
65, 0, 1.5, 8
66, 0, 1.125, 8
67, 0.25, 1.5, 8
68, 0.25, 1.125, 8
69, 0.5, 1.5, 0
70, 0.5, 1.5, 0.5
71, 0.5, 1.125, 0.5
72, 0.5, 1.125, 0
73, 0.5, 1.5, 1
74, 0.5, 1.125, 1
75, 0.5, 1.5, 1.5
76, 0.5, 1.125, 1.5
77, 0.5, 1.5, 2
78, 0.5, 1.125, 2
79, 0.5, 1.5, 2.5
80, 0.5, 1.125, 2.5
81, 0.5, 1.5, 3
82, 0.5, 1.125, 3
83, 0.5, 1.5, 3.5
84, 0.5, 1.125, 3.5
85, 0.5, 1.5, 4
86, 0.5, 1.125, 4
87, 0.5, 1.5, 4.5
88, 0.5, 1.125, 4.5
89, 0.5, 1.5, 5
90, 0.5, 1.125, 5
91, 0.5, 1.5, 5.5
92, 0.5, 1.125, 5.5
93, 0.5, 1.5, 6
94, 0.5, 1.125, 6
95, 0.5, 1.5, 6.5
96, 0.5, 1.125, 6.5
97, 0.5, 1.5, 7
98, 0.5, 1.125, 7
99, 0.5, 1.5, 7.5
100, 0.5, 1.125, 7.5
101, 0.5, 1.5, 8
102, 0.5, 1.125, 8
103, 0.75, 1.5, 0
104, 0.75, 1.5, 0.5
105, 0.75, 1.125, 0.5
106, 0.75, 1.125, 0
107, 0.75, 1.5, 1
108, 0.75, 1.125, 1
109, 0.75, 1.5, 1.5
110, 0.75, 1.125, 1.5
111, 0.75, 1.5, 2
112, 0.75, 1.125, 2
113, 0.75, 1.5, 2.5
114, 0.75, 1.125, 2.5
115, 0.75, 1.5, 3
116, 0.75, 1.125, 3
117, 0.75, 1.5, 3.5
118, 0.75, 1.125, 3.5
119, 0.75, 1.5, 4
120, 0.75, 1.125, 4
121, 0.75, 1.5, 4.5
122, 0.75, 1.125, 4.5
123, 0.75, 1.5, 5
124, 0.75, 1.125, 5
125, 0.75, 1.5, 5.5
126, 0.75, 1.125, 5.5
127, 0.75, 1.5, 6
128, 0.75, 1.125, 6
129, 0.75, 1.5, 6.5
130, 0.75, 1.125, 6.5
131, 0.75, 1.5, 7
132, 0.75, 1.125, 7
133, 0.75, 1.5, 7.5
134, 0.75, 1.125, 7.5
135, 0.75, 1.5, 8
136, 0.75, 1.125, 8
137, 1, 1.5, 0
138, 1, 1.5, 0.5
139, 1, 1.125, 0.5
140, 1, 1.125, 0
141, 1, 1.5, 1
142, 1, 1.125, 1
143, 1, 1.5, 1.5
144, 1, 1.125, 1.5
145, 1, 1.5, 2
146, 1, 1.125, 2
147, 1, 1.5, 2.5
148, 1, 1.125, 2.5
149, 1, 1.5, 3
150, 1, 1.125, 3
151, 1, 1.5, 3.5
152, 1, 1.125, 3.5
153, 1, 1.5, 4
154, 1, 1.125, 4
155, 1, 1.5, 4.5
156, 1, 1.125, 4.5
157, 1, 1.5, 5
158, 1, 1.125, 5
159, 1, 1.5, 5.5
160, 1, 1.125, 5.5
161, 1, 1.5, 6
162, 1, 1.125, 6
163, 1, 1.5, 6.5
164, 1, 1.125, 6.5
165, 1, 1.5, 7
166, 1, 1.125, 7
167, 1, 1.5, 7.5
168, 1, 1.125, 7.5
169, 1, 1.5, 8
170, 1, 1.125, 8
171, 0, 0.75, 0.5
172, 0, 0.75, 0
173, 0.25, 0.75, 0.5
174, 0.25, 0.75, 0
175, 0, 0.75, 1
176, 0.25, 0.75, 1
177, 0, 0.75, 1.5
178, 0.25, 0.75, 1.5
179, 0, 0.75, 2
180, 0.25, 0.75, 2
181, 0, 0.75, 2.5
182, 0.25, 0.75, 2.5
183, 0, 0.75, 3
184, 0.25, 0.75, 3
185, 0, 0.75, 3.5
186, 0.25, 0.75, 3.5
187, 0, 0.75, 4
188, 0.25, 0.75, 4
189, 0, 0.75, 4.5
190, 0.25, 0.75, 4.5
191, 0, 0.75, 5
192, 0.25, 0.75, 5
193, 0, 0.75, 5.5
194, 0.25, 0.75, 5.5
195, 0, 0.75, 6
196, 0.25, 0.75, 6
197, 0, 0.75, 6.5
198, 0.25, 0.75, 6.5
199, 0, 0.75, 7
200, 0.25, 0.75, 7
201, 0, 0.75, 7.5
202, 0.25, 0.75, 7.5
203, 0, 0.75, 8
204, 0.25, 0.75, 8
205, 0.5, 0.75, 0.5
206, 0.5, 0.75, 0
207, 0.5, 0.75, 1
208, 0.5, 0.75, 1.5
209, 0.5, 0.75, 2
210, 0.5, 0.75, 2.5
211, 0.5, 0.75, 3
212, 0.5, 0.75, 3.5
213, 0.5, 0.75, 4
214, 0.5, 0.75, 4.5
215, 0.5, 0.75, 5
216, 0.5, 0.75, 5.5
217, 0.5, 0.75, 6
218, 0.5, 0.75, 6.5
219, 0.5, 0.75, 7
220, 0.5, 0.75, 7.5
221, 0.5, 0.75, 8
222, 0.75, 0.75, 0.5
223, 0.75, 0.75, 0
224, 0.75, 0.75, 1
225, 0.75, 0.75, 1.5
226, 0.75, 0.75, 2
227, 0.75, 0.75, 2.5
228, 0.75, 0.75, 3
229, 0.75, 0.75, 3.5
230, 0.75, 0.75, 4
231, 0.75, 0.75, 4.5
232, 0.75, 0.75, 5
233, 0.75, 0.75, 5.5
234, 0.75, 0.75, 6
235, 0.75, 0.75, 6.5
236, 0.75, 0.75, 7
237, 0.75, 0.75, 7.5
238, 0.75, 0.75, 8
239, 1, 0.75, 0.5
240, 1, 0.75, 0
241, 1, 0.75, 1
242, 1, 0.75, 1.5
243, 1, 0.75, 2
244, 1, 0.75, 2.5
245, 1, 0.75, 3
246, 1, 0.75, 3.5
247, 1, 0.75, 4
248, 1, 0.75, 4.5
249, 1, 0.75, 5
250, 1, 0.75, 5.5
251, 1, 0.75, 6
252, 1, 0.75, 6.5
253, 1, 0.75, 7
254, 1, 0.75, 7.5
255, 1, 0.75, 8
256, 0, 0.375, 0.5
257, 0, 0.375, 0
258, 0.25, 0.375, 0.5
259, 0.25, 0.375, 0
260, 0, 0.375, 1
261, 0.25, 0.375, 1
262, 0, 0.375, 1.5
263, 0.25, 0.375, 1.5
264, 0, 0.375, 2
265, 0.25, 0.375, 2
266, 0, 0.375, 2.5
267, 0.25, 0.375, 2.5
268, 0, 0.375, 3
269, 0.25, 0.375, 3
270, 0, 0.375, 3.5
271, 0.25, 0.375, 3.5
272, 0, 0.375, 4
273, 0.25, 0.375, 4
274, 0, 0.375, 4.5
275, 0.25, 0.375, 4.5
276, 0, 0.375, 5
277, 0.25, 0.375, 5
278, 0, 0.375, 5.5
279, 0.25, 0.375, 5.5
280, 0, 0.375, 6
281, 0.25, 0.375, 6
282, 0, 0.375, 6.5
283, 0.25, 0.375, 6.5
284, 0, 0.375, 7
285, 0.25, 0.375, 7
286, 0, 0.375, 7.5
287, 0.25, 0.375, 7.5
288, 0, 0.375, 8
289, 0.25, 0.375, 8
290, 0.5, 0.375, 0.5
291, 0.5, 0.375, 0
292, 0.5, 0.375, 1
293, 0.5, 0.375, 1.5
294, 0.5, 0.375, 2
295, 0.5, 0.375, 2.5
296, 0.5, 0.375, 3
297, 0.5, 0.375, 3.5
298, 0.5, 0.375, 4
299, 0.5, 0.375, 4.5
300, 0.5, 0.375, 5
301, 0.5, 0.375, 5.5
302, 0.5, 0.375, 6
303, 0.5, 0.375, 6.5
304, 0.5, 0.375, 7
305, 0.5, 0.375, 7.5
306, 0.5, 0.375, 8
307, 0.75, 0.375, 0.5
308, 0.75, 0.375, 0
309, 0.75, 0.375, 1
310, 0.75, 0.375, 1.5
311, 0.75, 0.375, 2
312, 0.75, 0.375, 2.5
313, 0.75, 0.375, 3
314, 0.75, 0.375, 3.5
315, 0.75, 0.375, 4
316, 0.75, 0.375, 4.5
317, 0.75, 0.375, 5
318, 0.75, 0.375, 5.5
319, 0.75, 0.375, 6
320, 0.75, 0.375, 6.5
321, 0.75, 0.375, 7
322, 0.75, 0.375, 7.5
323, 0.75, 0.375, 8
324, 1, 0.375, 0.5
325, 1, 0.375, 0
326, 1, 0.375, 1
327, 1, 0.375, 1.5
328, 1, 0.375, 2
329, 1, 0.375, 2.5
330, 1, 0.375, 3
331, 1, 0.375, 3.5
332, 1, 0.375, 4
333, 1, 0.375, 4.5
334, 1, 0.375, 5
335, 1, 0.375, 5.5
336, 1, 0.375, 6
337, 1, 0.375, 6.5
338, 1, 0.375, 7
339, 1, 0.375, 7.5
340, 1, 0.375, 8
341, 0, 0, 0.5
342, 0, 0, 0
343, 0.25, 0, 0.5
344, 0.25, 0, 0
345, 0, 0, 1
346, 0.25, 0, 1
347, 0, 0, 1.5
348, 0.25, 0, 1.5
349, 0, 0, 2
350, 0.25, 0, 2
351, 0, 0, 2.5
352, 0.25, 0, 2.5
353, 0, 0, 3
354, 0.25, 0, 3
355, 0, 0, 3.5
356, 0.25, 0, 3.5
357, 0, 0, 4
358, 0.25, 0, 4
359, 0, 0, 4.5
360, 0.25, 0, 4.5
361, 0, 0, 5
362, 0.25, 0, 5
363, 0, 0, 5.5
364, 0.25, 0, 5.5
365, 0, 0, 6
366, 0.25, 0, 6
367, 0, 0, 6.5
368, 0.25, 0, 6.5
369, 0, 0, 7
370, 0.25, 0, 7
371, 0, 0, 7.5
372, 0.25, 0, 7.5
373, 0, 0, 8
374, 0.25, 0, 8
375, 0.5, 0, 0.5
376, 0.5, 0, 0
377, 0.5, 0, 1
378, 0.5, 0, 1.5
379, 0.5, 0, 2
380, 0.5, 0, 2.5
381, 0.5, 0, 3
382, 0.5, 0, 3.5
383, 0.5, 0, 4
384, 0.5, 0, 4.5
385, 0.5, 0, 5
386, 0.5, 0, 5.5
387, 0.5, 0, 6
388, 0.5, 0, 6.5
389, 0.5, 0, 7
390, 0.5, 0, 7.5
391, 0.5, 0, 8
392, 0.75, 0, 0.5
393, 0.75, 0, 0
394, 0.75, 0, 1
395, 0.75, 0, 1.5
396, 0.75, 0, 2
397, 0.75, 0, 2.5
398, 0.75, 0, 3
399, 0.75, 0, 3.5
400, 0.75, 0, 4
401, 0.75, 0, 4.5
402, 0.75, 0, 5
403, 0.75, 0, 5.5
404, 0.75, 0, 6
405, 0.75, 0, 6.5
406, 0.75, 0, 7
407, 0.75, 0, 7.5
408, 0.75, 0, 8
409, 1, 0, 0.5
410, 1, 0, 0
411, 1, 0, 1
412, 1, 0, 1.5
413, 1, 0, 2
414, 1, 0, 2.5
415, 1, 0, 3
416, 1, 0, 3.5
417, 1, 0, 4
418, 1, 0, 4.5
419, 1, 0, 5
420, 1, 0, 5.5
421, 1, 0, 6
422, 1, 0, 6.5
423, 1, 0, 7
424, 1, 0, 7.5
425, 1, 0, 8
** Volume elements
*Element, TYPE=C3D8, ELSET=Evolumes
1, 3, 4, 1, 2, 7, 8, 5, 6
2, 10, 3, 2, 9, 12, 7, 6, 11
3, 14, 10, 9, 13, 16, 12, 11, 15
4, 18, 14, 13, 17, 20, 16, 15, 19
5, 22, 18, 17, 21, 24, 20, 19, 23
6, 26, 22, 21, 25, 28, 24, 23, 27
7, 30, 26, 25, 29, 32, 28, 27, 31
8, 34, 30, 29, 33, 36, 32, 31, 35
9, 38, 34, 33, 37, 40, 36, 35, 39
10, 42, 38, 37, 41, 44, 40, 39, 43
11, 46, 42, 41, 45, 48, 44, 43, 47
12, 50, 46, 45, 49, 52, 48, 47, 51
13, 54, 50, 49, 53, 56, 52, 51, 55
14, 58, 54, 53, 57, 60, 56, 55, 59
15, 62, 58, 57, 61, 64, 60, 59, 63
16, 66, 62, 61, 65, 68, 64, 63, 67
17, 7, 8, 5, 6, 71, 72, 69, 70
18, 12, 7, 6, 11, 74, 71, 70, 73
19, 16, 12, 11, 15, 76, 74, 73, 75
20, 20, 16, 15, 19, 78, 76, 75, 77
21, 24, 20, 19, 23, 80, 78, 77, 79
22, 28, 24, 23, 27, 82, 80, 79, 81
23, 32, 28, 27, 31, 84, 82, 81, 83
24, 36, 32, 31, 35, 86, 84, 83, 85
25, 40, 36, 35, 39, 88, 86, 85, 87
26, 44, 40, 39, 43, 90, 88, 87, 89
27, 48, 44, 43, 47, 92, 90, 89, 91
28, 52, 48, 47, 51, 94, 92, 91, 93
29, 56, 52, 51, 55, 96, 94, 93, 95
30, 60, 56, 55, 59, 98, 96, 95, 97
31, 64, 60, 59, 63, 100, 98, 97, 99
32, 68, 64, 63, 67, 102, 100, 99, 101
33, 71, 72, 69, 70, 105, 106, 103, 104
34, 74, 71, 70, 73, 108, 105, 104, 107
35, 76, 74, 73, 75, 110, 108, 107, 109
36, 78, 76, 75, 77, 112, 110, 109, 111
37, 80, 78, 77, 79, 114, 112, 111, 113
38, 82, 80, 79, 81, 116, 114, 113, 115
39, 84, 82, 81, 83, 118, 116, 115, 117
40, 86, 84, 83, 85, 120, 118, 117, 119
41, 88, 86, 85, 87, 122, 120, 119, 121
42, 90, 88, 87, 89, 124, 122, 121, 123
43, 92, 90, 89, 91, 126, 124, 123, 125
44, 94, 92, 91, 93, 128, 126, 125, 127
45, 96, 94, 93, 95, 130, 128, 127, 129
46, 98, 96, 95, 97, 132, 130, 129, 131
47, 100, 98, 97, 99, 134, 132, 131, 133
48, 102, 100, 99, 101, 136, 134, 133, 135
49, 105, 106, 103, 104, 139, 140, 137, 138
50, 108, 105, 104, 107, 142, 139, 138, 141
51, 110, 108, 107, 109, 144, 142, 141, 143
52, 112, 110, 109, 111, 146, 144, 143, 145
53, 114, 112, 111, 113, 148, 146, 145, 147
54, 116, 114, 113, 115, 150, 148, 147, 149
55, 118, 116, 115, 117, 152, 150, 149, 151
56, 120, 118, 117, 119, 154, 152, 151, 153
57, 122, 120, 119, 121, 156, 154, 153, 155
58, 124, 122, 121, 123, 158, 156, 155, 157
59, 126, 124, 123, 125, 160, 158, 157, 159
60, 128, 126, 125, 127, 162, 160, 159, 161
61, 130, 128, 127, 129, 164, 162, 161, 163
62, 132, 130, 129, 131, 166, 164, 163, 165
63, 134, 132, 131, 133, 168, 166, 165, 167
64, 136, 134, 133, 135, 170, 168, 167, 169
65, 171, 172, 4, 3, 173, 174, 8, 7
66, 175, 171, 3, 10, 176, 173, 7, 12
67, 177, 175, 10, 14, 178, 176, 12, 16
68, 179, 177, 14, 18, 180, 178, 16, 20
69, 181, 179, 18, 22, 182, 180, 20, 24
70, 183, 181, 22, 26, 184, 182, 24, 28
71, 185, 183, 26, 30, 186, 184, 28, 32
72, 187, 185, 30, 34, 188, 186, 32, 36
73, 189, 187, 34, 38, 190, 188, 36, 40
74, 191, 189, 38, 42, 192, 190, 40, 44
75, 193, 191, 42, 46, 194, 192, 44, 48
76, 195, 193, 46, 50, 196, 194, 48, 52
77, 197, 195, 50, 54, 198, 196, 52, 56
78, 199, 197, 54, 58, 200, 198, 56, 60
79, 201, 199, 58, 62, 202, 200, 60, 64
80, 203, 201, 62, 66, 204, 202, 64, 68
81, 173, 174, 8, 7, 205, 206, 72, 71
82, 176, 173, 7, 12, 207, 205, 71, 74
83, 178, 176, 12, 16, 208, 207, 74, 76
84, 180, 178, 16, 20, 209, 208, 76, 78
85, 182, 180, 20, 24, 210, 209, 78, 80
86, 184, 182, 24, 28, 211, 210, 80, 82
87, 186, 184, 28, 32, 212, 211, 82, 84
88, 188, 186, 32, 36, 213, 212, 84, 86
89, 190, 188, 36, 40, 214, 213, 86, 88
90, 192, 190, 40, 44, 215, 214, 88, 90
91, 194, 192, 44, 48, 216, 215, 90, 92
92, 196, 194, 48, 52, 217, 216, 92, 94
93, 198, 196, 52, 56, 218, 217, 94, 96
94, 200, 198, 56, 60, 219, 218, 96, 98
95, 202, 200, 60, 64, 220, 219, 98, 100
96, 204, 202, 64, 68, 221, 220, 100, 102
97, 205, 206, 72, 71, 222, 223, 106, 105
98, 207, 205, 71, 74, 224, 222, 105, 108
99, 208, 207, 74, 76, 225, 224, 108, 110
100, 209, 208, 76, 78, 226, 225, 110, 112
101, 210, 209, 78, 80, 227, 226, 112, 114
102, 211, 210, 80, 82, 228, 227, 114, 116
103, 212, 211, 82, 84, 229, 228, 116, 118
104, 213, 212, 84, 86, 230, 229, 118, 120
105, 214, 213, 86, 88, 231, 230, 120, 122
106, 215, 214, 88, 90, 232, 231, 122, 124
107, 216, 215, 90, 92, 233, 232, 124, 126
108, 217, 216, 92, 94, 234, 233, 126, 128
109, 218, 217, 94, 96, 235, 234, 128, 130
110, 219, 218, 96, 98, 236, 235, 130, 132
111, 220, 219, 98, 100, 237, 236, 132, 134
112, 221, 220, 100, 102, 238, 237, 134, 136
113, 222, 223, 106, 105, 239, 240, 140, 139
114, 224, 222, 105, 108, 241, 239, 139, 142
115, 225, 224, 108, 110, 242, 241, 142, 144
116, 226, 225, 110, 112, 243, 242, 144, 146
117, 227, 226, 112, 114, 244, 243, 146, 148
118, 228, 227, 114, 116, 245, 244, 148, 150
119, 229, 228, 116, 118, 246, 245, 150, 152
120, 230, 229, 118, 120, 247, 246, 152, 154
121, 231, 230, 120, 122, 248, 247, 154, 156
122, 232, 231, 122, 124, 249, 248, 156, 158
123, 233, 232, 124, 126, 250, 249, 158, 160
124, 234, 233, 126, 128, 251, 250, 160, 162
125, 235, 234, 128, 130, 252, 251, 162, 164
126, 236, 235, 130, 132, 253, 252, 164, 166
127, 237, 236, 132, 134, 254, 253, 166, 168
128, 238, 237, 134, 136, 255, 254, 168, 170
129, 256, 257, 172, 171, 258, 259, 174, 173
130, 260, 256, 171, 175, 261, 258, 173, 176
131, 262, 260, 175, 177, 263, 261, 176, 178
132, 264, 262, 177, 179, 265, 263, 178, 180
133, 266, 264, 179, 181, 267, 265, 180, 182
134, 268, 266, 181, 183, 269, 267, 182, 184
135, 270, 268, 183, 185, 271, 269, 184, 186
136, 272, 270, 185, 187, 273, 271, 186, 188
137, 274, 272, 187, 189, 275, 273, 188, 190
138, 276, 274, 189, 191, 277, 275, 190, 192
139, 278, 276, 191, 193, 279, 277, 192, 194
140, 280, 278, 193, 195, 281, 279, 194, 196
141, 282, 280, 195, 197, 283, 281, 196, 198
142, 284, 282, 197, 199, 285, 283, 198, 200
143, 286, 284, 199, 201, 287, 285, 200, 202
144, 288, 286, 201, 203, 289, 287, 202, 204
145, 258, 259, 174, 173, 290, 291, 206, 205
146, 261, 258, 173, 176, 292, 290, 205, 207
147, 263, 261, 176, 178, 293, 292, 207, 208
148, 265, 263, 178, 180, 294, 293, 208, 209
149, 267, 265, 180, 182, 295, 294, 209, 210
150, 269, 267, 182, 184, 296, 295, 210, 211
151, 271, 269, 184, 186, 297, 296, 211, 212
152, 273, 271, 186, 188, 298, 297, 212, 213
153, 275, 273, 188, 190, 299, 298, 213, 214
154, 277, 275, 190, 192, 300, 299, 214, 215
155, 279, 277, 192, 194, 301, 300, 215, 216
156, 281, 279, 194, 196, 302, 301, 216, 217
157, 283, 281, 196, 198, 303, 302, 217, 218
158, 285, 283, 198, 200, 304, 303, 218, 219
159, 287, 285, 200, 202, 305, 304, 219, 220
160, 289, 287, 202, 204, 306, 305, 220, 221
161, 290, 291, 206, 205, 307, 308, 223, 222
162, 292, 290, 205, 207, 309, 307, 222, 224
163, 293, 292, 207, 208, 310, 309, 224, 225
164, 294, 293, 208, 209, 311, 310, 225, 226
165, 295, 294, 209, 210, 312, 311, 226, 227
166, 296, 295, 210, 211, 313, 312, 227, 228
167, 297, 296, 211, 212, 314, 313, 228, 229
168, 298, 297, 212, 213, 315, 314, 229, 230
169, 299, 298, 213, 214, 316, 315, 230, 231
170, 300, 299, 214, 215, 317, 316, 231, 232
171, 301, 300, 215, 216, 318, 317, 232, 233
172, 302, 301, 216, 217, 319, 318, 233, 234
173, 303, 302, 217, 218, 320, 319, 234, 235
174, 304, 303, 218, 219, 321, 320, 235, 236
175, 305, 304, 219, 220, 322, 321, 236, 237
176, 306, 305, 220, 221, 323, 322, 237, 238
177, 307, 308, 223, 222, 324, 325, 240, 239
178, 309, 307, 222, 224, 326, 324, 239, 241
179, 310, 309, 224, 225, 327, 326, 241, 242
180, 311, 310, 225, 226, 328, 327, 242, 243
181, 312, 311, 226, 227, 329, 328, 243, 244
182, 313, 312, 227, 228, 330, 329, 244, 245
183, 314, 313, 228, 229, 331, 330, 245, 246
184, 315, 314, 229, 230, 332, 331, 246, 247
185, 316, 315, 230, 231, 333, 332, 247, 248
186, 317, 316, 231, 232, 334, 333, 248, 249
187, 318, 317, 232, 233, 335, 334, 249, 250
188, 319, 318, 233, 234, 336, 335, 250, 251
189, 320, 319, 234, 235, 337, 336, 251, 252
190, 321, 320, 235, 236, 338, 337, 252, 253
191, 322, 321, 236, 237, 339, 338, 253, 254
192, 323, 322, 237, 238, 340, 339, 254, 255
193, 341, 342, 257, 256, 343, 344, 259, 258
194, 345, 341, 256, 260, 346, 343, 258, 261
195, 347, 345, 260, 262, 348, 346, 261, 263
196, 349, 347, 262, 264, 350, 348, 263, 265
197, 351, 349, 264, 266, 352, 350, 265, 267
198, 353, 351, 266, 268, 354, 352, 267, 269
199, 355, 353, 268, 270, 356, 354, 269, 271
200, 357, 355, 270, 272, 358, 356, 271, 273
201, 359, 357, 272, 274, 360, 358, 273, 275
202, 361, 359, 274, 276, 362, 360, 275, 277
203, 363, 361, 276, 278, 364, 362, 277, 279
204, 365, 363, 278, 280, 366, 364, 279, 281
205, 367, 365, 280, 282, 368, 366, 281, 283
206, 369, 367, 282, 284, 370, 368, 283, 285
207, 371, 369, 284, 286, 372, 370, 285, 287
208, 373, 371, 286, 288, 374, 372, 287, 289
209, 343, 344, 259, 258, 375, 376, 291, 290
210, 346, 343, 258, 261, 377, 375, 290, 292
211, 348, 346, 261, 263, 378, 377, 292, 293
212, 350, 348, 263, 265, 379, 378, 293, 294
213, 352, 350, 265, 267, 380, 379, 294, 295
214, 354, 352, 267, 269, 381, 380, 295, 296
215, 356, 354, 269, 271, 382, 381, 296, 297
216, 358, 356, 271, 273, 383, 382, 297, 298
217, 360, 358, 273, 275, 384, 383, 298, 299
218, 362, 360, 275, 277, 385, 384, 299, 300
219, 364, 362, 277, 279, 386, 385, 300, 301
220, 366, 364, 279, 281, 387, 386, 301, 302
221, 368, 366, 281, 283, 388, 387, 302, 303
222, 370, 368, 283, 285, 389, 388, 303, 304
223, 372, 370, 285, 287, 390, 389, 304, 305
224, 374, 372, 287, 289, 391, 390, 305, 306
225, 375, 376, 291, 290, 392, 393, 308, 307
226, 377, 375, 290, 292, 394, 392, 307, 309
227, 378, 377, 292, 293, 395, 394, 309, 310
228, 379, 378, 293, 294, 396, 395, 310, 311
229, 380, 379, 294, 295, 397, 396, 311, 312
230, 381, 380, 295, 296, 398, 397, 312, 313
231, 382, 381, 296, 297, 399, 398, 313, 314
232, 383, 382, 297, 298, 400, 399, 314, 315
233, 384, 383, 298, 299, 401, 400, 315, 316
234, 385, 384, 299, 300, 402, 401, 316, 317
235, 386, 385, 300, 301, 403, 402, 317, 318
236, 387, 386, 301, 302, 404, 403, 318, 319
237, 388, 387, 302, 303, 405, 404, 319, 320
238, 389, 388, 303, 304, 406, 405, 320, 321
239, 390, 389, 304, 305, 407, 406, 321, 322
240, 391, 390, 305, 306, 408, 407, 322, 323
241, 392, 393, 308, 307, 409, 410, 325, 324
242, 394, 392, 307, 309, 411, 409, 324, 326
243, 395, 394, 309, 310, 412, 411, 326, 327
244, 396, 395, 310, 311, 413, 412, 327, 328
245, 397, 396, 311, 312, 414, 413, 328, 329
246, 398, 397, 312, 313, 415, 414, 329, 330
247, 399, 398, 313, 314, 416, 415, 330, 331
248, 400, 399, 314, 315, 417, 416, 331, 332
249, 401, 400, 315, 316, 418, 417, 332, 333
250, 402, 401, 316, 317, 419, 418, 333, 334
251, 403, 402, 317, 318, 420, 419, 334, 335
252, 404, 403, 318, 319, 421, 420, 335, 336
253, 405, 404, 319, 320, 422, 421, 336, 337
254, 406, 405, 320, 321, 423, 422, 337, 338
255, 407, 406, 321, 322, 424, 423, 338, 339
256, 408, 407, 322, 323, 425, 424, 339, 340
** Define element set Eall
*ELSET, ELSET=Eall
Evolumes
***********************************************************
** Element sets for materials and FEM element type (solid, shell, beam, fluid)
** written by write_element_sets_material_and_femelement_type function
*ELSET,ELSET=MechanicalMaterialSolid
Evolumes
***********************************************************
** constraints fixed node sets
** written by write_node_sets_constraints_fixed function
** FemConstraintDisplacement
*NSET,NSET=FemConstraintDisplacement
1,
4,
5,
8,
69,
72,
103,
106,
137,
140,
172,
174,
206,
223,
240,
257,
259,
291,
308,
325,
342,
344,
376,
393,
410,
***********************************************************
** Materials
** written by write_materials function
** Young's modulus unit is MPa = N/mm2
** FreeCAD material name: CalculiX-Steel
** MechanicalMaterial
*MATERIAL, NAME=MechanicalMaterial
*ELASTIC
210000, 0.300
***********************************************************
** Sections
** written by write_femelementsets function
*SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial
***********************************************************
** At least one step is needed to run an CalculiX analysis of FreeCAD
** written by write_step_begin function
*STEP
*BUCKLE
10
***********************************************************
** Fixed Constraints
** written by write_constraints_fixed function
** FemConstraintDisplacement
*BOUNDARY
FemConstraintDisplacement,1
FemConstraintDisplacement,2
FemConstraintDisplacement,3
***********************************************************
** constraints force node loads
** written by write_constraints_force function
*CLOAD
** FemConstraintForce
** node loads on shape: beam:Face6
65,3,-3.2812500000000E-01
66,3,-6.5625000000000E-01
67,3,-6.5625000000000E-01
68,3,-1.3125000000000E+00
101,3,-6.5625000000000E-01
102,3,-1.3125000000000E+00
135,3,-6.5625000000000E-01
136,3,-1.3125000000000E+00
169,3,-3.2812500000000E-01
170,3,-6.5625000000000E-01
203,3,-6.5625000000000E-01
204,3,-1.3125000000000E+00
221,3,-1.3125000000000E+00
238,3,-1.3125000000000E+00
255,3,-6.5625000000000E-01
288,3,-6.5625000000000E-01
289,3,-1.3125000000000E+00
306,3,-1.3125000000000E+00
323,3,-1.3125000000000E+00
340,3,-6.5625000000000E-01
373,3,-3.2812500000000E-01
374,3,-6.5625000000000E-01
391,3,-6.5625000000000E-01
408,3,-6.5625000000000E-01
425,3,-3.2812500000000E-01
***********************************************************
** Outputs --> frd file
** written by write_outputs_types function
*NODE FILE
U
*EL FILE
S, E
** outputs --> dat file
** reaction forces for Constraint fixed
*NODE PRINT, NSET=FemConstraintDisplacement, TOTALS=ONLY
RF
***********************************************************
** written by write_step_end function
*END STEP
***********************************************************
** CalculiX Input file
** written by write_footer function
** written by --> FreeCAD 0.19.23856 (Git)
** written on --> Tue Mar 30 10:47:39 2021
** file name -->
** analysis name --> Analysis
**
**
***********************************************************
** About units:
** See ccx manual, ccx does not know about any unit.
** Golden rule: The user must make sure that the numbers he provides have consistent units.
** The user is the FreeCAD calculix writer module ;-)
**
** The unit system which is used at Guido Dhondt's company: mm, N, s, K
** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N
** The following units are used to write to inp file:
**
** Length: mm (this includes the mesh geometry)
** Mass: t
** TimeSpan: s
** Temperature: K
**
** This leads to:
** Force: N
** Pressure: N/mm^2
** Density: t/mm^3
** Gravity: mm/s^2
** Thermal conductivity: t*mm/K/s^3 (same as W/m/K)
** Specific Heat: mm^2/s^2/K (same as J/kg/K)
**

View File

@@ -77,6 +77,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_rho
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_disp_abs
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_box_frequency
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_box_static
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_buckling_flexuralbuckling
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_hexa20
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_nodeload
@@ -298,6 +299,11 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
'femtest.app.test_solver_calculix.TestSolverCalculix.test_box_static'
))
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_buckling_flexuralbuckling'
))
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload'