示例#1
0
cfv.figure()
cfv.draw_mesh(coords=coords,
              edof=edof,
              dofs_per_node=mesh.dofsPerNode,
              el_type=mesh.elType,
              filled=True,
              title="Example 01")

# ----- Draw results

cfv.figure()
cfv.draw_element_values(vonMises,
                        coords,
                        edof,
                        mesh.dofs_per_node,
                        mesh.el_type,
                        a,
                        draw_elements=True,
                        draw_undisplaced_mesh=False,
                        title="Example 06 effective stress")

cfv.figure()
cfv.draw_displacements(a,
                       coords,
                       edof,
                       mesh.dofs_per_node,
                       mesh.el_type,
                       draw_undisplaced_mesh=True,
                       title="Example 06",
                       magnfac=10.0)
示例#2
0
                        ed[i,:])
        
        von_mises.append( np.math.sqrt( pow(es[0],2) - es[0]*es[1] + pow(es[1],2) + 3*pow(es[2],2) ) )
        
# ---- Visualise results ----------------------------------------------------

cfu.info("Drawing results...")

cfv.figure() 
cfv.draw_geometry(g, title="Geometry")

cfv.figure() 
cfv.draw_mesh(coords=coords, edof=edof, dofs_per_node=dofs_per_node, el_type=el_type, 
             filled=True, title="Mesh") #Draws the mesh.

cfv.figure()
cfv.draw_displacements(a, coords, edof, dofs_per_node, el_type, 
                      draw_undisplaced_mesh=False, title="Displacements", 
                      magnfac=25.0)

cfv.figure()
cfv.draw_element_values(von_mises, coords, edof, dofs_per_node, el_type, a, 
                      draw_elements=True, draw_undisplaced_mesh=False, 
                      title="Effective Stress", magnfac=25.0)

cfv.colorbar()

# cfu.info("Done drawing...")

cfv.showAndWait()
示例#3
0
maxFlow = []  # empty list to store flow

# calculating element force
for i in range(edof.shape[0]):
    es, et, eci = cfc.flw2i4s(ex[i, :], ey[i, :], ep, D, ed[i, :])
    maxFlow.append(np.sqrt(pow(es[0, 0], 2) + pow(es[0, 1], 2)))

# visualization
cfv.figure()
cfv.draw_geometry(g, title='Geometry')

cfv.figure()
cfv.draw_element_values(maxFlow,
                        coords,
                        edof,
                        dofsPerNode,
                        elType,
                        None,
                        title='Max flows')

# cfv.colorBar().SetLabel("Flow")

cfv.figure()
cfv.draw_nodal_values(a,
                      coords,
                      edof,
                      dofs_per_node=dofsPerNode,
                      el_type=elType)

# cfv.colorBar().SetLabel("Node values")
cfv.showAndWait()
solver.addBC(rect.left_id, 0.0)
solver.addForceTotal(rect.top_id, -10e5, dimension=2)

results = solver.execute()       
       
# ---- Visualise results ----------------------------------------------------

cfu.info("Drawing results...")

cfv.figure() 
cfv.draw_geometry(rect.geometry(), title="Geometry")

cfv.figure() 
cfv.draw_mesh(mesh.coords, mesh.edof, rect.dofs_per_node, rect.element_type, 
             filled=True, title="Mesh") #Draws the mesh.

cfv.figure()
cfv.draw_displacements(results.a, mesh.coords, mesh.edof, rect.dofs_per_node, rect.element_type, 
                      draw_undisplaced_mesh=False, title="Displacements", 
                      magnfac=1)

cfv.figure()
cfv.draw_element_values(results.el_forces, mesh.coords, mesh.edof, rect.dofs_per_node, rect.element_type, results.a, 
                      draw_elements=True, draw_undisplaced_mesh=False, 
                      title="Effective Stress", magnfac=1)
                      
#cfv.colorBar().SetLabel("Effective stress")

cfu.info("Done drawing...")

cfv.show_and_wait()