FEM: calculix writer, improve split inpfile writing
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user