# Computational determination of unique adosrption sites

I'm not sure it's a chemistry question or physics question or math question. Since I'm active on this site, maybe someone here can point me in the right direction. I'm trying to enumerate all the possible unique adsorption site on a crystal structure. For common FCC(111) and HCP(0001) surface, we have four possible adsorption sites, namely top, bridge, fcc, and hcp. Now, what if I have a binary alloy structure like CuRe (AB/ L10) or Cu3Re (A3B/ L12) or more complex structure like perovskite or zeolites. My idea for finding adsorption site on a simple binary alloy is:

1) Identify all the top site (that's easy, as I have my geometry in fractional coordinate).
2) Find all the bridge site using the formula $\frac{x_1+x_2}{2}$ in x direction and similarly all the bridge site in y direction.
3) Then use traigle like algorithm between three top site to find three fold hollow site and so on.
4) Now calculate Coulomb matrix$^*$ for all the site within the given neighboring radius and layers. So, if I want to include two nearest neighbor and 2 layers, it will calculate Coulomb matrix for all the sites within that range. Now, sort the Coulomb matrix in descending order. If I have repeated Coulomb matrix for any two sites than they are identical sites.
From my analysis, it should be enough to find all the unique adsorption site without using complex topological formulation; however, I would rather be right than go for this simple formula. My idea about topology related mathematics is on the surface level. But I'm ready to invest time on that now.

My question is two fold:
1) Is this method good enough?
2) If not, what do I need to study to find a better method (preferably with some good reference sources)?

$^*$Coulomb matrix: $$CM=\frac{Z_1 \times Z_2}{r_{12}}$$ Here, $Z_1=$ 1 for bridge/fcc/hcp site and molecular weight for top site. And $r_{12}$ is the distance between those two sites.