@@ -36,33 +36,40 @@ def write_mesh(ccxwriter):
36
36
37
37
element_param = 1 # highest element order only
38
38
group_param = False # do not write mesh group data
39
- if ccxwriter .split_inpfile is True :
39
+
40
+ # Use reduced integration beam elements if this option is enabled in ccx solver settings
41
+ vol_variant = "standard"
42
+ edge_variant = "beam"
43
+ if ccxwriter .solver_obj .BeamReducedIntegration :
44
+ edge_variant = "beam reduced"
45
+ # Check to see if fluid sections are in analysis and use D network element type
46
+ if ccxwriter .member .geos_fluidsection :
47
+ edge_variant = "network"
48
+
49
+ # Use 2D elements if model space is not set to 3D
50
+ if ccxwriter .solver_obj .ModelSpace == "3D" :
51
+ face_variant = "shell"
52
+ elif ccxwriter .solver_obj .ModelSpace == "plane stress" :
53
+ face_variant = "stress"
54
+ elif ccxwriter .solver_obj .ModelSpace == "plane strain" :
55
+ face_variant = "strain"
56
+ elif ccxwriter .solver_obj .ModelSpace == "axisymmetric" :
57
+ face_variant = "axisymmetric"
58
+
59
+ if ccxwriter .split_inpfile :
40
60
write_name = "femesh"
41
61
file_name_split = ccxwriter .mesh_name + "_" + write_name + ".inp"
42
62
ccxwriter .femmesh_file = join (ccxwriter .dir_name , file_name_split )
43
63
44
64
ccxwriter .femmesh .writeABAQUS (
45
65
ccxwriter .femmesh_file ,
46
66
element_param ,
47
- group_param
67
+ group_param ,
68
+ volVariant = vol_variant ,
69
+ faceVariant = face_variant ,
70
+ edgeVariant = edge_variant
48
71
)
49
72
50
- # Check to see if fluid sections are in analysis and use D network element type
51
- if ccxwriter .member .geos_fluidsection :
52
- meshtools .write_D_network_element_to_inputfile (ccxwriter .femmesh_file )
53
-
54
- # Use reduced integration beam elements if this option is enabled in ccx solver settings
55
- if ccxwriter .solver_obj .BeamReducedIntegration :
56
- meshtools .beam_reduced_integration (ccxwriter .femmesh_file )
57
-
58
- # Use 2D elements if model space is not set to 3D
59
- if ccxwriter .solver_obj .ModelSpace == "plane stress" :
60
- meshtools .plane_stress (ccxwriter .femmesh_file )
61
- if ccxwriter .solver_obj .ModelSpace == "plane strain" :
62
- meshtools .plane_strain (ccxwriter .femmesh_file )
63
- if ccxwriter .solver_obj .ModelSpace == "axisymmetric" :
64
- meshtools .axisymmetric (ccxwriter .femmesh_file )
65
-
66
73
inpfile = codecs .open (ccxwriter .file_name , "w" , encoding = "utf-8" )
67
74
inpfile .write ("{}\n " .format (59 * "*" ))
68
75
inpfile .write ("** {}\n " .format (write_name ))
@@ -73,26 +80,12 @@ def write_mesh(ccxwriter):
73
80
ccxwriter .femmesh .writeABAQUS (
74
81
ccxwriter .femmesh_file ,
75
82
element_param ,
76
- group_param
83
+ group_param ,
84
+ volVariant = vol_variant ,
85
+ faceVariant = face_variant ,
86
+ edgeVariant = edge_variant
77
87
)
78
88
79
- # Check to see if fluid sections are in analysis and use D network element type
80
- if ccxwriter .member .geos_fluidsection :
81
- # inpfile is closed
82
- meshtools .write_D_network_element_to_inputfile (ccxwriter .femmesh_file )
83
-
84
- # Use reduced integration beam elements if this option is enabled in ccx solver settings
85
- if ccxwriter .solver_obj .BeamReducedIntegration :
86
- meshtools .beam_reduced_integration (ccxwriter .femmesh_file )
87
-
88
- # Use 2D elements if model space is not set to 3D
89
- if ccxwriter .solver_obj .ModelSpace == "plane stress" :
90
- meshtools .plane_stress (ccxwriter .femmesh_file )
91
- if ccxwriter .solver_obj .ModelSpace == "plane strain" :
92
- meshtools .plane_strain (ccxwriter .femmesh_file )
93
- if ccxwriter .solver_obj .ModelSpace == "axisymmetric" :
94
- meshtools .axisymmetric (ccxwriter .femmesh_file )
95
-
96
89
# reopen file with "append" to add all the rest
97
90
inpfile = codecs .open (ccxwriter .femmesh_file , "a" , encoding = "utf-8" )
98
91
inpfile .write ("\n \n " )
0 commit comments