I am brginner in kwant trying to investigate a graphene ribbon
with onsite Coulomb
energy U<n>, where the electron density <n> at each site should be
Firstly I should point out that currently Kwant can handle non-interacting systems only. Adding mean-field interactions to Kwant is an area of current research, and will be added to a future version (although it may take some time before this happens).
Then, I have to put U<n> as onsite energy. But, I have a problem that, in
the onsite energy should be set as a number or a 2x2 tiny-array. Is there
any way to
set the onsite Coulomb energy?
This is not true; Hamiltonian matrix elements can also be provided as functions that return scalars or matrices. As it stands you would have to implement a Schrödinger-Poisson self-consistent loop yourself. Although the mathematics of this is clear, making a _robust_ numerical implementation is a bit more challenging, but for a given physical case you may be able to make some approximations or calculate some parts analytically to make things easier. I know of this paper: http://arxiv.org/abs/1511.08044 by some colleagues where they did exactly this.