Exemple #1
0
 def get_material_elements(self):
     # it only works if either Volumes or Shellthicknesses or Beamsections are in the material objects
     # it means it does not work for mixed meshes and multiple materials, this is checked in check_prerequisites
     if self.femmesh.Volumes:
         # we only could do this for volumes, if a mesh contains volumes we're going to use them in the analysis
         # but a mesh could contain the element faces of the volumes as faces and the edges of the faces as edges,
         # there we have to check of some geometric objects
         all_found = False
         if self.femmesh.GroupCount:
             all_found = FemMeshTools.get_femelement_sets_from_group_data(self.femmesh, self.material_objects)
             print(all_found)
         if all_found is False:
             if not self.femelement_table:
                 self.femelement_table = FemMeshTools.get_femelement_table(self.femmesh)
             # we're going to use the binary search for get_femelements_by_femnodes()
             # thus we need the parameter values self.femnodes_ele_table
             if not self.femnodes_mesh:
                 self.femnodes_mesh = self.femmesh.Nodes
             if not self.femnodes_ele_table:
                 self.femnodes_ele_table = FemMeshTools.get_femnodes_ele_table(self.femnodes_mesh, self.femelement_table)
             FemMeshTools.get_femelement_sets(self.femmesh, self.femelement_table, self.material_objects, self.femnodes_ele_table)
     if self.shellthickness_objects:
         if not self.femelement_table:
             self.femelement_table = FemMeshTools.get_femelement_table(self.femmesh)
         FemMeshTools.get_femelement_sets(self.femmesh, self.femelement_table, self.material_objects)
     if self.beamsection_objects or self.fluidsection_objects:
         if not self.femelement_table:
             self.femelement_table = FemMeshTools.get_femelement_table(self.femmesh)
         FemMeshTools.get_femelement_sets(self.femmesh, self.femelement_table, self.material_objects)
 def get_ccx_elsets_multiple_mat_solid(self):
     all_found = False
     if self.femmesh.GroupCount:
         all_found = FemMeshTools.get_femelement_sets_from_group_data(self.femmesh, self.material_objects)
         print(all_found)
     if all_found is False:
         if not self.femelement_table:
             self.femelement_table = FemMeshTools.get_femelement_table(self.femmesh)
         FemMeshTools.get_femelement_sets(self.femmesh, self.femelement_table, self.material_objects)
     for mat_data in self.material_objects:
         mat_obj = mat_data['Object']
         ccx_elset = {}
         ccx_elset['ccx_elset'] = mat_data['FEMElements']
         ccx_elset['ccx_elset_name'] = get_ccx_elset_solid_name(mat_obj.Name, None, mat_data['ShortName'])
         ccx_elset['mat_obj_name'] = mat_obj.Name
         ccx_elset['ccx_mat_name'] = mat_obj.Material['Name']
         self.ccx_elsets.append(ccx_elset)
Exemple #3
0
 def get_material_elements(self):
     # it only works if either Volumes or Shellthicknesses or Beamsections are in the material objects
     # it means it does not work for mixed meshes and multiple materials, this is checked in check_prerequisites
     print("Materials")
     if self.femmesh.Volumes:
         # we only could do this for volumes, if a mesh contains volumes we're going to use them in the analysis
         # but a mesh could contain the element faces of the volumes as faces and the edges of the faces as edges,
         # there we have to check of some geometric objects
         all_found = False
         if self.femmesh.GroupCount:
             all_found = FemMeshTools.get_femelement_sets_from_group_data(
                 self.femmesh, self.material_objects)
             print(all_found)
         if all_found is False:
             if not self.femelement_table:
                 self.femelement_table = FemMeshTools.get_femelement_table(
                     self.femmesh)
             # we're going to use the binary search for get_femelements_by_femnodes()
             # thus we need the parameter values self.femnodes_ele_table
             if not self.femnodes_mesh:
                 self.femnodes_mesh = self.femmesh.Nodes
             if not self.femnodes_ele_table:
                 self.femnodes_ele_table = FemMeshTools.get_femnodes_ele_table(
                     self.femnodes_mesh, self.femelement_table)
             FemMeshTools.get_femelement_sets(self.femmesh,
                                              self.femelement_table,
                                              self.material_objects,
                                              self.femnodes_ele_table)
     if self.shellthickness_objects:
         if not self.femelement_table:
             self.femelement_table = FemMeshTools.get_femelement_table(
                 self.femmesh)
         FemMeshTools.get_femelement_sets(self.femmesh,
                                          self.femelement_table,
                                          self.material_objects)
     if self.beamsection_objects or self.fluidsection_objects:
         if not self.femelement_table:
             self.femelement_table = FemMeshTools.get_femelement_table(
                 self.femmesh)
         FemMeshTools.get_femelement_sets(self.femmesh,
                                          self.femelement_table,
                                          self.material_objects)