Esempio n. 1
0
    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_()
Esempio n. 2
0
# ---- 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()
Esempio n. 3
0
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)