You can compute the midpoint of any cell with compute_midpoints.
Something along the lines of
x = ufl.SpatialCoordinate(mesh)
tdim = mesh.topology.dim
num_cells_local = mesh.topology.index_map(tdim).size_local
midpoints = dolfinx.mesh.compute_midpoints(mesh, tdim, np.arange(num_cells_local, dtype=np.int32))
midpoint = dolfinx.fem.Constant(mesh, np.zeros(2, dtype=PETSc.ScalarType))
r = ufl.sqrt((x[0]-midpoint[0])**2 + (x[1]-midpoint[1])**2)
R = dolfinx.fem.Constant(mesh, some_fixed_value)
f = fem.form((1- r/R)*ufl.dx)
for cell in range(num_cells_local):
midpoint_i = midpoints[cell]
midpoint.value[:] = midpoint_i
print(dolfinx.fem.assemble_scalar(f))