The regular icosahedron has 20 triangular faces and 12 vertices. Faces can be further subdivided into smaller triangles. However, it is not necessary that the smaller triangles perfectly tile one of the larger (original) triangles.
In fact, one can take a hexagonal sheet and define any lattice vector ($a_1$, $a_2$) on this sheet; this lattice vector would then constitute the side of the large triangle in the icosahedron. These subdivided icosahedra then can be classified by their T-number $T=a_1^2 + a_2^2+a_1 a_2$. The procedure is explained in this paper and I also included a schematic of it below: 
Example structures of different ($a_1, a_2$)-numbers (or, equivalently, T-numbers) are shown here:
As you can see, if $a_1=0$ or $a_2=0$, neighboring pentamers (5-valence vertices, marked in red) are connected by a lattice direction. In other words, the original 20 faces of the icosahedron are each perfectly subdivided by an integer number of triangles. This is not the case for arbitrary $a_1, a_2$, when some of the small triangles are shared between two original triangles of the icosahedron. My question is, whether there is a straightforward way to generate such structures in Mathematica. So far I've been using
Needs["PolyhedronOperations`"] Geodesate[PolyhedronData["Icosahedron"], 3] which subdivides each face like this:
However, this method only allows for structures with $a_1=0$ or $a_2=0$. What would be a good way to generate structures with any $a_1$,$a_2$?
Edit: I believe my question is almost identical to this one: https://math.stackexchange.com/questions/1299861/dynamically-generate-goldberg-polyhedra-gm-n

