# Set up lattice
vector_a = [11.3074, 0.0, 0.0]*Angstrom
vector_b = [0.0, 11.3074, 0.0]*Angstrom
vector_c = [0.0, 0.0, 11.3074]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define site types
# Site type with fixed occupancy, sites of these type will NOT be optimized.
site_a = AlloySite(Arsenic=1.0)

# Site type with fractional occupancy, site of these type will be optimized.
site_b = AlloySite(Gallium=0.5, Indium=0.5)

# Define sites
sites = [
    site_b, site_b, site_b, site_b, site_b, site_b, site_b, site_b,
    site_a, site_a, site_a, site_a, site_a, site_a, site_a, site_a,
    site_b, site_b, site_b, site_b, site_b, site_b, site_b, site_b,
    site_a, site_a, site_a, site_a, site_a, site_a, site_a, site_a,
    site_b, site_b, site_b, site_b, site_b, site_b, site_b, site_b,
    site_a, site_a, site_a, site_a, site_a, site_a, site_a, site_a,
    site_b, site_b, site_b, site_b, site_b, site_b, site_b, site_b,
    site_a, site_a, site_a, site_a, site_a, site_a, site_a, site_a,
]

# Define coordinates
cartesian_coordinates = [[ 0.      ,  0.      ,  0.      ],
                         [ 0.      ,  0.      ,  5.6537  ],
                         [ 0.      ,  5.6537  ,  0.      ],
                         [ 0.      ,  5.6537  ,  5.6537  ],
                         [ 5.6537  ,  0.      ,  0.      ],
                         [ 5.6537  ,  0.      ,  5.6537  ],
                         [ 5.6537  ,  5.6537  ,  0.      ],
                         [ 5.6537  ,  5.6537  ,  5.6537  ],
                         [ 1.413425,  1.413425,  1.413425],
                         [ 1.413425,  1.413425,  7.067125],
                         [ 1.413425,  7.067125,  1.413425],
                         [ 1.413425,  7.067125,  7.067125],
                         [ 7.067125,  1.413425,  1.413425],
                         [ 7.067125,  1.413425,  7.067125],
                         [ 7.067125,  7.067125,  1.413425],
                         [ 7.067125,  7.067125,  7.067125],
                         [ 2.82685 ,  2.82685 ,  0.      ],
                         [ 2.82685 ,  2.82685 ,  5.6537  ],
                         [ 2.82685 ,  8.48055 ,  0.      ],
                         [ 2.82685 ,  8.48055 ,  5.6537  ],
                         [ 8.48055 ,  2.82685 ,  0.      ],
                         [ 8.48055 ,  2.82685 ,  5.6537  ],
                         [ 8.48055 ,  8.48055 ,  0.      ],
                         [ 8.48055 ,  8.48055 ,  5.6537  ],
                         [ 4.240275,  4.240275,  1.413425],
                         [ 4.240275,  4.240275,  7.067125],
                         [ 4.240275,  9.893975,  1.413425],
                         [ 4.240275,  9.893975,  7.067125],
                         [ 9.893975,  4.240275,  1.413425],
                         [ 9.893975,  4.240275,  7.067125],
                         [ 9.893975,  9.893975,  1.413425],
                         [ 9.893975,  9.893975,  7.067125],
                         [ 2.82685 ,  0.      ,  2.82685 ],
                         [ 2.82685 ,  0.      ,  8.48055 ],
                         [ 2.82685 ,  5.6537  ,  2.82685 ],
                         [ 2.82685 ,  5.6537  ,  8.48055 ],
                         [ 8.48055 ,  0.      ,  2.82685 ],
                         [ 8.48055 ,  0.      ,  8.48055 ],
                         [ 8.48055 ,  5.6537  ,  2.82685 ],
                         [ 8.48055 ,  5.6537  ,  8.48055 ],
                         [ 4.240275,  1.413425,  4.240275],
                         [ 4.240275,  1.413425,  9.893975],
                         [ 4.240275,  7.067125,  4.240275],
                         [ 4.240275,  7.067125,  9.893975],
                         [ 9.893975,  1.413425,  4.240275],
                         [ 9.893975,  1.413425,  9.893975],
                         [ 9.893975,  7.067125,  4.240275],
                         [ 9.893975,  7.067125,  9.893975],
                         [ 0.      ,  2.82685 ,  2.82685 ],
                         [ 0.      ,  2.82685 ,  8.48055 ],
                         [ 0.      ,  8.48055 ,  2.82685 ],
                         [ 0.      ,  8.48055 ,  8.48055 ],
                         [ 5.6537  ,  2.82685 ,  2.82685 ],
                         [ 5.6537  ,  2.82685 ,  8.48055 ],
                         [ 5.6537  ,  8.48055 ,  2.82685 ],
                         [ 5.6537  ,  8.48055 ,  8.48055 ],
                         [ 1.413425,  4.240275,  4.240275],
                         [ 1.413425,  4.240275,  9.893975],
                         [ 1.413425,  9.893975,  4.240275],
                         [ 1.413425,  9.893975,  9.893975],
                         [ 7.067125,  4.240275,  4.240275],
                         [ 7.067125,  4.240275,  9.893975],
                         [ 7.067125,  9.893975,  4.240275],
                         [ 7.067125,  9.893975,  9.893975]]*Angstrom

# Set up configuration
alloy_configuration = AlloyConfiguration(
    bravais_lattice=lattice,
    sites=sites,
    cartesian_coordinates=cartesian_coordinates,
)
