Skip to content

ValueError: Buffer dtype mismatch, expected 'long_t' but got 'long'

An error is raised when calling _discrete_poisson.pyx in a Windows system as below:

ValueError                                Traceback (most recent call last)
<ipython-input-6-3650ae793725> in <module>
      1 dis_poisson = poisson.DiscretePoisson(
      2     geo_inst, grid=grid,
----> 3     selection={'Neuman-Dirichlet':[['voltage', '*']]})

/Poisson_Solver-master\poisson\discrete\discrete_poisson.py in __init__(self, geometry, grid, discretization_method, mesh, test_geometry, discretize, selection, construct_capacintace_matrix)
    561         self.selection = selection
    562         if discretize:
--> 563             self.discretize(selection=self.selection)
    564             if construct_capacintace_matrix:
    565                 self.construct_capacitance_mat()

/Poisson_Solver-master\poisson\discrete\discrete_poisson.py in discretize(self, selection, default_dielectric)
    794             print(selection)
    795             chosen_points = self.search_points(
--> 796                     selection=selection, regions_point=regions_point)
    797         else:
    798             chosen_points = {}
/Poisson_Solver-master\poisson\discrete\discrete_poisson.py in search_points(self, selection, regions_point)
    951                             dirichlet_points=dirichlet_points,
    952                             neuman_points=neuman_points,
--> 953                             points_firstneig=self.mesh.points_firstneig)
    954 
    955                     chosen_points.update({

/Poisson_Solver-master\poisson\discrete\discrete_poisson.py in neuman_dirichlet_selection(dirichlet_points, neuman_points, points_firstneig, **kwargs)
    265         mapping = dscython.find_non_empty(
    266                 list_keep,
--> 267                 index_to_test=np.arange(len(points_dirichlet), dtype=int))
    268 
    269         dirichlet_poits_surface[pos] = points_dirichlet[mapping]

~\Poisson_Solver-master\poisson\discrete\_discrete_poisson.pyx in poisson.discrete._discrete_poisson.find_non_empty()

ValueError: Buffer dtype mismatch, expected 'long_t' but got 'long'
Edited by Eleni Chatzikyriakou