It doesn’t always give primitive of the supercell. If I reduce tolerance below symprec = 1e-8, the function crashes with
segmentation fault. For example
sc = Structure( 16.7408, 8.37309, 4.19433,
0, 14.4964, 2.42101,
0, 0, 20.2397,
scale=1 )
.add_atom(4.18631, 2.41645, 1.95011, ‘Bi’)
.add_atom(6.28347, 3.62695, 12.07, ‘Bi’)
.add_atom(6.27958, 6.04054, 1.95011, ‘Bi’)
.add_atom(8.37674, 7.25105, 12.07, ‘Bi’)
.add_atom(8.37285, 9.66464, 1.95011, ‘Bi’)
.add_atom(10.47, 10.8751, 12.07, ‘Bi’)
.add_atom(10.4661, 13.2887, 1.95011, ‘Bi’)
.add_atom(12.5633, 14.4992, 12.07, ‘Bi’)
.add_atom(8.3715, 2.41645, 1.95011, ‘Bi’)
.add_atom(10.4687, 3.62695, 12.07, ‘Bi’)
.add_atom(10.4648, 6.04055, 1.95011, ‘Bi’)
.add_atom(12.5619, 7.25105, 12.07, ‘Bi’)
.add_atom(12.558, 9.66464, 1.95011, ‘Bi’)
.add_atom(14.6552, 10.8751, 12.07, ‘Bi’)
.add_atom(14.6513, 13.2887, 1.95011, ‘Bi’)
.add_atom(16.7485, 14.4992, 12.07, ‘Bi’)
.add_atom(12.5567, 2.41645, 1.95011, ‘Bi’)
.add_atom(14.6539, 3.62695, 12.07, ‘Bi’)
.add_atom(14.65, 6.04055, 1.95011, ‘Bi’)
.add_atom(16.7471, 7.25105, 12.07, ‘Bi’)
.add_atom(16.7432, 9.66464, 1.95011, ‘Bi’)
.add_atom(18.8404, 10.8751, 12.07, ‘Bi’)
.add_atom(18.8365, 13.2887, 1.95011, ‘Bi’)
.add_atom(20.9337, 14.4992, 12.07, ‘Bi’)
.add_atom(16.7419, 2.41645, 1.95011, ‘Bi’)
.add_atom(18.839, 3.62696, 12.07, ‘Bi’)
.add_atom(18.8352, 6.04055, 1.95011, ‘Bi’)
.add_atom(20.9323, 7.25105, 12.07, ‘Bi’)
.add_atom(20.9284, 9.66464, 1.95011, ‘Bi’)
.add_atom(23.0256, 10.8751, 12.07, ‘Bi’)
.add_atom(23.0217, 13.2887, 1.95011, ‘Bi’)
.add_atom(25.1189, 14.4992, 12.07, ‘Bi’)
.add_atom(4.18932, 2.41815, 8.16974, ‘Bi’)
.add_atom(6.28648, 3.62865, 18.2896, ‘Bi’)
.add_atom(6.28259, 6.04224, 8.16974, ‘Bi’)
.add_atom(8.37975, 7.25275, 18.2896, ‘Bi’)
.add_atom(8.37586, 9.66634, 8.16974, ‘Bi’)
.add_atom(10.473, 10.8768, 18.2896, ‘Bi’)
.add_atom(10.4691, 13.2904, 8.16974, ‘Bi’)
.add_atom(12.5663, 14.5009, 18.2896, ‘Bi’)
.add_atom(8.37451, 2.41815, 8.16974, ‘Bi’)
.add_atom(10.4717, 3.62865, 18.2896, ‘Bi’)
.add_atom(10.4678, 6.04224, 8.16974, ‘Bi’)
.add_atom(12.5649, 7.25275, 18.2896, ‘Bi’)
.add_atom(12.5611, 9.66634, 8.16974, ‘Bi’)
.add_atom(14.6582, 10.8768, 18.2896, ‘Bi’)
.add_atom(14.6543, 13.2904, 8.16974, ‘Bi’)
.add_atom(16.7515, 14.5009, 18.2896, ‘Bi’)
.add_atom(12.5597, 2.41815, 8.16974, ‘Bi’)
.add_atom(14.6569, 3.62865, 18.2896, ‘Bi’)
.add_atom(14.653, 6.04224, 8.16974, ‘Bi’)
.add_atom(16.7501, 7.25275, 18.2896, ‘Bi’)
.add_atom(16.7462, 9.66634, 8.16974, ‘Bi’)
.add_atom(18.8434, 10.8768, 18.2896, ‘Bi’)
.add_atom(18.8395, 13.2904, 8.16974, ‘Bi’)
.add_atom(20.9367, 14.5009, 18.2896, ‘Bi’)
.add_atom(16.7449, 2.41815, 8.16974, ‘Bi’)
.add_atom(18.8421, 3.62865, 18.2896, ‘Bi’)
.add_atom(18.8382, 6.04224, 8.16974, ‘Bi’)
.add_atom(20.9353, 7.25275, 18.2896, ‘Bi’)
.add_atom(20.9314, 9.66634, 8.16974, ‘Bi’)
.add_atom(23.0286, 10.8768, 18.2896, ‘Bi’)
.add_atom(23.0247, 13.2904, 8.16974, ‘Bi’)
.add_atom(25.1219, 14.5009, 18.2896, ‘Bi’)
.add_atom(20.9312, 4.8346, 10.1199, ‘Se’)
.add_atom(6.2876, 6.0451, 20.2397, ‘Se’)
.add_atom(23.0245, 8.45869, 10.1199, ‘Se’)
.add_atom(8.38087, 9.6692, 20.2397, ‘Se’)
.add_atom(25.1177, 12.0828, 10.1199, ‘Se’)
.add_atom(10.4741, 13.2933, 20.2397, ‘Se’)
.add_atom(27.211, 15.7069, 10.1199, ‘Se’)
.add_atom(4.19433, 2.42101, 20.2397, ‘Se’)
.add_atom(8.37563, 4.8346, 10.1199, ‘Se’)
.add_atom(10.4728, 6.0451, 20.2397, ‘Se’)
.add_atom(10.4689, 8.45869, 10.1199, ‘Se’)
.add_atom(12.5661, 9.6692, 20.2397, ‘Se’)
.add_atom(12.5622, 12.0828, 10.1199, ‘Se’)
.add_atom(14.6593, 13.2933, 20.2397, ‘Se’)
.add_atom(14.6554, 15.7069, 10.1199, ‘Se’)
.add_atom(8.37952, 2.42101, 20.2397, ‘Se’)
.add_atom(12.5608, 4.8346, 10.1199, ‘Se’)
.add_atom(14.658, 6.0451, 20.2397, ‘Se’)
.add_atom(14.6541, 8.45869, 10.1199, ‘Se’)
.add_atom(16.7513, 9.6692, 20.2397, ‘Se’)
.add_atom(16.7474, 12.0828, 10.1199, ‘Se’)
.add_atom(18.8445, 13.2933, 20.2397, ‘Se’)
.add_atom(18.8406, 15.7069, 10.1199, ‘Se’)
.add_atom(12.5647, 2.42101, 20.2397, ‘Se’)
.add_atom(16.746, 4.8346, 10.1199, ‘Se’)
.add_atom(18.8432, 6.0451, 20.2397, ‘Se’)
.add_atom(18.8393, 8.45869, 10.1199, ‘Se’)
.add_atom(20.9364, 9.6692, 20.2397, ‘Se’)
.add_atom(20.9325, 12.0828, 10.1199, ‘Se’)
.add_atom(23.0297, 13.2933, 20.2397, ‘Se’)
.add_atom(23.0258, 15.7069, 10.1199, ‘Se’)
.add_atom(16.7499, 2.42101, 20.2397, ‘Se’)
.add_atom(6.28326, 3.62685, 6.60167, ‘Se’)
.add_atom(8.38042, 4.83735, 16.7215, ‘Se’)
.add_atom(8.37653, 7.25094, 6.60167, ‘Se’)
.add_atom(10.4737, 8.46145, 16.7215, ‘Se’)
.add_atom(10.4698, 10.875, 6.60166, ‘Se’)
.add_atom(12.567, 12.0855, 16.7215, ‘Se’)
.add_atom(12.5631, 14.4991, 6.60167, ‘Se’)
.add_atom(14.6602, 15.7096, 16.7215, ‘Se’)
.add_atom(10.4685, 3.62685, 6.60167, ‘Se’)
.add_atom(12.5656, 4.83735, 16.7215, ‘Se’)
.add_atom(12.5617, 7.25094, 6.60166, ‘Se’)
.add_atom(14.6589, 8.46144, 16.7215, ‘Se’)
.add_atom(14.655, 10.875, 6.60166, ‘Se’)
.add_atom(16.7522, 12.0855, 16.7215, ‘Se’)
.add_atom(16.7483, 14.4991, 6.60167, ‘Se’)
.add_atom(18.8454, 15.7096, 16.7215, ‘Se’)
.add_atom(14.6536, 3.62685, 6.60167, ‘Se’)
.add_atom(16.7508, 4.83735, 16.7215, ‘Se’)
.add_atom(16.7469, 7.25094, 6.60167, ‘Se’)
.add_atom(18.8441, 8.46144, 16.7215, ‘Se’)
.add_atom(18.8402, 10.875, 6.60167, ‘Se’)
.add_atom(20.9373, 12.0855, 16.7215, ‘Se’)
.add_atom(20.9335, 14.4991, 6.60167, ‘Se’)
.add_atom(23.0306, 15.7096, 16.7215, ‘Se’)
.add_atom(18.8388, 3.62685, 6.60167, ‘Se’)
.add_atom(20.936, 4.83735, 16.7215, ‘Se’)
.add_atom(20.9321, 7.25094, 6.60167, ‘Se’)
.add_atom(23.0293, 8.46144, 16.7215, ‘Se’)
.add_atom(23.0254, 10.875, 6.60167, ‘Se’)
.add_atom(25.1225, 12.0855, 16.7215, ‘Se’)
.add_atom(25.1186, 14.4991, 6.60167, ‘Se’)
.add_atom(27.2158, 15.7096, 16.7215, ‘Se’)
.add_atom(2.09236, 1.20775, 3.51819, ‘Se’)
.add_atom(4.18953, 2.41826, 13.6381, ‘Se’)
.add_atom(4.18564, 4.83185, 3.51819, ‘Se’)
.add_atom(6.2828, 6.04235, 13.6381, ‘Se’)
.add_atom(6.27891, 8.45594, 3.51819, ‘Se’)
.add_atom(8.37607, 9.66645, 13.6381, ‘Se’)
.add_atom(8.37218, 12.08, 3.51819, ‘Se’)
.add_atom(10.4693, 13.2905, 13.6381, ‘Se’)
.add_atom(6.27755, 1.20775, 3.51819, ‘Se’)
.add_atom(8.37472, 2.41826, 13.6381, ‘Se’)
.add_atom(8.37083, 4.83185, 3.51819, ‘Se’)
.add_atom(10.468, 6.04235, 13.6381, ‘Se’)
.add_atom(10.4641, 8.45594, 3.51819, ‘Se’)
.add_atom(12.5613, 9.66645, 13.6381, ‘Se’)
.add_atom(12.5574, 12.08, 3.51819, ‘Se’)
.add_atom(14.6545, 13.2905, 13.6381, ‘Se’)
.add_atom(10.4627, 1.20775, 3.51819, ‘Se’)
.add_atom(12.5599, 2.41826, 13.6381, ‘Se’)
.add_atom(12.556, 4.83185, 3.51819, ‘Se’)
.add_atom(14.6532, 6.04235, 13.6381, ‘Se’)
.add_atom(14.6493, 8.45594, 3.51819, ‘Se’)
.add_atom(16.7465, 9.66645, 13.6381, ‘Se’)
.add_atom(16.7426, 12.08, 3.51819, ‘Se’)
.add_atom(18.8397, 13.2905, 13.6381, ‘Se’)
.add_atom(14.6479, 1.20775, 3.51819, ‘Se’)
.add_atom(16.7451, 2.41826, 13.6381, ‘Se’)
.add_atom(16.7412, 4.83185, 3.51819, ‘Se’)
.add_atom(18.8384, 6.04235, 13.6381, ‘Se’)
.add_atom(18.8345, 8.45594, 3.51819, ‘Se’)
.add_atom(20.9316, 9.66645, 13.6381, ‘Se’)
.add_atom(20.9278, 12.08, 3.51819, ‘Se’)
.add_atom(23.0249, 13.2905, 13.6381, ‘Se’)
Structure( 16.7408, 8.37309, 4.19433,
0, 14.4964, 2.42101,
0, 0, 20.2397,
scale=1 )
.add_atom(12.554, -12.0799, 1.95011, ‘Bi’)
.add_atom(14.6511, -10.8694, 12.07, ‘Bi’)
.add_atom(14.6473, -8.45583, 1.95011, ‘Bi’)
.add_atom(16.7444, -7.24533, 12.07, ‘Bi’)
.add_atom(16.7405, -4.83174, 1.95011, ‘Bi’)
.add_atom(18.8377, -3.62123, 12.07, ‘Bi’)
.add_atom(2.09304, -1.20764, 1.95011, ‘Bi’)
.add_atom(4.1902, 0.00286053, 12.07, ‘Bi’)
.add_atom(16.7392, -12.0799, 1.95011, ‘Bi’)
.add_atom(18.8363, -10.8694, 12.07, ‘Bi’)
.add_atom(18.8324, -8.45583, 1.95011, ‘Bi’)
.add_atom(20.9296, -7.24533, 12.07, ‘Bi’)
.add_atom(4.18495, -4.83174, 1.95011, ‘Bi’)
.add_atom(6.28212, -3.62123, 12.07, ‘Bi’)
.add_atom(6.27823, -1.20764, 1.95011, ‘Bi’)
.add_atom(8.37539, 0.00286026, 12.07, ‘Bi’)
.add_atom(20.9244, -12.0799, 1.95011, ‘Bi’)
.add_atom(23.0215, -10.8694, 12.07, ‘Bi’)
.add_atom(6.27687, -8.45583, 1.95011, ‘Bi’)
.add_atom(8.37404, -7.24533, 12.07, ‘Bi’)
.add_atom(8.37014, -4.83174, 1.95011, ‘Bi’)
.add_atom(10.4673, -3.62123, 12.07, ‘Bi’)
.add_atom(10.4634, -1.20764, 1.95011, ‘Bi’)
.add_atom(12.5606, 0.00286041, 12.07, ‘Bi’)
.add_atom(8.36879, -12.0799, 1.95011, ‘Bi’)
.add_atom(10.466, -10.8694, 12.07, ‘Bi’)
.add_atom(10.4621, -8.45583, 1.95011, ‘Bi’)
.add_atom(12.5592, -7.24533, 12.07, ‘Bi’)
.add_atom(12.5553, -4.83174, 1.95011, ‘Bi’)
.add_atom(14.6525, -3.62123, 12.07, ‘Bi’)
.add_atom(14.6486, -1.20764, 1.95011, ‘Bi’)
.add_atom(16.7458, 0.00286038, 12.07, ‘Bi’)
.add_atom(12.557, -12.0782, 8.16974, ‘Bi’)
.add_atom(14.6542, -10.8677, 18.2896, ‘Bi’)
.add_atom(14.6503, -8.45414, 8.16974, ‘Bi’)
.add_atom(16.7474, -7.24363, 18.2896, ‘Bi’)
.add_atom(16.7435, -4.83004, 8.16974, ‘Bi’)
.add_atom(18.8407, -3.61954, 18.2896, ‘Bi’)
.add_atom(18.8368, -1.20595, 8.16974, ‘Bi’)
.add_atom(20.934, 0.00455848, 18.2896, ‘Bi’)
.add_atom(16.7422, -12.0782, 8.16974, ‘Bi’)
.add_atom(18.8393, -10.8677, 18.2896, ‘Bi’)
.add_atom(18.8355, -8.45414, 8.16974, ‘Bi’)
.add_atom(20.9326, -7.24363, 18.2896, ‘Bi’)
.add_atom(20.9287, -4.83004, 8.16974, ‘Bi’)
.add_atom(23.0259, -3.61954, 18.2896, ‘Bi’)
.add_atom(6.28124, -1.20595, 8.16974, ‘Bi’)
.add_atom(8.3784, 0.00455877, 18.2896, ‘Bi’)
.add_atom(20.9274, -12.0782, 8.16974, ‘Bi’)
.add_atom(23.0245, -10.8677, 18.2896, ‘Bi’)
.add_atom(23.0206, -8.45414, 8.16974, ‘Bi’)
.add_atom(25.1178, -7.24363, 18.2896, ‘Bi’)
.add_atom(8.37315, -4.83004, 8.16974, ‘Bi’)
.add_atom(10.4703, -3.61954, 18.2896, ‘Bi’)
.add_atom(10.4664, -1.20595, 8.16974, ‘Bi’)
.add_atom(12.5636, 0.0045585, 18.2896, ‘Bi’)
.add_atom(25.1126, -12.0782, 8.16974, ‘Bi’)
.add_atom(27.2097, -10.8677, 18.2896, ‘Bi’)
.add_atom(10.4651, -8.45414, 8.16974, ‘Bi’)
.add_atom(12.5622, -7.24363, 18.2896, ‘Bi’)
.add_atom(12.5583, -4.83004, 8.16974, ‘Bi’)
.add_atom(14.6555, -3.61954, 18.2896, ‘Bi’)
.add_atom(14.6516, -1.20595, 8.16974, ‘Bi’)
.add_atom(16.7488, 0.00455848, 18.2896, ‘Bi’)
.add_atom(12.5581, -9.66178, 10.1199, ‘Se’)
.add_atom(14.6553, -8.45127, 20.2397, ‘Se’)
.add_atom(14.6514, -6.03768, 10.1199, ‘Se’)
.add_atom(16.7485, -4.82718, 20.2397, ‘Se’)
.add_atom(16.7447, -2.41359, 10.1199, ‘Se’)
.add_atom(18.8418, -1.20309, 20.2397, ‘Se’)
.add_atom(18.8379, 1.2105, 10.1199, ‘Se’)
.add_atom(12.562, -12.0754, 20.2397, ‘Se’)
.add_atom(16.7433, -9.66178, 10.1199, ‘Se’)
.add_atom(18.8405, -8.45127, 20.2397, ‘Se’)
.add_atom(18.8366, -6.03768, 10.1199, ‘Se’)
.add_atom(20.9337, -4.82718, 20.2397, ‘Se’)
.add_atom(20.9298, -2.41359, 10.1199, ‘Se’)
.add_atom(6.28624, -1.20309, 20.2397, ‘Se’)
.add_atom(6.28235, 1.2105, 10.1199, ‘Se’)
.add_atom(16.7472, -12.0754, 20.2397, ‘Se’)
.add_atom(20.9285, -9.66178, 10.1199, ‘Se’)
.add_atom(23.0257, -8.45127, 20.2397, ‘Se’)
.add_atom(23.0218, -6.03768, 10.1199, ‘Se’)
.add_atom(8.37816, -4.82718, 20.2397, ‘Se’)
.add_atom(8.37427, -2.41359, 10.1199, ‘Se’)
.add_atom(10.4714, -1.20309, 20.2397, ‘Se’)
.add_atom(10.4675, 1.2105, 10.1199, ‘Se’)
.add_atom(20.9324, -12.0754, 20.2397, ‘Se’)
.add_atom(25.1137, -9.66178, 10.1199, ‘Se’)
.add_atom(10.4701, -8.45127, 20.2397, ‘Se’)
.add_atom(10.4662, -6.03768, 10.1199, ‘Se’)
.add_atom(12.5634, -4.82718, 20.2397, ‘Se’)
.add_atom(12.5595, -2.41359, 10.1199, ‘Se’)
.add_atom(14.6566, -1.20309, 20.2397, ‘Se’)
.add_atom(14.6527, 1.2105, 10.1199, ‘Se’)
.add_atom(25.1176, -12.0754, 20.2397, ‘Se’)
.add_atom(14.6509, -10.8695, 6.60167, ‘Se’)
.add_atom(16.7481, -9.65903, 16.7215, ‘Se’)
.add_atom(16.7442, -7.24544, 6.60167, ‘Se’)
.add_atom(18.8414, -6.03493, 16.7215, ‘Se’)
.add_atom(18.8375, -3.62134, 6.60166, ‘Se’)
.add_atom(20.9346, -2.41084, 16.7215, ‘Se’)
.add_atom(4.18999, 0.00275116, 6.60167, ‘Se’)
.add_atom(6.28715, 1.21326, 16.7215, ‘Se’)
.add_atom(18.8361, -10.8695, 6.60167, ‘Se’)
.add_atom(20.9333, -9.65903, 16.7215, ‘Se’)
.add_atom(20.9294, -7.24544, 6.60166, ‘Se’)
.add_atom(23.0266, -6.03493, 16.7215, ‘Se’)
.add_atom(6.28191, -3.62134, 6.60166, ‘Se’)
.add_atom(8.37907, -2.41