FEM: calculix writer, improve split inpfile writing

This commit is contained in:
Bernd Hahnebach
2021-07-05 09:24:16 +02:00
parent 966e0dd519
commit 209986bc02

View File

@@ -146,20 +146,20 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
self.split_inpfile = False
# mesh
inpfileMain = self.write_mesh(self.split_inpfile)
inpfileMain = self.write_mesh()
# element and material sets
self.write_element_sets_material_and_femelement_type(inpfileMain)
# node sets and surface sets
self.write_node_sets_constraints_fixed(inpfileMain, self.split_inpfile)
self.write_node_sets_constraints_displacement(inpfileMain, self.split_inpfile)
self.write_node_sets_constraints_planerotation(inpfileMain, self.split_inpfile)
self.write_surfaces_constraints_contact(inpfileMain, self.split_inpfile)
self.write_surfaces_constraints_tie(inpfileMain, self.split_inpfile)
self.write_surfaces_constraints_sectionprint(inpfileMain, self.split_inpfile)
self.write_node_sets_constraints_transform(inpfileMain, self.split_inpfile)
self.write_node_sets_constraints_temperature(inpfileMain, self.split_inpfile)
self.write_node_sets_constraints_fixed(inpfileMain)
self.write_node_sets_constraints_displacement(inpfileMain)
self.write_node_sets_constraints_planerotation(inpfileMain)
self.write_surfaces_constraints_contact(inpfileMain)
self.write_surfaces_constraints_tie(inpfileMain)
self.write_surfaces_constraints_sectionprint(inpfileMain)
self.write_node_sets_constraints_transform(inpfileMain)
self.write_node_sets_constraints_temperature(inpfileMain)
# materials and fem element types
self.write_materials(inpfileMain)
@@ -204,10 +204,10 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
self.write_constraints_displacement(inpfileMain)
self.write_constraints_sectionprint(inpfileMain)
self.write_constraints_selfweight(inpfileMain)
self.write_constraints_force(inpfileMain, self.split_inpfile)
self.write_constraints_pressure(inpfileMain, self.split_inpfile)
self.write_constraints_force(inpfileMain)
self.write_constraints_pressure(inpfileMain)
self.write_constraints_temperature(inpfileMain)
self.write_constraints_heatflux(inpfileMain, self.split_inpfile)
self.write_constraints_heatflux(inpfileMain)
self.write_constraints_fluidsection(inpfileMain)
# output and step end
@@ -220,11 +220,11 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# mesh
def write_mesh(self, inpfile_split=None):
def write_mesh(self):
# write mesh to file
element_param = 1 # highest element order only
group_param = False # do not write mesh group data
if inpfile_split is True:
if self.split_inpfile is True:
write_name = "femesh"
file_name_split = self.mesh_name + "_" + write_name + ".inp"
split_mesh_file_path = join(self.dir_name, file_name_split)
@@ -266,7 +266,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints fixed
def write_node_sets_constraints_fixed(self, f, inpfile_split=None):
def write_node_sets_constraints_fixed(self, f):
if not self.fixed_objects:
return
# write for all analysis types
@@ -279,7 +279,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -353,7 +353,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints displacement
def write_node_sets_constraints_displacement(self, f, inpfile_split=None):
def write_node_sets_constraints_displacement(self, f):
if not self.displacement_objects:
return
# write for all analysis types
@@ -366,7 +366,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -431,7 +431,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints planerotation
def write_node_sets_constraints_planerotation(self, f, inpfile_split=None):
def write_node_sets_constraints_planerotation(self, f):
if not self.planerotation_objects:
return
# write for all analysis types
@@ -444,7 +444,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -514,7 +514,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints contact
def write_surfaces_constraints_contact(self, f, inpfile_split=None):
def write_surfaces_constraints_contact(self, f):
if not self.contact_objects:
return
# write for all analysis types
@@ -527,7 +527,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -584,7 +584,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints tie
def write_surfaces_constraints_tie(self, f, inpfile_split=None):
def write_surfaces_constraints_tie(self, f):
if not self.tie_objects:
return
# write for all analysis types
@@ -597,7 +597,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -646,7 +646,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints sectionprint
def write_surfaces_constraints_sectionprint(self, f, inpfile_split=None):
def write_surfaces_constraints_sectionprint(self, f):
if not self.sectionprint_objects:
return
# write for all analysis types
@@ -656,7 +656,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -723,7 +723,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints transform
def write_node_sets_constraints_transform(self, f, inpfile_split=None):
def write_node_sets_constraints_transform(self, f):
if not self.transform_objects:
return
# write for all analysis types
@@ -736,7 +736,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -797,7 +797,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints temperature
def write_node_sets_constraints_temperature(self, f, inpfile_split=None):
def write_node_sets_constraints_temperature(self, f):
if not self.temperature_objects:
return
if not self.analysis_type == "thermomech":
@@ -811,7 +811,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -915,7 +915,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints force
def write_constraints_force(self, f, inpfile_split=None):
def write_constraints_force(self, f):
if not self.force_objects:
return
if not (
@@ -933,7 +933,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -968,7 +968,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints pressure
def write_constraints_pressure(self, f, inpfile_split=None):
def write_constraints_pressure(self, f):
if not self.pressure_objects:
return
if not (
@@ -986,7 +986,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))
@@ -1023,7 +1023,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
# ********************************************************************************************
# constraints heatflux
def write_constraints_heatflux(self, f, inpfile_split=None):
def write_constraints_heatflux(self, f):
if not self.heatflux_objects:
return
if not self.analysis_type == "thermomech":
@@ -1034,7 +1034,7 @@ class FemInputWriterCcx(writerbase.FemInputWriter):
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("** written by {} function\n".format(sys._getframe().f_code.co_name))
if inpfile_split is True:
if self.split_inpfile is True:
file_name_split = self.mesh_name + "_" + write_name + ".inp"
f.write("** {}\n".format(write_name.replace("_", " ")))
f.write("*INCLUDE,INPUT={}\n".format(file_name_split))