# Background

I know how to use hp.x in case of undoped periodic system. We take a small unit cell, apply some initial guess values to obtain the ground state (pw.x), and then run the hp.x on top of it to get an ab-initio U value. However, my system is aperiodic. More particularly, I am interested in single/isolated dopants in semiconductors such as Co doped ZnS.

# The problem

We use a 64 atoms ZnS zinc-blende supercell and replace a center Zn atom with a Co atom (3.125% doping). When applying U only to Co-3d (not Zn-3d, or S-2p), a single iteration of a single q-point takes an hour using 2240 CPUs. So, using a 64 atoms supercell in hp.x would take ~15 years of CPU time (a week of wall time) since there are 4 q-points and it takes 15-20 iterations to converge per q-point. When we want to get not just on-site U but also inter-site V parameter, the wall time required can be several months which is simply impossible.

In that case, is there any efficient way to calculate the Hubbard parameters using hp.x in case of single dopants?

# Possible solutions

I can think of two ways:

1. By doping an 8 atom ZnS unit cell in which case that would be 25% doping. The system of interest will no longer be the same though.

2. Calculate U values for Zn-3d, and S-2p for pure ZnS unit cell. Then use a 2 atom HCP Co unit cell to get U value for Co-3d. In this case, we can get the on-site U values but not the inter-site V values.

I have no rationale to go with either of these methods except they are computationally convenient. Values obtained using these methods will not simulate the actual environment of the isolated dopants. We might use these values as a guide and we can try several other U or V values near these values.