def __init__(self, app, geometry): """Class constructor""" super().__init__() # --- Lagra en referens till applikationsinstansen i klassen self.app = app # --- Geometri self.geometry = geometry # --- Läs in gränssnitt från fil # Läs in gränssnitt från fil uic.loadUi("cfeditor.ui", self) # --- Koppla kontroller till händelsemetoder self.fig = cfv.figure() self.fw = cfv.figure_widget(self.fig) self.fw.setFocusPolicy(Qt.StrongFocus) self.setCentralWidget(self.fw) self.axes = self.fig.gca() self.axes.set_xlim(0, 300) self.axes.set_ylim(0, 300) #print(self.geometry.points) #print(self.geometry.curves) # --- Se till att visa fönstret self.fw.show() self.show() self.raise_()
# ---- Create mesh ---------------------------------------------------------- mesh = cfm.GmshMesh(g) # Element type 3 is quad. (2 is triangle. See user manual for more element types) mesh.el_type = 3 # Degrees of freedom per node. mesh.dofs_per_node = 1 mesh.el_size_factor = 0.01 # mesh.gmsh_exec_path = "D:\\vsmn20-software\\gmsh\gmsh.exe" coords, edof, dofs, bdofs, elementmarkers = mesh.create() # ---- Visualise mesh ------------------------------------------------------- # Draw geometry cfv.draw_geometry(g) # Draw mesh cfv.figure() cfv.draw_mesh(coords, edof, dofs_per_node=mesh.dofs_per_node, el_type=mesh.el_type, filled=True) # Enter main loop cfv.show_and_wait()
print("Computing element forces...") ed = cfc.extractEldisp(edof, a) for i in range(np.shape(ex)[0]): es, et, eci = cfc.flw2i8s(ex[i, :], ey[i, :], ep, Ddict[elementmarkers[i]], ed[i, :]) # Do something with es, et, eci here. # ---- Visualise results ---------------------------------------------------- print("Visualising...") cfv.set_figure_dpi(100) cfv.figure(fig_size=(10, 10)) cfv.draw_geometry(g, title="Geometry") # 8-node quads are drawn as simple quads. cfv.figure(fig_size=(10, 10)) cfv.draw_mesh(coords, edof, dofs_per_node, el_type, filled=False) cfv.figure(fig_size=(10, 10)) cfv.draw_nodal_values_shaded(a, coords, edof, title="Temperature", dofs_per_node=mesh.dofs_per_node, el_type=mesh.el_type, draw_elements=True)