FEM: ccx canti quad4 example and unit test, improve mesh

This commit is contained in:
Bernd Hahnebach
2021-07-29 22:19:53 +02:00
parent ff5509f855
commit 0816e30cba
2 changed files with 78 additions and 38 deletions

View File

@@ -5,27 +5,47 @@ def create_nodes(femmesh):
femmesh.addNode(8000.0, 500.0, 0.0, 3)
femmesh.addNode(8000.0, 500.0000000000002, 1000.0, 4)
femmesh.addNode(0.0, 500.0000000000001, 500.0, 5)
femmesh.addNode(4000.0, 500.0, 0.0, 6)
femmesh.addNode(2000.0, 500.0, 0.0, 7)
femmesh.addNode(2000.0, 500.0, 0.0, 6)
femmesh.addNode(4000.0, 500.0, 0.0, 7)
femmesh.addNode(6000.0, 500.0, 0.0, 8)
femmesh.addNode(8000.0, 500.0000000000001, 500.0, 9)
femmesh.addNode(4000.0, 500.0000000000002, 1000.0, 10)
femmesh.addNode(2000.0, 500.0000000000002, 1000.0, 11)
femmesh.addNode(6000.0, 500.0000000000002, 1000.0, 12)
femmesh.addNode(4000.0, 500.0000000000001, 500.0, 13)
femmesh.addNode(2000.0, 500.0000000000001, 500.0, 14)
femmesh.addNode(6000.0, 500.0000000000001, 500.0, 15)
femmesh.addNode(1000.0, 500.0, 0.0, 9)
femmesh.addNode(7000.0, 500.0, 0.0, 10)
femmesh.addNode(3000.0, 500.0, 0.0, 11)
femmesh.addNode(5000.0, 500.0, 0.0, 12)
femmesh.addNode(8000.0, 500.0000000000001, 500.0, 13)
femmesh.addNode(2000.0, 500.0000000000002, 1000.0, 14)
femmesh.addNode(4000.0, 500.0000000000002, 1000.0, 15)
femmesh.addNode(6000.0, 500.0000000000002, 1000.0, 16)
femmesh.addNode(1000.0, 500.0000000000002, 1000.0, 17)
femmesh.addNode(7000.0, 500.0000000000002, 1000.0, 18)
femmesh.addNode(3000.0, 500.0000000000002, 1000.0, 19)
femmesh.addNode(5000.0, 500.0000000000002, 1000.0, 20)
femmesh.addNode(2000.0, 500.0000000000001, 500.0, 21)
femmesh.addNode(1000.0, 500.0000000000001, 500.0, 22)
femmesh.addNode(6000.0, 500.0000000000001, 500.0, 23)
femmesh.addNode(7000.0, 500.0000000000001, 500.0, 24)
femmesh.addNode(4000.0, 500.0000000000001, 500.0, 25)
femmesh.addNode(3000.0, 500.0000000000001, 500.0, 26)
femmesh.addNode(5000.0, 500.0000000000001, 500.0, 27)
return True
def create_elements(femmesh):
# elements
femmesh.addFace([1, 7, 14, 5], 13)
femmesh.addFace([2, 5, 14, 11], 14)
femmesh.addFace([10, 11, 14, 13], 15)
femmesh.addFace([6, 13, 14, 7], 16)
femmesh.addFace([3, 9, 15, 8], 17)
femmesh.addFace([6, 8, 15, 13], 18)
femmesh.addFace([10, 13, 15, 12], 19)
femmesh.addFace([4, 12, 15, 9], 20)
femmesh.addFace([14, 17, 22, 21], 21)
femmesh.addFace([6, 21, 22, 9], 22)
femmesh.addFace([1, 9, 22, 5], 23)
femmesh.addFace([2, 5, 22, 17], 24)
femmesh.addFace([4, 18, 24, 13], 25)
femmesh.addFace([3, 13, 24, 10], 26)
femmesh.addFace([8, 10, 24, 23], 27)
femmesh.addFace([16, 23, 24, 18], 28)
femmesh.addFace([7, 25, 26, 11], 29)
femmesh.addFace([6, 11, 26, 21], 30)
femmesh.addFace([14, 21, 26, 19], 31)
femmesh.addFace([15, 19, 26, 25], 32)
femmesh.addFace([16, 20, 27, 23], 33)
femmesh.addFace([8, 23, 27, 12], 34)
femmesh.addFace([7, 12, 27, 25], 35)
femmesh.addFace([15, 25, 27, 20], 36)
return True

View File

@@ -8,28 +8,48 @@
3, 8000, 500, 0
4, 8000, 500, 1000
5, 0, 500, 500
6, 4000, 500, 0
7, 2000, 500, 0
6, 2000, 500, 0
7, 4000, 500, 0
8, 6000, 500, 0
9, 8000, 500, 500
10, 4000, 500, 1000
11, 2000, 500, 1000
12, 6000, 500, 1000
13, 4000, 500, 500
14, 2000, 500, 500
15, 6000, 500, 500
9, 1000, 500, 0
10, 7000, 500, 0
11, 3000, 500, 0
12, 5000, 500, 0
13, 8000, 500, 500
14, 2000, 500, 1000
15, 4000, 500, 1000
16, 6000, 500, 1000
17, 1000, 500, 1000
18, 7000, 500, 1000
19, 3000, 500, 1000
20, 5000, 500, 1000
21, 2000, 500, 500
22, 1000, 500, 500
23, 6000, 500, 500
24, 7000, 500, 500
25, 4000, 500, 500
26, 3000, 500, 500
27, 5000, 500, 500
** Face elements
*Element, TYPE=S4, ELSET=Efaces
13, 1, 7, 14, 5
14, 2, 5, 14, 11
15, 10, 11, 14, 13
16, 6, 13, 14, 7
17, 3, 9, 15, 8
18, 6, 8, 15, 13
19, 10, 13, 15, 12
20, 4, 12, 15, 9
21, 14, 17, 22, 21
22, 6, 21, 22, 9
23, 1, 9, 22, 5
24, 2, 5, 22, 17
25, 4, 18, 24, 13
26, 3, 13, 24, 10
27, 8, 10, 24, 23
28, 16, 23, 24, 18
29, 7, 25, 26, 11
30, 6, 11, 26, 21
31, 14, 21, 26, 19
32, 15, 19, 26, 25
33, 16, 20, 27, 23
34, 8, 23, 27, 12
35, 7, 12, 27, 25
36, 15, 25, 27, 20
** Define element set Eall
*ELSET, ELSET=Eall
@@ -91,8 +111,8 @@ ConstraintFixed,6
3,3,-2.2500000000000E+06
4,2,-4.9960036108132E-10
4,3,-2.2500000000000E+06
9,2,-9.9920072216264E-10
9,3,-4.5000000000000E+06
13,2,-9.9920072216264E-10
13,3,-4.5000000000000E+06
@@ -113,8 +133,8 @@ RF
***********************************************************
** CalculiX Input file
** written by --> FreeCAD 0.20.25341 (Git)
** written on --> Thu Jul 29 07:45:55 2021
** written by --> FreeCAD 0.20.25347 (Git)
** written on --> Thu Jul 29 22:17:23 2021
** file name --> test.FCStd
** analysis name --> Analysis
**