FEM: calculix unit tests, add ccx cantilever with seg2, seg3, tria3 and tria6 mesh elements
This commit is contained in:
@@ -300,6 +300,10 @@ SET(FemTestsCcx_SRCS
|
||||
femtest/data/calculix/ccx_buckling_flexuralbuckling.inp
|
||||
femtest/data/calculix/ccx_cantilever_faceload.inp
|
||||
femtest/data/calculix/ccx_cantilever_ele_hexa20.inp
|
||||
femtest/data/calculix/ccx_cantilever_ele_seg2.inp
|
||||
femtest/data/calculix/ccx_cantilever_ele_seg3.inp
|
||||
femtest/data/calculix/ccx_cantilever_ele_tria3.inp
|
||||
femtest/data/calculix/ccx_cantilever_ele_tria6.inp
|
||||
femtest/data/calculix/ccx_cantilever_nodeload.inp
|
||||
femtest/data/calculix/ccx_cantilever_prescribeddisplacement.inp
|
||||
femtest/data/calculix/constraint_centrif.inp
|
||||
|
||||
@@ -119,6 +119,38 @@ class TestSolverCalculix(unittest.TestCase):
|
||||
setup(self.document, "calculix")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_seg2(
|
||||
self
|
||||
):
|
||||
from femexamples.ccx_cantilever_ele_seg2 import setup
|
||||
setup(self.document, "calculix")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_seg3(
|
||||
self
|
||||
):
|
||||
from femexamples.ccx_cantilever_ele_seg3 import setup
|
||||
setup(self.document, "calculix")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_tria3(
|
||||
self
|
||||
):
|
||||
from femexamples.ccx_cantilever_ele_tria3 import setup
|
||||
setup(self.document, "calculix")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_tria6(
|
||||
self
|
||||
):
|
||||
from femexamples.ccx_cantilever_ele_tria6 import setup
|
||||
setup(self.document, "calculix")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_nodeload(
|
||||
self
|
||||
|
||||
277
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg2.inp
Normal file
277
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg2.inp
Normal file
@@ -0,0 +1,277 @@
|
||||
** written by FreeCAD inp file writer for CalculiX,Abaqus meshes
|
||||
** highest dimension mesh elements only.
|
||||
|
||||
** Nodes
|
||||
*Node, NSET=Nall
|
||||
1, 0, 500, 500
|
||||
2, 8000, 500, 500
|
||||
3, 148.1481481481, 500, 500
|
||||
4, 296.2962962963, 500, 500
|
||||
5, 444.4444444444, 500, 500
|
||||
6, 592.5925925926, 500, 500
|
||||
7, 740.7407407407, 500, 500
|
||||
8, 888.8888888889, 500, 500
|
||||
9, 1037.037037037, 500, 500
|
||||
10, 1185.185185185, 500, 500
|
||||
11, 1333.333333333, 500, 500
|
||||
12, 1481.481481481, 500, 500
|
||||
13, 1629.62962963, 500, 500
|
||||
14, 1777.777777778, 500, 500
|
||||
15, 1925.925925926, 500, 500
|
||||
16, 2074.074074074, 500, 500
|
||||
17, 2222.222222222, 500, 500
|
||||
18, 2370.37037037, 500, 500
|
||||
19, 2518.518518519, 500, 500
|
||||
20, 2666.666666667, 500, 500
|
||||
21, 2814.814814815, 500, 500
|
||||
22, 2962.962962963, 500, 500
|
||||
23, 3111.111111111, 500, 500
|
||||
24, 3259.259259259, 500, 500
|
||||
25, 3407.407407407, 500, 500
|
||||
26, 3555.555555556, 500, 500
|
||||
27, 3703.703703704, 500, 500
|
||||
28, 3851.851851852, 500, 500
|
||||
29, 4000, 500, 500
|
||||
30, 4148.148148148, 500, 500
|
||||
31, 4296.296296296, 500, 500
|
||||
32, 4444.444444444, 500, 500
|
||||
33, 4592.592592593, 500, 500
|
||||
34, 4740.740740741, 500, 500
|
||||
35, 4888.888888889, 500, 500
|
||||
36, 5037.037037037, 500, 500
|
||||
37, 5185.185185185, 500, 500
|
||||
38, 5333.333333333, 500, 500
|
||||
39, 5481.481481481, 500, 500
|
||||
40, 5629.62962963, 500, 500
|
||||
41, 5777.777777778, 500, 500
|
||||
42, 5925.925925926, 500, 500
|
||||
43, 6074.074074074, 500, 500
|
||||
44, 6222.222222222, 500, 500
|
||||
45, 6370.37037037, 500, 500
|
||||
46, 6518.518518519, 500, 500
|
||||
47, 6666.666666667, 500, 500
|
||||
48, 6814.814814815, 500, 500
|
||||
49, 6962.962962963, 500, 500
|
||||
50, 7111.111111111, 500, 500
|
||||
51, 7259.259259259, 500, 500
|
||||
52, 7407.407407407, 500, 500
|
||||
53, 7555.555555556, 500, 500
|
||||
54, 7703.703703704, 500, 500
|
||||
55, 7851.851851852, 500, 500
|
||||
|
||||
|
||||
** Edge elements
|
||||
*Element, TYPE=B31, ELSET=Eedges
|
||||
1, 1, 3
|
||||
2, 3, 4
|
||||
3, 4, 5
|
||||
4, 5, 6
|
||||
5, 6, 7
|
||||
6, 7, 8
|
||||
7, 8, 9
|
||||
8, 9, 10
|
||||
9, 10, 11
|
||||
10, 11, 12
|
||||
11, 12, 13
|
||||
12, 13, 14
|
||||
13, 14, 15
|
||||
14, 15, 16
|
||||
15, 16, 17
|
||||
16, 17, 18
|
||||
17, 18, 19
|
||||
18, 19, 20
|
||||
19, 20, 21
|
||||
20, 21, 22
|
||||
21, 22, 23
|
||||
22, 23, 24
|
||||
23, 24, 25
|
||||
24, 25, 26
|
||||
25, 26, 27
|
||||
26, 27, 28
|
||||
27, 28, 29
|
||||
28, 29, 30
|
||||
29, 30, 31
|
||||
30, 31, 32
|
||||
31, 32, 33
|
||||
32, 33, 34
|
||||
33, 34, 35
|
||||
34, 35, 36
|
||||
35, 36, 37
|
||||
36, 37, 38
|
||||
37, 38, 39
|
||||
38, 39, 40
|
||||
39, 40, 41
|
||||
40, 41, 42
|
||||
41, 42, 43
|
||||
42, 43, 44
|
||||
43, 44, 45
|
||||
44, 45, 46
|
||||
45, 46, 47
|
||||
46, 47, 48
|
||||
47, 48, 49
|
||||
48, 49, 50
|
||||
49, 50, 51
|
||||
50, 51, 52
|
||||
51, 52, 53
|
||||
52, 53, 54
|
||||
53, 54, 55
|
||||
54, 55, 2
|
||||
|
||||
** Define element set Eall
|
||||
*ELSET, ELSET=Eall
|
||||
Eedges
|
||||
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Element sets for materials and FEM element type (solid, shell, beam, fluid)
|
||||
*ELSET,ELSET=M0B0RstdD0
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
50,
|
||||
51,
|
||||
52,
|
||||
53,
|
||||
54,
|
||||
|
||||
***********************************************************
|
||||
** constraints fixed node sets
|
||||
** ConstraintFixed
|
||||
*NSET,NSET=ConstraintFixed
|
||||
1,
|
||||
|
||||
***********************************************************
|
||||
** Materials
|
||||
** see information about units at file end
|
||||
** FreeCAD material name: Calculix-Steel
|
||||
** MechanicalMaterial
|
||||
*MATERIAL, NAME=MechanicalMaterial
|
||||
*ELASTIC
|
||||
210000,0.3
|
||||
|
||||
***********************************************************
|
||||
** Sections
|
||||
*BEAM SECTION, ELSET=M0B0RstdD0, MATERIAL=MechanicalMaterial, SECTION=RECT
|
||||
1000,1000
|
||||
-0, 1, 0
|
||||
|
||||
***********************************************************
|
||||
** At least one step is needed to run an CalculiX analysis of FreeCAD
|
||||
*STEP
|
||||
*STATIC
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Fixed Constraints
|
||||
** ConstraintFixed
|
||||
*BOUNDARY
|
||||
ConstraintFixed,1
|
||||
ConstraintFixed,2
|
||||
ConstraintFixed,3
|
||||
ConstraintFixed,4
|
||||
ConstraintFixed,5
|
||||
ConstraintFixed,6
|
||||
|
||||
|
||||
***********************************************************
|
||||
** constraints force node loads
|
||||
*CLOAD
|
||||
** ConstraintForce
|
||||
** node load on shape: CantileverLine:Vertex2
|
||||
2,3,-9.0000000000000E+06
|
||||
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Outputs --> frd file
|
||||
*NODE FILE, OUTPUT=2d
|
||||
U
|
||||
*EL FILE
|
||||
S, E
|
||||
** outputs --> dat file
|
||||
** reaction forces for Constraint fixed
|
||||
*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY
|
||||
RF
|
||||
|
||||
|
||||
***********************************************************
|
||||
*END STEP
|
||||
|
||||
***********************************************************
|
||||
** CalculiX Input file
|
||||
** written by --> FreeCAD 0.20.25335 (Git)
|
||||
** written on --> Wed Jul 28 17:01:46 2021
|
||||
** file name --> test.FCStd
|
||||
** 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 == MPa (Young's Modulus has unit Pressure)
|
||||
** Density: t/mm^3
|
||||
** Gravity: mm/s^2
|
||||
** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K
|
||||
** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K
|
||||
**
|
||||
135
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg3.inp
Normal file
135
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg3.inp
Normal file
@@ -0,0 +1,135 @@
|
||||
** written by FreeCAD inp file writer for CalculiX,Abaqus meshes
|
||||
** highest dimension mesh elements only.
|
||||
|
||||
** Nodes
|
||||
*Node, NSET=Nall
|
||||
1, 0, 500, 500
|
||||
2, 8000, 500, 500
|
||||
3, 1600, 500, 500
|
||||
4, 3200, 500, 500
|
||||
5, 4800, 500, 500
|
||||
6, 6400, 500, 500
|
||||
7, 800, 500, 500
|
||||
8, 2400, 500, 500
|
||||
9, 4000, 500, 500
|
||||
10, 5600, 500, 500
|
||||
11, 7200, 500, 500
|
||||
|
||||
|
||||
** Edge elements
|
||||
*Element, TYPE=B32, ELSET=Eedges
|
||||
1, 1, 7, 3
|
||||
2, 3, 8, 4
|
||||
3, 4, 9, 5
|
||||
4, 5, 10, 6
|
||||
5, 6, 11, 2
|
||||
|
||||
** Define element set Eall
|
||||
*ELSET, ELSET=Eall
|
||||
Eedges
|
||||
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Element sets for materials and FEM element type (solid, shell, beam, fluid)
|
||||
*ELSET,ELSET=M0B0RstdD0
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
|
||||
***********************************************************
|
||||
** constraints fixed node sets
|
||||
** ConstraintFixed
|
||||
*NSET,NSET=ConstraintFixed
|
||||
1,
|
||||
|
||||
***********************************************************
|
||||
** Materials
|
||||
** see information about units at file end
|
||||
** FreeCAD material name: Calculix-Steel
|
||||
** MechanicalMaterial
|
||||
*MATERIAL, NAME=MechanicalMaterial
|
||||
*ELASTIC
|
||||
210000,0.3
|
||||
|
||||
***********************************************************
|
||||
** Sections
|
||||
*BEAM SECTION, ELSET=M0B0RstdD0, MATERIAL=MechanicalMaterial, SECTION=RECT
|
||||
1000,1000
|
||||
-0, 1, 0
|
||||
|
||||
***********************************************************
|
||||
** At least one step is needed to run an CalculiX analysis of FreeCAD
|
||||
*STEP
|
||||
*STATIC
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Fixed Constraints
|
||||
** ConstraintFixed
|
||||
*BOUNDARY
|
||||
ConstraintFixed,1
|
||||
ConstraintFixed,2
|
||||
ConstraintFixed,3
|
||||
ConstraintFixed,4
|
||||
ConstraintFixed,5
|
||||
ConstraintFixed,6
|
||||
|
||||
|
||||
***********************************************************
|
||||
** constraints force node loads
|
||||
*CLOAD
|
||||
** ConstraintForce
|
||||
** node load on shape: CantileverLine:Vertex2
|
||||
2,3,-9.0000000000000E+06
|
||||
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Outputs --> frd file
|
||||
*NODE FILE, OUTPUT=2d
|
||||
U
|
||||
*EL FILE
|
||||
S, E
|
||||
** outputs --> dat file
|
||||
** reaction forces for Constraint fixed
|
||||
*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY
|
||||
RF
|
||||
|
||||
|
||||
***********************************************************
|
||||
*END STEP
|
||||
|
||||
***********************************************************
|
||||
** CalculiX Input file
|
||||
** written by --> FreeCAD 0.20.25335 (Git)
|
||||
** written on --> Wed Jul 28 16:59:39 2021
|
||||
** file name --> test.FCStd
|
||||
** 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 == MPa (Young's Modulus has unit Pressure)
|
||||
** Density: t/mm^3
|
||||
** Gravity: mm/s^2
|
||||
** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K
|
||||
** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K
|
||||
**
|
||||
1650
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria3.inp
Normal file
1650
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria3.inp
Normal file
File diff suppressed because it is too large
Load Diff
374
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria6.inp
Normal file
374
src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria6.inp
Normal file
@@ -0,0 +1,374 @@
|
||||
** written by FreeCAD inp file writer for CalculiX,Abaqus meshes
|
||||
** highest dimension mesh elements only.
|
||||
|
||||
** Nodes
|
||||
*Node, NSET=Nall
|
||||
1, 0, 500, 0
|
||||
2, 0, 500, 1000
|
||||
3, 8000, 500, 0
|
||||
4, 8000, 500, 1000
|
||||
5, 0, 500, 500
|
||||
6, 0, 500, 250
|
||||
7, 0, 500, 750
|
||||
8, 500, 500, 0
|
||||
9, 1000, 500, 0
|
||||
10, 1500, 500, 0
|
||||
11, 2000, 500, 0
|
||||
12, 2500, 500, 0
|
||||
13, 3000, 500, 0
|
||||
14, 3500, 500, 0
|
||||
15, 4000, 500, 0
|
||||
16, 4500, 500, 0
|
||||
17, 5000, 500, 0
|
||||
18, 5500, 500, 0
|
||||
19, 6000, 500, 0
|
||||
20, 6500, 500, 0
|
||||
21, 7000, 500, 0
|
||||
22, 7500, 500, 0
|
||||
23, 250, 500, 0
|
||||
24, 750, 500, 0
|
||||
25, 1250, 500, 0
|
||||
26, 1750, 500, 0
|
||||
27, 2250, 500, 0
|
||||
28, 2750, 500, 0
|
||||
29, 3250, 500, 0
|
||||
30, 3750, 500, 0
|
||||
31, 4250, 500, 0
|
||||
32, 4750, 500, 0
|
||||
33, 5250, 500, 0
|
||||
34, 5750, 500, 0
|
||||
35, 6250, 500, 0
|
||||
36, 6750, 500, 0
|
||||
37, 7250, 500, 0
|
||||
38, 7750, 500, 0
|
||||
39, 8000, 500, 500
|
||||
40, 8000, 500, 250
|
||||
41, 8000, 500, 750
|
||||
42, 500, 500, 1000
|
||||
43, 1000, 500, 1000
|
||||
44, 1500, 500, 1000
|
||||
45, 2000, 500, 1000
|
||||
46, 2500, 500, 1000
|
||||
47, 3000, 500, 1000
|
||||
48, 3500, 500, 1000
|
||||
49, 4000, 500, 1000
|
||||
50, 4500, 500, 1000
|
||||
51, 5000, 500, 1000
|
||||
52, 5500, 500, 1000
|
||||
53, 6000, 500, 1000
|
||||
54, 6500, 500, 1000
|
||||
55, 7000, 500, 1000
|
||||
56, 7500, 500, 1000
|
||||
57, 250, 500, 1000
|
||||
58, 750, 500, 1000
|
||||
59, 1250, 500, 1000
|
||||
60, 1750, 500, 1000
|
||||
61, 2250, 500, 1000
|
||||
62, 2750, 500, 1000
|
||||
63, 3250, 500, 1000
|
||||
64, 3750, 500, 1000
|
||||
65, 4250, 500, 1000
|
||||
66, 4750, 500, 1000
|
||||
67, 5250, 500, 1000
|
||||
68, 5750, 500, 1000
|
||||
69, 6250, 500, 1000
|
||||
70, 6750, 500, 1000
|
||||
71, 7250, 500, 1000
|
||||
72, 7750, 500, 1000
|
||||
73, 714.9234693878, 500, 484.056122449
|
||||
74, 1750, 500, 500
|
||||
75, 2750, 500, 500
|
||||
76, 3750, 500, 500
|
||||
77, 4750, 500, 500
|
||||
78, 5750, 500, 500
|
||||
79, 6756.944444444, 500, 489.5833333333
|
||||
80, 7301.463293651, 500, 489.7073412698
|
||||
81, 1244.153911565, 500, 497.3426870748
|
||||
82, 2250, 500, 500
|
||||
83, 3250, 500, 500
|
||||
84, 4250, 500, 500
|
||||
85, 5250, 500, 500
|
||||
86, 6251.157407407, 500, 498.2638888889
|
||||
87, 355.2776691685, 500, 632.3045669746
|
||||
88, 7660.39819718, 500, 648.5965255879
|
||||
89, 7699.764777976, 500, 310.4561768902
|
||||
90, 314.0402277112, 500, 323.2721378847
|
||||
91, 1122.076955782, 500, 748.6713435374
|
||||
92, 1372.076955782, 500, 748.6713435374
|
||||
93, 2125, 500, 750
|
||||
94, 2375, 500, 750
|
||||
95, 3125, 500, 750
|
||||
96, 3375, 500, 750
|
||||
97, 4125, 500, 750
|
||||
98, 4375, 500, 750
|
||||
99, 5125, 500, 750
|
||||
100, 5375, 500, 750
|
||||
101, 6125.578703704, 500, 749.1319444444
|
||||
102, 6375.578703704, 500, 749.1319444444
|
||||
103, 857.4617346939, 500, 742.0280612245
|
||||
104, 979.5386904762, 500, 490.6994047619
|
||||
105, 1497.076955782, 500, 498.6713435374
|
||||
106, 1625, 500, 750
|
||||
107, 1875, 500, 750
|
||||
108, 2000, 500, 500
|
||||
109, 2500, 500, 500
|
||||
110, 2625, 500, 750
|
||||
111, 2875, 500, 750
|
||||
112, 3000, 500, 500
|
||||
113, 3500, 500, 500
|
||||
114, 3625, 500, 750
|
||||
115, 3875, 500, 750
|
||||
116, 4000, 500, 500
|
||||
117, 4500, 500, 500
|
||||
118, 4625, 500, 750
|
||||
119, 4875, 500, 750
|
||||
120, 5000, 500, 500
|
||||
121, 5500, 500, 500
|
||||
122, 5625, 500, 750
|
||||
123, 5875, 500, 750
|
||||
124, 6000.578703704, 500, 499.1319444444
|
||||
125, 6504.050925926, 500, 493.9236111111
|
||||
126, 6628.472222222, 500, 744.7916666667
|
||||
127, 7150.731646825, 500, 244.8536706349
|
||||
128, 7029.203869048, 500, 489.6453373016
|
||||
129, 6878.472222222, 500, 244.7916666667
|
||||
130, 6878.472222222, 500, 744.7916666667
|
||||
131, 7150.731646825, 500, 744.8536706349
|
||||
132, 7400.731646825, 500, 244.8536706349
|
||||
133, 7400.731646825, 500, 744.8536706349
|
||||
134, 857.4617346939, 500, 242.0280612245
|
||||
135, 607.4617346939, 500, 242.0280612245
|
||||
136, 1875, 500, 250
|
||||
137, 1625, 500, 250
|
||||
138, 2875, 500, 250
|
||||
139, 2625, 500, 250
|
||||
140, 3875, 500, 250
|
||||
141, 3625, 500, 250
|
||||
142, 4875, 500, 250
|
||||
143, 4625, 500, 250
|
||||
144, 5875, 500, 250
|
||||
145, 5625, 500, 250
|
||||
146, 6628.472222222, 500, 244.7916666667
|
||||
147, 607.4617346939, 500, 742.0280612245
|
||||
148, 1122.076955782, 500, 248.6713435374
|
||||
149, 1372.076955782, 500, 248.6713435374
|
||||
150, 2125, 500, 250
|
||||
151, 2375, 500, 250
|
||||
152, 3125, 500, 250
|
||||
153, 3375, 500, 250
|
||||
154, 4125, 500, 250
|
||||
155, 4375, 500, 250
|
||||
156, 5125, 500, 250
|
||||
157, 5375, 500, 250
|
||||
158, 6125.578703704, 500, 249.1319444444
|
||||
159, 6375.578703704, 500, 249.1319444444
|
||||
160, 514.4818485495, 500, 403.6641301669
|
||||
161, 407.0201138556, 500, 161.6360689424
|
||||
162, 177.6388345842, 500, 566.1522834873
|
||||
163, 177.6388345842, 500, 816.1522834873
|
||||
164, 427.6388345842, 500, 816.1522834873
|
||||
165, 535.1005692781, 500, 558.1803447118
|
||||
166, 7599.882388988, 500, 155.2280884451
|
||||
167, 7500.614035813, 500, 400.08175908
|
||||
168, 7830.19909859, 500, 824.2982627939
|
||||
169, 7830.19909859, 500, 574.2982627939
|
||||
170, 7580.19909859, 500, 824.2982627939
|
||||
171, 7480.930745415, 500, 569.1519334289
|
||||
172, 334.6589484399, 500, 477.7883524297
|
||||
173, 7849.882388988, 500, 405.2280884451
|
||||
174, 7849.882388988, 500, 155.2280884451
|
||||
175, 157.0201138556, 500, 161.6360689424
|
||||
176, 157.0201138556, 500, 411.6360689424
|
||||
177, 7680.081487578, 500, 479.5263512391
|
||||
|
||||
|
||||
** Face elements
|
||||
*Element, TYPE=S6, ELSET=Efaces
|
||||
37, 43, 81, 44, 91, 92, 59
|
||||
38, 45, 82, 46, 93, 94, 61
|
||||
39, 47, 83, 48, 95, 96, 63
|
||||
40, 49, 84, 50, 97, 98, 65
|
||||
41, 51, 85, 52, 99, 100, 67
|
||||
42, 53, 86, 54, 101, 102, 69
|
||||
43, 43, 73, 81, 103, 104, 91
|
||||
44, 44, 81, 74, 92, 105, 106
|
||||
45, 45, 74, 82, 107, 108, 93
|
||||
46, 46, 82, 75, 94, 109, 110
|
||||
47, 47, 75, 83, 111, 112, 95
|
||||
48, 48, 83, 76, 96, 113, 114
|
||||
49, 49, 76, 84, 115, 116, 97
|
||||
50, 50, 84, 77, 98, 117, 118
|
||||
51, 51, 77, 85, 119, 120, 99
|
||||
52, 52, 85, 78, 100, 121, 122
|
||||
53, 53, 78, 86, 123, 124, 101
|
||||
54, 54, 86, 79, 102, 125, 126
|
||||
55, 21, 80, 79, 127, 128, 129
|
||||
56, 55, 79, 80, 130, 128, 131
|
||||
57, 21, 22, 80, 37, 132, 127
|
||||
58, 55, 80, 56, 131, 133, 71
|
||||
59, 8, 9, 73, 24, 134, 135
|
||||
60, 10, 11, 74, 26, 136, 137
|
||||
61, 12, 13, 75, 28, 138, 139
|
||||
62, 14, 15, 76, 30, 140, 141
|
||||
63, 16, 17, 77, 32, 142, 143
|
||||
64, 18, 19, 78, 34, 144, 145
|
||||
65, 20, 21, 79, 36, 129, 146
|
||||
66, 42, 73, 43, 147, 103, 58
|
||||
67, 44, 74, 45, 106, 107, 60
|
||||
68, 46, 75, 47, 110, 111, 62
|
||||
69, 48, 76, 49, 114, 115, 64
|
||||
70, 50, 77, 51, 118, 119, 66
|
||||
71, 52, 78, 53, 122, 123, 68
|
||||
72, 54, 79, 55, 126, 130, 70
|
||||
73, 9, 81, 73, 148, 104, 134
|
||||
74, 10, 74, 81, 137, 105, 149
|
||||
75, 11, 82, 74, 150, 108, 136
|
||||
76, 12, 75, 82, 139, 109, 151
|
||||
77, 13, 83, 75, 152, 112, 138
|
||||
78, 14, 76, 83, 141, 113, 153
|
||||
79, 15, 84, 76, 154, 116, 140
|
||||
80, 16, 77, 84, 143, 117, 155
|
||||
81, 17, 85, 77, 156, 120, 142
|
||||
82, 18, 78, 85, 145, 121, 157
|
||||
83, 19, 86, 78, 158, 124, 144
|
||||
84, 20, 79, 86, 146, 125, 159
|
||||
85, 9, 10, 81, 25, 149, 148
|
||||
86, 11, 12, 82, 27, 151, 150
|
||||
87, 13, 14, 83, 29, 153, 152
|
||||
88, 15, 16, 84, 31, 155, 154
|
||||
89, 17, 18, 85, 33, 157, 156
|
||||
90, 19, 20, 86, 35, 159, 158
|
||||
91, 8, 73, 90, 135, 160, 161
|
||||
92, 2, 5, 87, 7, 162, 163
|
||||
93, 2, 87, 42, 163, 164, 57
|
||||
94, 42, 87, 73, 164, 165, 147
|
||||
95, 22, 89, 80, 166, 167, 132
|
||||
96, 4, 88, 39, 168, 169, 41
|
||||
97, 4, 56, 88, 72, 170, 168
|
||||
98, 56, 80, 88, 133, 171, 170
|
||||
99, 73, 87, 90, 165, 172, 160
|
||||
100, 3, 39, 89, 40, 173, 174
|
||||
101, 3, 89, 22, 174, 166, 38
|
||||
102, 1, 90, 5, 175, 176, 6
|
||||
103, 1, 8, 90, 23, 161, 175
|
||||
104, 80, 89, 88, 167, 177, 171
|
||||
105, 5, 90, 87, 176, 172, 162
|
||||
106, 39, 88, 89, 169, 177, 173
|
||||
|
||||
** Define element set Eall
|
||||
*ELSET, ELSET=Eall
|
||||
Efaces
|
||||
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Element sets for materials and FEM element type (solid, shell, beam, fluid)
|
||||
*ELSET,ELSET=MechanicalMaterialThickness
|
||||
Efaces
|
||||
|
||||
***********************************************************
|
||||
** constraints fixed node sets
|
||||
** ConstraintFixed
|
||||
*NSET,NSET=ConstraintFixed
|
||||
1,
|
||||
2,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
|
||||
***********************************************************
|
||||
** Materials
|
||||
** see information about units at file end
|
||||
** FreeCAD material name: Calculix-Steel
|
||||
** MechanicalMaterial
|
||||
*MATERIAL, NAME=MechanicalMaterial
|
||||
*ELASTIC
|
||||
210000,0.3
|
||||
|
||||
***********************************************************
|
||||
** Sections
|
||||
*SHELL SECTION, ELSET=MechanicalMaterialThickness, MATERIAL=MechanicalMaterial
|
||||
1000
|
||||
|
||||
***********************************************************
|
||||
** At least one step is needed to run an CalculiX analysis of FreeCAD
|
||||
*STEP
|
||||
*STATIC
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Fixed Constraints
|
||||
** ConstraintFixed
|
||||
*BOUNDARY
|
||||
ConstraintFixed,1
|
||||
ConstraintFixed,2
|
||||
ConstraintFixed,3
|
||||
ConstraintFixed,4
|
||||
ConstraintFixed,5
|
||||
ConstraintFixed,6
|
||||
|
||||
|
||||
***********************************************************
|
||||
** constraints force node loads
|
||||
*CLOAD
|
||||
** ConstraintForce
|
||||
** node loads on shape: CanileverPlate:Edge3
|
||||
3,2,-1.6653345369377E-10
|
||||
3,3,-7.5000000000000E+05
|
||||
4,2,-1.6653345369377E-10
|
||||
4,3,-7.5000000000000E+05
|
||||
39,2,-3.3306690738755E-10
|
||||
39,3,-1.5000000000000E+06
|
||||
40,2,-6.6613381477509E-10
|
||||
40,3,-3.0000000000000E+06
|
||||
41,2,-6.6613381477509E-10
|
||||
41,3,-3.0000000000000E+06
|
||||
|
||||
|
||||
|
||||
***********************************************************
|
||||
** Outputs --> frd file
|
||||
*NODE FILE, OUTPUT=2d
|
||||
U
|
||||
*EL FILE
|
||||
S, E
|
||||
** outputs --> dat file
|
||||
** reaction forces for Constraint fixed
|
||||
*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY
|
||||
RF
|
||||
|
||||
|
||||
***********************************************************
|
||||
*END STEP
|
||||
|
||||
***********************************************************
|
||||
** CalculiX Input file
|
||||
** written by --> FreeCAD 0.20.25335 (Git)
|
||||
** written on --> Wed Jul 28 17:09:34 2021
|
||||
** file name --> test.FCStd
|
||||
** 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 == MPa (Young's Modulus has unit Pressure)
|
||||
** Density: t/mm^3
|
||||
** Gravity: mm/s^2
|
||||
** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K
|
||||
** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K
|
||||
**
|
||||
@@ -78,10 +78,15 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_disp_ab
|
||||
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
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_prescribeddisplacement
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_hexa20
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg2
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg3
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria3
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria6
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_hexa20
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_nodeload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_prescribeddisplacement
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_centrif
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_shell_shell
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_solid_solid
|
||||
@@ -105,9 +110,9 @@ 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_1_si
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_nodeload_0_mm
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_prescribeddisplacement_0_mm
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_hexa20
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_nodeload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_hexa20
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_nodeload
|
||||
|
||||
|
||||
# methods in FreeCAD
|
||||
@@ -309,22 +314,47 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload'
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_faceload'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_hexa20'
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_hexa20'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_nodeload'
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg2'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_prescribeddisplacement'
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg3'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria3'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria6'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_hexa20'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_nodeload'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_prescribeddisplacement'
|
||||
))
|
||||
|
||||
import unittest
|
||||
@@ -444,15 +474,20 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_faceload'
|
||||
'femtest.app.test_solver_oofem.TestSolverOofem.test_ccxcantilever_prescribeddisplacement'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_hexa20'
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_nodeload'
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_hexa20'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_nodeload'
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user