diff --git a/src/Mod/Fem/femmesh/meshsetsgetter.py b/src/Mod/Fem/femmesh/meshsetsgetter.py index a0834f5d71..466d83dcfb 100644 --- a/src/Mod/Fem/femmesh/meshsetsgetter.py +++ b/src/Mod/Fem/femmesh/meshsetsgetter.py @@ -638,7 +638,7 @@ class MeshSetsGetter(): if self.member.geos_beamsection: # we will need to split the beam even for one beamobj # because no beam in z-direction can be used in ccx without a special adjustment - # thus they need an own ccx_elset + # thus they need an own matgeoset self.get_element_rotation1D_elements() # get the element ids for face and edge elements and write them into the objects @@ -726,15 +726,15 @@ class MeshSetsGetter(): {"short": beamrot_data["ShortName"]}, {"short": "D" + str(i)} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.mat_geo_sets.append(ccx_elset) + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_single_mat_multiple_beam(self): mat_obj = self.member.mats_linear[0]["Object"] @@ -753,15 +753,15 @@ class MeshSetsGetter(): {"short": beamrot_data["ShortName"]}, {"short": "D" + str(i)} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.mat_geo_sets.append(ccx_elset) + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_multiple_mat_single_beam(self): beamsec_obj = self.member.geos_beamsection[0]["Object"] @@ -779,15 +779,15 @@ class MeshSetsGetter(): {"short": beamrot_data["ShortName"]}, {"short": "D" + str(i)} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.mat_geo_sets.append(ccx_elset) + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_multiple_mat_multiple_beam(self): beamrot_data = self.member.geos_beamrotation[0] @@ -810,15 +810,15 @@ class MeshSetsGetter(): {"short": beamrot_data["ShortName"]}, {"short": "D" + str(i)} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.mat_geo_sets.append(ccx_elset) + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) # fluid def get_mat_geo_sets_single_mat_single_fluid(self): @@ -826,13 +826,13 @@ class MeshSetsGetter(): fluidsec_obj = self.member.geos_fluidsection[0]["Object"] elset_data = self.ccx_eedges names = [{"short": "M0"}, {"short": "F0"}] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_single_mat_multiple_fluid(self): mat_obj = self.member.mats_linear[0]["Object"] @@ -840,13 +840,13 @@ class MeshSetsGetter(): fluidsec_obj = fluidsec_data["Object"] elset_data = fluidsec_data["FEMElements"] names = [{"short": "M0"}, {"short": fluidsec_data["ShortName"]}] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_multiple_mat_single_fluid(self): fluidsec_obj = self.member.geos_fluidsection[0]["Object"] @@ -854,13 +854,13 @@ class MeshSetsGetter(): mat_obj = mat_data["Object"] elset_data = mat_data["FEMElements"] names = [{"short": mat_data["ShortName"]}, {"short": "F0"}] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_multiple_mat_multiple_fluid(self): for fluidsec_data in self.member.geos_fluidsection: @@ -876,13 +876,13 @@ class MeshSetsGetter(): {"short": mat_data["ShortName"]}, {"short": fluidsec_data["ShortName"]} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) # shell def get_mat_geo_sets_single_mat_single_shell(self): @@ -893,13 +893,13 @@ class MeshSetsGetter(): {"long": mat_obj.Name, "short": "M0"}, {"long": shellth_obj.Name, "short": "S0"} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_single_mat_multiple_shell(self): mat_obj = self.member.mats_linear[0]["Object"] @@ -910,13 +910,13 @@ class MeshSetsGetter(): {"long": mat_obj.Name, "short": "M0"}, {"long": shellth_obj.Name, "short": shellth_data["ShortName"]} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_multiple_mat_single_shell(self): shellth_obj = self.member.geos_shellthickness[0]["Object"] @@ -927,13 +927,13 @@ class MeshSetsGetter(): {"long": mat_obj.Name, "short": mat_data["ShortName"]}, {"long": shellth_obj.Name, "short": "S0"} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) def get_mat_geo_sets_multiple_mat_multiple_shell(self): for shellth_data in self.member.geos_shellthickness: @@ -949,13 +949,13 @@ class MeshSetsGetter(): {"long": mat_obj.Name, "short": mat_data["ShortName"]}, {"long": shellth_obj.Name, "short": shellth_data["ShortName"]} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) # solid def get_mat_geo_sets_single_mat_solid(self): @@ -965,12 +965,12 @@ class MeshSetsGetter(): {"long": mat_obj.Name, "short": "M0"}, {"long": "Solid", "short": "Solid"} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + self.mat_geo_sets.append(matgeoset) print(self.mat_geo_sets) def get_mat_geo_sets_multiple_mat_solid(self): @@ -981,12 +981,12 @@ class MeshSetsGetter(): {"long": mat_obj.Name, "short": mat_data["ShortName"]}, {"long": "Solid", "short": "Solid"} ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - self.mat_geo_sets.append(ccx_elset) + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_ccx_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + self.mat_geo_sets.append(matgeoset) # ************************************************************************************************ @@ -1005,38 +1005,38 @@ class MeshSetsGetter(): def get_ccx_elset_name_standard(names): # standard max length = 80 - ccx_elset_name = "" + elset_name = "" for name in names: - ccx_elset_name += name["long"] - if len(ccx_elset_name) < 81: - return ccx_elset_name + elset_name += name["long"] + if len(elset_name) < 81: + return elset_name else: - ccx_elset_name = "" + elset_name = "" for name in names: - ccx_elset_name += name["short"] - if len(ccx_elset_name) < 81: - return ccx_elset_name + elset_name += name["short"] + if len(elset_name) < 81: + return elset_name else: error = ( "FEM: Trouble in ccx input file, because an " "elset name is longer than 80 character! {}\n" - .format(ccx_elset_name) + .format(elset_name) ) raise Exception(error) def get_ccx_elset_name_short(names): # restricted max length = 20 (beam elsets) - ccx_elset_name = "" + elset_name = "" for name in names: - ccx_elset_name += name["short"] - if len(ccx_elset_name) < 21: - return ccx_elset_name + elset_name += name["short"] + if len(elset_name) < 21: + return elset_name else: error = ( "FEM: Trouble in ccx input file, because an" "beam elset name is longer than 20 characters! {}\n" - .format(ccx_elset_name) + .format(elset_name) ) raise Exception(error)