return val node = np.array([(0, 0), (1, 0), (1, 1), (0, 1)], dtype=np.float) cell = np.array([(1, 2, 0), (3, 0, 2)], dtype=np.int) p = 0 mesh = TriangleMesh(node, cell) mesh.uniform_refine() node = mesh.entity('node') cell = mesh.entity('cell') NC = mesh.number_of_cells() bc = mesh.entity_barycenter('cell') if p == 0: integrator = mesh.integrator(1) else: integrator = mesh.integrator(p + 2) cellmeasure = mesh.entity_measure('cell') V = VectorLagrangeFiniteElementSpace(mesh, p, spacetype='D') b = V.source_vector(f2, integrator, cellmeasure) c = V.scalarspace.source_vector(f1, integrator, cellmeasure) print(b) print(c) print(V.number_of_global_dofs()) fig = plt.figure() axes = fig.gca()
ipoint = dof.interpolation_points() cell2dof = dof.cell2dof node = mesh.entity('node') edge = mesh.entity('edge') # fig = plt.figure() # axes = fig.gca() # mesh.add_plot(axes, cellcolor='w') # find_entity(axes, mesh, entity='cell', index='all', showindex=True, color='b', fontsize=15) # # find_node(axes, ipoint, showindex=False, fontsize=12, markersize=25) # find_node(axes, node, showindex=True, fontsize=12, markersize=25) # find_entity(axes, mesh, entity='edge', index='all', showindex=True, color='b', fontsize=12) # plt.show() # get bcs integrator = mesh.integrator(q) qf = integrator bcs, ws = qf.quadpts, qf.weights shape = bcs.shape print(shape) # ------------------------------------------------- # # ------------------------------------------------- # # --- project 2: get basis at bcs --- # # Ref: lagrange_fem_space.py -- basis bcs = bcs ftype = mesh.ftype TD = 2 # topological dimension multiIndex = dof.multiIndex