def METHOD_NAME(self, side_num_particles,
                      initial_charge, z_position):
    number = side_num_particles**2
    areas = self.system.box_l[0] * \
        self.system.box_l[1] / number * np.ones(number)
    normals = np.zeros((number, 3))
    normals[:, 2] = 1
    x_position = np.linspace(
        0,
        self.system.box_l[0],
        side_num_particles,
        endpoint=False)
    y_position = np.linspace(
        0,
        self.system.box_l[1],
        side_num_particles,
        endpoint=False)
    x_pos, y_pos = np.meshgrid(x_position, y_position)
    positions = np.stack((x_pos, y_pos, np.full_like(
        x_pos, z_position)), axis=-1).reshape(-1, 3)
    charges = np.full(number, initial_charge)
    fix = [(True, True, True)] * number
    return self.system.part.add(
        pos=positions, q=charges, fix=fix), normals, areas