Introduction

The research of low-dimensional materials is an active field in recent years because of their novel properties and wide applications. For instance, some quantum phenomena, such as fractional quantum hall effects1 and Luttinger liquids2, can be realized in the low-dimensional systems. Due to their novel electronic properties induced by the geometric limit, low-dimensional materials have also been widely applied in various research areas including batteries, catalysis, electronics, and photonics3,4, etc. One way to design new low-dimensional materials is the top-down approach, in which the low-dimensional materials are exfoliated from known bulk phases. Many recent investigations have focused on searching in large databases for compounds containing low-dimensional components and using high-throughput computational methods to discover new low-dimensional materials with appealing properties5,6,7,8,9,10,11,12,13,14,15,16. For example, previous work has identified thousands of layered structures from more than 100,000 compounds13, and about 2000 of them are exfoliable.

Therefore, a correct and efficient identification method of structure dimensionality is highly desired for high-throughput mining of low-dimensional materials. Topology-scaling algorithm (TSA)9 and rank determination algorithm (RDA)13 are widely used to determine the dimensionality of a crystal structure. In TSA, an original cluster in the unit cell contains N1 atoms, then the expanded cluster in an n × n × n supercell has N2 atoms. The component dimensionality is determined by the scaling factor N2/N1. The factor is expected to be nd (d = 0, 1, 2, 3), where d is the dimensionality. Different from TSA, RDA computes the rank of the set composed by connected and equivalent atoms in the component to determine the dimensionality. Both methods do not require prior information like the stacking direction for the layers and can deal with complex situations where components with different dimensionalities coexist. However, they require building supercells to connect periodic images. If the supercell is not large enough, TSA and RDA will underestimate the dimensionalities of self-penetrating structures15. To solve the problem, Larsen et al.15 have proposed a modified RDA method.

Actually, early works17,18 based on quotient graph (QG)19 have already proposed correct algorithms for dimensionality, which have been implemented in ToposPro20 and Systre21. Interpenetration analysis is also available through this approach18,22. QG is a powerful method and has been applied in many different fields, such as crystal structure prediction23,24,25,26, structure decomposition27 and machine-learning models for materials property prediction28,29,30,31, etc. Although the algorithms based on QG for dimensionality and self-penetrating multiplicity have been implemented before, however, the detailed discussions about these methods are still insufficient. This hinders the understanding and applying the QG method for computational material scientists.

Here, we revisited QG as a powerful tool to discuss dimensionalities and multiplicities of crystals including self-penetrating structures. We demonstrated and discussed a systematical approach based on the quotient graph to compute correct dimensionality. We compared the QG method with previous dimensionality determination algorithms. The QG method can deal with the multiplicities of self-penetrating structures correctly as well. Moreover, we mined structures with high multiplicities up to 11 in the Crystallography Open Database (COD)32 to show the reliability of the method.

Results

Definition of QG and dimensionality

For screening large materials databases, we used interatomic distances to identify the bonds. A bond between atom i and j exists if

$${d}_{ij}\, < \, k({r}_{i}^{\mathrm{cov}}+{r}_{j}^{\mathrm{cov}}),$$
(1)

where dij is the interatomic distance, \({r}_{i}^{\mathrm{cov}}\) and \({r}_{j}^{\mathrm{cov}}\) are the atomic covalent radii, and k is the bond-length tolerance parameter.

For a crystal structure, the atoms and bonds can be viewed as nodes and edges, and they compose an infinite, undirected graph, called a net. Because of the translation symmetry in the crystal, a net can be described by a finite QG17,19. A QG is a labeled and directed graph containing Nat nodes, where Nat is the number of atoms in the unit cell. To distinguish the translationally equivalent atoms, we use a notation ni(v) (1 ≤ i ≤ Nat) to represent the ith atom with a Cartesian position (xi + v)h, where xi is the fractional coordination of atom i, h is the cell matrix and v is an integer vector representing the coordinate of cell. If a bond exists between \({n}_{i}({\bf{v}}^{\prime} )\) and nj(v), the corresponding QG has an edge \({n}_{i}\mathop{\longrightarrow }\limits^{{\bf{v}}={\bf{v}}^{\prime\prime} -{\bf{v}}^{\prime} }{n}_{j}\) labeled by v. The edge denotes equivalent bonds between ni(v0) and nj(v0 + v) with an arbitrary integer vector v0. Obviously, the edge \({n}_{i}\mathop{\longrightarrow }\limits^{{\bf{v}}}{n}_{j}\) is equivalent to \({n}_{j}\mathop{\longrightarrow }\limits^{-{\bf{v}}}{n}_{i}\) with the opposite direction. Taking graphene as an example, we showed how to build a QG from a net in Fig. 1.

Fig. 1: Graphene net and its quotient graph.
figure 1

a Graphene net in 2D space; b The quotient graph of graphene net. n1, n2 are nodes. e1, e2, e3 are edges. c1, c2 are the two basic cycles of graphene net.

A connected component X in a crystal might contain multiple equivalent atoms {ni(0), ni(v1), ni(v2), ni(v3), …} and its dimensionality is defined by the dimension of the subspace spanned by these connected and translationally equivalent atoms13. Let V be a matrix whose rows are v1, v2, v3, …, then the dimensionality equals to the rank of V:

$$\dim ({\bf{X}})=\dim (\{{{\bf{v}}}_{1},{{\bf{v}}}_{2},{{\bf{v}}}_{3},\ldots \})={\rm{rank}}({\bf{V}}).$$
(2)

For an extensive (1D, 2D, 3D) component, the set {v1, v2, v3, …} is infinite, so we cannot use Eq. (2) to compute the dimensionality directly. Before identifying the dimensionality, we should find the basis set. In this work, a systematical approach based on cycles of QG is used.

In a crystal net, if two equivalent atoms \({n}_{{i}_{1}}({\bf{u}})\) and \({n}_{{i}_{1}}({\bf{u}}^{\prime} )\) are connected, there must be a path between them. In the relative QG, the path connecting equivalent atoms is represented by a closed chain. Suppose a closed chain c is composed by a sequence of connected nodes:\(({n}_{{i}_{1}},{n}_{{i}_{2}},{n}_{{i}_{3}},\ldots ,{n}_{{i}_{k}},{n}_{{i}_{k+1}},\ldots ,{n}_{{i}_{M}},{n}_{{i}_{1}})\), in which the first and last nodes are same. Because of the equivalent relation: \({n}_{i}\mathop{\longrightarrow }\limits^{{\bf{v}}}{n}_{j}\equiv {n}_{j}\mathop{\longrightarrow }\limits^{{\bf{-v}}}{n}_{i}\), we can always adjust the direction of edges in c so that all the edges have the same direction. And the closed chain can be written as:

$$c={n}_{{i}_{1}}\mathop{\longrightarrow }\limits^{{{\bf{v}}}_{1}}{n}_{{i}_{2}}\mathop{\longrightarrow }\limits^{{{\bf{v}}}_{2}}{n}_{{i}_{3}}\ldots {n}_{{i}_{k}}\mathop{\longrightarrow }\limits^{{{\bf{v}}}_{k}}{n}_{{i}_{k+1}}\ldots {n}_{{i}_{M}}\mathop{\longrightarrow }\limits^{{{\bf{v}}}_{M}}{n}_{{i}_{1}}.$$
(3)

The cycle sum17 of the closed chain is defined as s(c) = ∑kvk, where k runs over all the edges in c. In the closed chain c, the kth edge connects atoms \({n}_{{i}_{k}}({{\bf{u}}}_{k})\) and \({n}_{{i}_{k+1}}({{\bf{u}}}_{k+1})\), and the edge vector is vk = uk+1 − uk. Then we obtain:

$${\bf{s}}(c)={\sum \limits_{k}}{{\bf{u}}}_{k+1}-{{\bf{u}}}_{k}=({{\bf{u}}}_{2}-{\bf{u}})+({{\bf{u}}}_{3}-{{\bf{u}}}_{2})+\cdots +({{\bf{u}}}_{k+1}-{{\bf{u}}}_{k})+\cdots +({\bf{u}}^{\prime} -{{\bf{u}}}_{M})={\bf{u}}^{\prime} -{\bf{u}}.$$
(4)

Therefore, the cycle sum s(c) equals to the cell offset between equivalent atoms \({n}_{{i}_{1}}({\bf{u}})\) and \({n}_{{i}_{1}}({\bf{u}}^{\prime} )\). The set {v1, v2, v3, … } in Eq. (2) is exactly the set of cycle sums of all the cycles in QG.

In a finite graph, all the closed chains compose a vector space called cycle space, and the generating subspace is composed by finite basic cycles17. Because the cycle sum function is linear: s(c1 + c2) = s(c1) + s(c2), all the cycle sums \(\left\{{\bf{s}}(c)\right\}\) also compose a vector space. To compute the dimensionality of component X, we only need to consider the cycles sums of finite basic cycles:

$$\dim ({\bf{X}})=\dim (\left\{{\bf{s}}(c)| c\in {\bf{F}}({\bf{G}})\right\})={\rm{rank}}({\bf{S}}),$$
(5)

where F(G) is the set of basic cycles of the QG, G and S is a matrix whose rows are the cycle sums of the basic cycles.

We showed how to compute the dimensionality of graphene in Fig. 1 as an example. In the QG of graphene, as shown in Fig. 1, there are two nodes(n1, n2), three edges(e1, e2, e3), and two basic cycles(c1, c2):

$$\begin{array}{ll}&{e}_{1}:{n}_{1}\mathop{\longrightarrow }\limits^{(1,0)}{n}_{2}\equiv {n}_{2}\mathop{\longrightarrow }\limits^{(-1,0)}{n}_{1}\\ &{e}_{2}:{n}_{1}\mathop{\longrightarrow }\limits^{(0,0)}{n}_{2}\equiv {n}_{2}\mathop{\longrightarrow }\limits^{(0,0)}{n}_{1}\\ &{e}_{3}:{n}_{1}\mathop{\longrightarrow }\limits^{(0,1)}{n}_{2}\equiv {n}_{2}\mathop{\longrightarrow }\limits^{(0,-1)}{n}_{1}\\ &{c}_{1}={e}_{1}+{e}_{2}={n}_{1}\mathop{\longrightarrow }\limits^{(1,0)}{n}_{2}\mathop{\longrightarrow }\limits^{(0,0)}{n}_{1}\\ &{c}_{2}={e}_{2}+{e}_{3}={n}_{1}\mathop{\longrightarrow }\limits^{(0,0)}{n}_{2}\mathop{\longrightarrow }\limits^{(0,1)}{n}_{1}\\ &{\bf{s}}({c}_{1})=(1,0)+(0,0)=(1,0)\\ &{\bf{s}}({c}_{2})=(0,0)+(0,1)=(0,1).\end{array}$$
(6)

We also showed the paths relative to the basic cycles in real space (Fig. 1a). The c1 path connects equivalent atoms n1(0, 0) and n1(1, 0). The offset (1, 0) equals to the cycle sum s(c1). All the connected equivalent atoms can be represented by the basic cycles. For example, a cycle \({c}_{3}={e}_{1}+{e}_{3}={n}_{1}\mathop{\longrightarrow }\limits^{(1,0)}{n}_{2}\mathop{\longrightarrow }\limits^{(0,1)}{n}_{1}\) is related to the path connecting atoms n1(0, 0) and n1(1, 1). It can be represented by a combination of the basic cycles: \({c}_{3}={c}_{1}+{c}_{2}={n}_{1}\mathop{\longrightarrow }\limits^{(1,0)}{n}_{2}\mathop{\longrightarrow }\limits^{(0,0)}{n}_{1}\mathop{\longrightarrow }\limits^{(0,0)}{n}_{2}\mathop{\longrightarrow }\limits^{(0,1)}{n}_{1}\) and the cycle sum s(c3) = s(c1) + s(c2) = (1, 1) is also a linear combination of basic cycle sums. The basic cycle sums matrix is \({\bf{S}}=\left[\begin{array}{ll}1&0\\ 0&1\end{array}\right]\)and the dimensionality of graphene net equals to the rank of the cycle sum matrix: rank(S) = 2.

Comparison with previous methods

RDA is based on the correct definition of component dimensionality in Eq. (2). However, the original version of RDA13 only considers equivalent atoms in a fixed 3 × 3 × 3 supercell, which is not large enough for complicated structures. In practice, the size of the required supercell is unknown in advance. In the modified RDA proposed by Larsen et al.15, a breadth-first-search (BFS) is used. The search starts from atoms in the original cell and then visits the nearest neighbors, second nearest neighbors, third nearest neighbors, …, successively. It terminates when the rank of the set of visited equivalent atoms does not increase. So the dimensionality can be determined in a finite number of steps for those components containing infinite atoms. As shown in the previous subsection, the offsets between equivalent atoms is the cycle sums of cycles in the QG. The rank stops increasing only when all the basic cycles have been considered. Therefore, both the modified RDA and the QG method aim to consider all the basic cell offsets(or basic cycle sums), but the latter is more elegant in theory and easier to understand. Moreover, the QG method provides an additional approach to calculating multiplicity as shown in the following subsection. Actually, the QG method described in the previous subsection is a type of RDA because it also starts from the definition Eq. (2).

Multiplicities of self-penetrating nets

Larsen et al.15 have discussed the contrived self-penetrating helical networks and the improper connections between components which lead to incorrect dimensionality by TSA. Here we shall discuss self-penetrating nets following Thimm’s approach17 which provides more insights to this problem.

Cuprite with a space group of Pn − 3m is a typical example. As shown in Fig. 2a, the O atom with fractional coordinations of (0, 0, 0) in the original cell \({n}_{{O}_{1}}(0,0,0)\) is connected to the equivalent atoms \({n}_{{O}_{1}}(1,1,0)\), \({n}_{{O}_{1}}(0,1,1)\) and \({n}_{{O}_{1}}(1,0,1)\) through copper and other oxygen atoms. This observation can be described by the cycle sum matrix from the QG of cuprite (Fig. 2d):

$${\bf{S}}=\left[\begin{array}{lll}0&1&1\\ 1&0&1\\ 1&1&0\end{array}\right].$$
(7)
Fig. 2: Self-penetrating nets and the QG.
figure 2

The crystal structures of Cu2O (a) and Ag(B(CN)4) (b). c The net with multiplicity of 2 shown in a 2 × 2 × 2 supercell. d The QG of Cu2O. The disconnected networks are colored in red and blue, respectively.

We found the O atom \({n}_{{O}_{1}}(1,0,0)\) is disconnected from \({n}_{{O}_{1}}(0,0,0)\) because (1, 0, 0) cannot be represented as a linear combination of three basic vectors in S if the coefficients are limited to integers. Actually, cuprite is composed by two disconnected subnets as shown in Fig. 2c, and they are equivalent because of the translational symmetry of crystal. Therefore, using TSA, we find one cluster containing 6 atoms (N1 = 6) in the unit cell and in a 2 × 2 × 2 supercell, the cluster expands to 24 atoms (N2 = 24). The scaling factor N2/N1 is 4 which leads to an incorrect dimensionality of 2. Another example is Ag(B(CN)4) (Fig. 2b) found by Larsen et al.15, which has the same topology as cuprite.

The net of cuprite contains two translationally equivalent but disconnected subnets, so its multiplicity is 2. For cuprite, the multiplicity \(\hat{m}\) equals to absolute value of the determinant of S (\(\left|\det ({\bf{S}})\right|=2\))17. However, in general, the cycle sums matrix is not square. Instead, we should find the basic cycle sums \(\tilde{{\bf{S}}}\). For a 3D net, \(\tilde{{\bf{S}}}\) is a 3 × 3 matrix with minimum non-zero absolute value of determinant among all combinations of cycle sums. Then, the multiplicity equals to the absolute value of the determinant of \(\tilde{{\bf{S}}}\):

$$\hat{m}=\left|\det (\tilde{{\bf{S}}})\right|.$$
(8)

The definition of basic cycle sums for nets with arbitrary dimensionality is proposed by Thimm17.

Thimm has proposed Eq. (8) however, he has not provided an explanation17. Here we demonstrate the relation between multiplicity and determinant using a plane self-penetrating net shown in Fig. 3. The basic self-penetrating cell of the red subnet (relative to the unit cell) is defined by the basic cycle sums \(\tilde{{\bf{S}}}=\left[\begin{array}{ll}1&1\\ 1&-1\\ \end{array}\right].\)The cell contains two points, O and P. Since P is in the interior of the cell, its coordinate (1, 0) is not an integer linear combination of the basic self-penetrating vectors (1, 1) and (1, − 1). So it is disconnected from the red subnet. For an arbitrary self-penetrating net, we can always find an \(\tilde{{\bf{S}}}\) to build the basic self-penetrating cell of subnets. Because of the translational symmetry, for each subnet, there is only one point in the basic self-penetrating cell. Therefore, the multiplicity of the net equals to the number of points in the cell, which is the volume/area of the basic self-penetrating cell and the volume/area is \(\left|\det (\tilde{{\bf{S}}})\right|\). Blatov et al. have proposed a general algorithm to compute the multiplicities of interpenetrating nets18,33,34,35. We found the basic self-penetrating cell is actually the primitive interpenetration cell proposed by Blatov et al.18 Actually, the self-penetration discussed here is a special class of interpenetration with only translations.

Fig. 3: A plane self-penetrating net with multiplicity of 2 and its QG.
figure 3

a A twofold self-penetrating net. The black box is the unit cell of the square lattice. The red and blue dash lines and points represent the disconnected subnets. The red solid box is the basic building block of the red subnet. b The relative quotient graph.

In Fig. 4, we have listed examples of 3D net with different multiplicities. The schematics, QGs and the cycle sums of a usual 3D net are shown in Fig. 4a. The original cluster is connected to images in (1, 0, 0), (0, 1, 0) and (0, 0, 1) cell and the multiplicity is 1. In Fig. 4b, the QG contains six edges which are along face diagonals in the schematic. It describes nets with multiplicity of 2 like cuprite. Although the QG is different from that of cuprite, their basic cycle sums are similar. Nets with larger multiplicities of 3 and 4 are also possible, as shown in Fig. 4c–d. We can implement edges in the QGs using carbon atomic chains. Multiple disconnected and equivalent components in supercells can be identified, as shown in Fig. 5. For fourfold nets, helical atomic chains are used to avoid intersections between edges in the schematic (Fig. 4d).

Fig. 4: Schematics, quotient graphs, cycle sums and their determinants of 3D nets.
figure 4

a Onefold net. b Twofold net. c threefold net. d Fourfold net. The black circle in schematics represents a cluster in the original cell. Other colored circles represent the seven images of the cluster for a 2 × 2 × 2 supercell. The dash lines represent edges disconnected from solid lines.

Fig. 5: The contrived examples of three and fourfold nets.
figure 5

Disconnected subnets are marked with different color. a A threefold net in the unit cell. b The threefold net in a 3 × 3 × 3 supercell. c A fourfold net in the unit cell. d The fourfold net in a 2 × 2 × 2 supercell.

Usually, the maximum multiplicity of inorganic 3D nets is four17 and it is related to Hadamard’s maximum determinant problem36, which requires finding the largest determinant for any square matrix composed by elements from a set. For inorganic crystals, the elements in basic cycle sums \(\tilde{{\bf{S}}}\) are usually limited in \(\left\{-1,0,1\right\}\), so \(\tilde{{\bf{S}}}\) is a (−1, 0, 1)-matrix37. For n = 1, 2, 3, 4, 5, … , the largest possible determinant for an n × n(−1, 0, 1)-matrix37 is 1, 2, 4, 16, 48, … . The sequence is the same to maximum multiplicities for n-dimensional nets17. If the elements in \(\tilde{{\bf{S}}}\) are allowed to be larger than 1 or smaller than −1, the maximum multiplicity becomes higher. Such structures are shown in Fig. 6 and discussed below.

Fig. 6: Examples of self-penetrating 3D nets.
figure 6

The crystal structures, chemical formula, multiplicities, and basic cycle sums are presented for nets with multiplicities from 3 to 11.

Based on the database built by Larsen et al.38, we have found 3D, 2D and 1D nets with high multiplicities in COD using our method. The QGs of crystals highly depend on the value of k(Eq. (1)). For instance, if k, all structures are identified as 3D and onefold nets. Larsen et al.15 proposed a scoring parameter to determine the dimensionalities and k intervals and the results are provided in the database38. In this work, for each crystal, we used the low bound for the relative k interval to build the QG and determine the multiplicity. The screening results are shown in Table 1. Note that some nets are self-penetrating only when k is in a narrow interval.

Table 1 Number of nets with different multiplicities and dimensionalities \(\hat{m}\) in COD.

The 3D nets with different multiplicities are shown in Fig. 6. The threefold structure, Ag3[Fe(CN)6] (Fig. 6a), is similar to the contrived model shown in Fig. 5a since they have the same basic cycle sums. Ag3[Fe(CN)6] and the isomorphic compound Ag3[Co(CN)6] have been reported to be colossal thermal expansion materials39,40.

For 3D nets in the database, as shown in Table 1, the maximum multiplicity is 11, contrary to the conclusion that the maximum multiplicity of 3D nets is 4. We found that the crystals with multiplicities higher than 3 are all coordination complexes. The long chains allow connections between equivalent atoms in remote cells. Thus, the elements in the basic cycle sums are not limited in \(\left\{-1,0,1\right\}\) and the compounds have high multiplicities.

We have also found low-dimensional self-penetrating structures shown in Table 1. In a 2D space, we cannot implement a twofold net since the edges will always intersect (Fig. 3). But in 3D crystals, atomic chains can curve to form self-penetrating nets. For example, the 2D twofold complex (Fig. 7a) is similar to the plane self-penetrating net shown in Fig. 3. There are two 2-fold monolayers in the unit cell of the complex and they are stacked along the a axis. In Fig. 7d, we displayed one of the monolayers in a 1 × 2 × 2 supercells and marked the two components using different colors. Two-dimensional nets with multiplicity of 3 and 4 also exist and the examples are shown in Fig. 7. We have also found a 5-fold 2D net but the compound (COD ID: 7216004) is self-penetrating only when k is in a very narrow interval [1.056, 1.085]. So it is not regarded as a penetrating polymer in the original reference41. For 1D structures, self-penetrating nets are very rare and we can only find two and threefold structures in the database, as shown in Fig. 8. The 1D twofold complex extends along the a axis and two translationally equivalent components are found to be entangled (Fig. 8c).

Fig. 7: Examples of self-penetrating 2D nets.
figure 7

ac The crystal structures, chemical formula, multiplicities and basic cycle sums of 2D nets with multiplicities from 2 to 4. d The 2D twofold net in a 1 × 2 × 2 supercell.

Fig. 8: Example of self-penetrating 1D nets.
figure 8

a, b The crystal structures, chemical formula, multiplicities and basic cycle sums of 1D nets with multiplicities of 2 and 3. c The 1D twofold net in a 2 × 1 × 1 supercell.

Discussion

Mixed-dimensional materials contain multiple components which have different dimensionalities. We have done a statistical analysis on single and mixed dimensionalities in the self-penetrating structure set, as shown in Table 2. Mixed-dimensional structures are rare in the whole database15. However, the proportion of self-penetrating structures in the mix-dimensional set is relatively higher. For instance, 4.9% of 0D + 3D structures are self-penetrating while only 1.4% of "pure" 3D structures are self-penetrating. This phenomenon is related to gas sorption capacities of penetrating structures. Compared with non-penetrating nets, self-penetrating nets have less pore size and pore volume. The small pore size and volume in a self-penetrating structure usually leads to stronger interactions between the 3D framework and 0D gas molecules, which improves gas sorption capacity42. The 0D + 3D structures usually contain 0D gas molecules and 3D frameworks, so the proportion of self-penetrating nets in the structure set with this dimensionality type is larger.

Table 2 Number of self-penetrating structures with different crystal dimensionality types.

As shown in Fig. 9, we presented the distribution of crystal systems for the whole self-penetrating set and 3D twofold structures, respectively. More than 70% of self-penetrating structures are triclinic or monoclinic because most of them are organic polymers which have low symmetries. For 3D twofold structures, the distribution is roughly similar but the proportion of cubic crystals is much larger. Actually, there are 19 cubic crystals in the self-penetrating set and all of them are 3D and twofold. These structures are isomorphic to Cu2O and Ag(B(CN)4) shown in Fig. 2.

Fig. 9: The distributions of crystal systems.
figure 9

a All self-penetrating structures. b 3D twofold structures.

We selected 17 3D twofold compounds to evaluate their band gaps. There are two selection criteria. One is that the chosen structures should be distinct self-penetrating. It means they are self-penetrating in a relatively large k interval. The other is that the structure contains <30 atoms in the unit cell. After relaxation by density functional theory (DFT), 16 of the chosen structures maintain the original nets. Then we calculated the electronic structures of them using DFT and the results are shown in Table 3. Among the chosen structures, five compounds are metals or semimetals, and others have band gaps in a wide range from 0.5 to 6.3 eV. These self-penetrating materials might have application values in gas storage and selective catalysis because of their high gas sorption capacities42. Some of them with suitable band gaps also have potential applications in photocatalysis11. In addition, we found both Pb2O and Ag2O are topological semimetals, according to Materiae Database43,44. Pb2O is a high symmetry point semimetal with band degeneracy at the R point while Ag2O is a semimetal with band degeneracy on the X-Γ path. Their IDs in Materiae database are MAT00026156(Pb2O) and MAT00026168(Ag2O), respectively.

Table 3 Chemical formulas, COD IDs, space groups and band gaps for the chosen 3D twofold self-penetrating structures.

Penetration in materials is usually related to mechanical properties. For example, interpenetrating polymer network (IPN) is a type of elastomer(rubber) which is composed by two or more network polymers45,46. IPNs based on two polymer materials can improve mechanical properties like tensile and tear strength45. Thus, IPNs have many applications and some commercial materials are IPNs. In recent years, researchers have also proposed new applications of IPNs such as high-performance electroelastomer artificial muscles47. The self-penetrating polymers screened in this work might have good performances in mechanical properties and wide potential applications. Because the interactions in atomic scale is much more complex, penetration in inorganic atomic networks is highly different from that in polymer materials. For example, we calculated Vickers hardnesses of inorganic 3D twofold structures which contain B, N, or C, but the highest hardnesses is only 13 GPa. So there are no simple relations between penetration in inorganic materials and their mechanical properties.

In summary, we discuss different dimensionality identification algorithms, such as TSA and RDA. And we find self-penetration in crystal nets will affect the reliability of previous methods. In this work, we use a method based on QG theory to determine the multiplicities of self-penetrating nets by the absolute value of the determinant of QG’s basic cycle sums. Our approach allows for screening structures with target dimensionality and multiplicity in large databases. As a showcase, we have identified 1D, 2D, and 3D self-penetrating crystals in the COD database. The self-penetrating structures have various properties, which may lead to potential applications in different aspects, such as gas storage, selective catalysis or photocatalysis, etc.

Methods

Graph theory methods

We have implemented the algorithms of QG based on Python packages NetworkX48, NumPy49, and ASE50. We also used ToposPro20 to confirm the results.

Density functional theory details

Structural optimizations and electronic structure calculations are performed by VASP51 using PBE functional52. Elastic properties are computed by the energy-strain method implemented in VASPKIT53 interfaced with VASP. We used Tian’s model54 to evaluate Vickers hardnesses of materials.