RS
n = 1
atoms = []
for i = -n:n
for j = -n:n
for k = -n:n
push!(atoms, (a1 .+ [i j k]));
push!(atoms, (a2 .+ [i j k]));
push!(atoms, (a3 .+ [i j k]));
push!(atoms, (a4 .+ [i j k]));
push!(atoms, (a5 .+ [i j k]));
push!(atoms, (a6 .+ [i j k]));
push!(atoms, (a7 .+ [i j k]));
push!(atoms, (a8 .+ [i j k]));
push!(atoms, (a9 .+ [i j k]));
push!(atoms, (a10 .+ [i j k]));
push!(atoms, (a11 .+ [i j k]));
push!(atoms, (a12 .+ [i j k]));
push!(atoms, (a13 .+ [i j k]));
push!(atoms, (a14 .+ [i j k]));
push!(atoms, (a15 .+ [i j k]));
push!(atoms, (a16 .+ [i j k]));
push!(atoms, (a17 .+ [i j k]));
push!(atoms, (a18 .+ [i j k]));
push!(atoms, (a19 .+ [i j k]));
push!(atoms, (a20 .+ [i j k]));
push!(atoms, (a21 .+ [i j k]));
push!(atoms, (a22 .+ [i j k]));
push!(atoms, (a23 .+ [i j k]));
push!(atoms, (a24 .+ [i j k]));
push!(atoms, (a25 .+ [i j k]));
push!(atoms, (a26 .+ [i j k]));
push!(atoms, (a27 .+ [i j k]));
push!(atoms, (a28 .+ [i j k]));
push!(atoms, (a29 .+ [i j k]));
push!(atoms, (a30 .+ [i j k]));
push!(atoms, (a31 .+ [i j k]));
push!(atoms, (a32 .+ [i j k]));
push!(atoms, (a33 .+ [i j k]));
push!(atoms, (a34 .+ [i j k]));
push!(atoms, (a35 .+ [i j k]));
push!(atoms, (a36 .+ [i j k]));
end
end
end
atoms = vcat(atoms...)
unit_cell = similar(atoms); mul!(unit_cell, atoms, M1);
unit_cell = round.(unit_cell, digits = 5)
unit_cell = unique(unit_cell, dims = 1)
unit_cell[.!((-a1 .< unit_cell[:, 1] .< a1) .| (-b1 .< unit_cell[:, 2] .< b1) .| (-c1 .< unit_cell[:, 3] .< c1)), :]
