use super::layer_hall_symbol_database::LayerHallNumber;
#[derive(Debug, Clone)]
pub struct LayerWyckoffPosition {
pub hall_number: LayerHallNumber,
pub multiplicity: usize,
pub letter: char,
pub site_symmetry: &'static str,
pub coordinates: &'static str,
}
impl LayerWyckoffPosition {
const fn new(
hall_number: LayerHallNumber,
multiplicity: usize,
letter: char,
site_symmetry: &'static str,
coordinates: &'static str,
) -> Self {
Self {
hall_number,
multiplicity,
letter,
site_symmetry,
coordinates,
}
}
}
pub fn iter_layer_wyckoff_positions(
hall_number: LayerHallNumber,
multiplicity: usize,
) -> impl Iterator<Item = &'static LayerWyckoffPosition> {
LAYER_WYCKOFF_DATABASE
.iter()
.filter(move |wp| wp.hall_number == hall_number && wp.multiplicity == multiplicity)
}
static LAYER_WYCKOFF_DATABASE: [LayerWyckoffPosition; 628] = [
LayerWyckoffPosition::new(1, 1, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(2, 2, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(2, 1, 'd', "-1", "1/2,1/2,0"),
LayerWyckoffPosition::new(2, 1, 'c', "-1", "1/2,0,0"),
LayerWyckoffPosition::new(2, 1, 'b', "-1", "0,1/2,0"),
LayerWyckoffPosition::new(2, 1, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(3, 2, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(3, 1, 'd', "2", "1/2,1/2,z"),
LayerWyckoffPosition::new(3, 1, 'c', "2", "1/2,0,z"),
LayerWyckoffPosition::new(3, 1, 'b', "2", "0,1/2,z"),
LayerWyckoffPosition::new(3, 1, 'a', "2", "0,0,z"),
LayerWyckoffPosition::new(4, 2, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(4, 1, 'a', "m", "x,y,0"),
LayerWyckoffPosition::new(5, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(6, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(7, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(8, 4, 'j', "1", "x,y,z"),
LayerWyckoffPosition::new(8, 2, 'i', "m", "x,y,0"),
LayerWyckoffPosition::new(8, 2, 'h', "2", "1/2,1/2,z"),
LayerWyckoffPosition::new(8, 2, 'g', "2", "1/2,0,z"),
LayerWyckoffPosition::new(8, 2, 'f', "2", "0,1/2,z"),
LayerWyckoffPosition::new(8, 2, 'e', "2", "0,0,z"),
LayerWyckoffPosition::new(8, 1, 'd', "2/m", "1/2,1/2,0"),
LayerWyckoffPosition::new(8, 1, 'c', "2/m", "0,1/2,0"),
LayerWyckoffPosition::new(8, 1, 'b', "2/m", "1/2,0,0"),
LayerWyckoffPosition::new(8, 1, 'a', "2/m", "0,0,0"),
LayerWyckoffPosition::new(9, 4, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(9, 2, 'd', "2", "1/4,1/2,z"),
LayerWyckoffPosition::new(9, 2, 'c', "2", "1/4,0,z"),
LayerWyckoffPosition::new(9, 2, 'b', "-1", "0,1/2,0"),
LayerWyckoffPosition::new(9, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(10, 4, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(10, 2, 'd', "2", "1/4,3/4,z"),
LayerWyckoffPosition::new(10, 2, 'c', "2", "3/4,3/4,z"),
LayerWyckoffPosition::new(10, 2, 'b', "-1", "1/2,0,0"),
LayerWyckoffPosition::new(10, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(11, 4, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(11, 2, 'd', "2", "1/2,3/4,z"),
LayerWyckoffPosition::new(11, 2, 'c', "2", "0,1/4,z"),
LayerWyckoffPosition::new(11, 2, 'b', "-1", "1/2,1/2,0"),
LayerWyckoffPosition::new(11, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(12, 2, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(12, 1, 'b', "2", "x,1/2,0"),
LayerWyckoffPosition::new(12, 1, 'a', "2", "x,0,0"),
LayerWyckoffPosition::new(13, 2, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(13, 1, 'b', "2", "1/2,y,0"),
LayerWyckoffPosition::new(13, 1, 'a', "2", "0,y,0"),
LayerWyckoffPosition::new(14, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(15, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(16, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(16, 2, 'a', "2", "x,0,0"),
LayerWyckoffPosition::new(17, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(17, 2, 'a', "2", "0,y,0"),
LayerWyckoffPosition::new(18, 2, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(18, 1, 'b', "m", "1/2,y,z"),
LayerWyckoffPosition::new(18, 1, 'a', "m", "0,y,z"),
LayerWyckoffPosition::new(19, 2, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(19, 1, 'b', "m", "x,1/2,z"),
LayerWyckoffPosition::new(19, 1, 'a', "m", "x,0,z"),
LayerWyckoffPosition::new(20, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(21, 2, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(22, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(22, 2, 'a', "m", "0,y,z"),
LayerWyckoffPosition::new(23, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(23, 2, 'a', "m", "x,0,z"),
LayerWyckoffPosition::new(24, 4, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(24, 2, 'h', "m", "1/2,y,z"),
LayerWyckoffPosition::new(24, 2, 'g', "m", "0,y,z"),
LayerWyckoffPosition::new(24, 2, 'f', "2", "x,1/2,0"),
LayerWyckoffPosition::new(24, 2, 'e', "2", "x,0,0"),
LayerWyckoffPosition::new(24, 1, 'd', "2/m", "1/2,1/2,0"),
LayerWyckoffPosition::new(24, 1, 'c', "2/m", "0,1/2,0"),
LayerWyckoffPosition::new(24, 1, 'b', "2/m", "1/2,0,0"),
LayerWyckoffPosition::new(24, 1, 'a', "2/m", "0,0,0"),
LayerWyckoffPosition::new(25, 4, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(25, 2, 'h', "m", "x,1/2,z"),
LayerWyckoffPosition::new(25, 2, 'g', "m", "x,0,z"),
LayerWyckoffPosition::new(25, 2, 'f', "2", "1/2,y,0"),
LayerWyckoffPosition::new(25, 2, 'e', "2", "0,y,0"),
LayerWyckoffPosition::new(25, 1, 'd', "2/m", "1/2,1/2,0"),
LayerWyckoffPosition::new(25, 1, 'c', "2/m", "1/2,0,0"),
LayerWyckoffPosition::new(25, 1, 'b', "2/m", "0,1/2,0"),
LayerWyckoffPosition::new(25, 1, 'a', "2/m", "0,0,0"),
LayerWyckoffPosition::new(26, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(26, 2, 'c', "m", "1/4,y,z"),
LayerWyckoffPosition::new(26, 2, 'b', "-1", "0,1/2,0"),
LayerWyckoffPosition::new(26, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(27, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(27, 2, 'c', "m", "x,3/4,z"),
LayerWyckoffPosition::new(27, 2, 'b', "-1", "1/2,0,0"),
LayerWyckoffPosition::new(27, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(28, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(28, 2, 'c', "2", "x,1/4,0"),
LayerWyckoffPosition::new(28, 2, 'b', "-1", "1/2,0,0"),
LayerWyckoffPosition::new(28, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(29, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(29, 2, 'c', "2", "1/4,y,0"),
LayerWyckoffPosition::new(29, 2, 'b', "-1", "0,1/2,0"),
LayerWyckoffPosition::new(29, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(30, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(30, 2, 'b', "-1", "0,1/2,0"),
LayerWyckoffPosition::new(30, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(31, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(31, 2, 'b', "-1", "1/2,0,0"),
LayerWyckoffPosition::new(31, 2, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(32, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(32, 4, 'e', "m", "0,y,z"),
LayerWyckoffPosition::new(32, 4, 'd', "2", "x,0,0"),
LayerWyckoffPosition::new(32, 4, 'c', "-1", "1/4,1/4,0"),
LayerWyckoffPosition::new(32, 2, 'b', "2/m", "1/2,0,0"),
LayerWyckoffPosition::new(32, 2, 'a', "2/m", "0,0,0"),
LayerWyckoffPosition::new(33, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(33, 4, 'e', "m", "x,0,z"),
LayerWyckoffPosition::new(33, 4, 'd', "2", "0,y,0"),
LayerWyckoffPosition::new(33, 4, 'c', "-1", "1/4,3/4,0"),
LayerWyckoffPosition::new(33, 2, 'b', "2/m", "0,1/2,0"),
LayerWyckoffPosition::new(33, 2, 'a', "2/m", "0,0,0"),
LayerWyckoffPosition::new(34, 4, 'm', "1", "x,y,z"),
LayerWyckoffPosition::new(34, 2, 'l', "..2", "1/2,1/2,z"),
LayerWyckoffPosition::new(34, 2, 'k', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(34, 2, 'j', "..2", "1/2,0,z"),
LayerWyckoffPosition::new(34, 2, 'i', "..2", "0,0,z"),
LayerWyckoffPosition::new(34, 2, 'h', ".2.", "1/2,y,0"),
LayerWyckoffPosition::new(34, 2, 'g', ".2.", "0,y,0"),
LayerWyckoffPosition::new(34, 2, 'f', "2..", "x,1/2,0"),
LayerWyckoffPosition::new(34, 2, 'e', "2..", "x,0,0"),
LayerWyckoffPosition::new(34, 1, 'd', "222", "1/2,1/2,0"),
LayerWyckoffPosition::new(34, 1, 'c', "222", "0,1/2,0"),
LayerWyckoffPosition::new(34, 1, 'b', "222", "1/2,0,0"),
LayerWyckoffPosition::new(34, 1, 'a', "222", "0,0,0"),
LayerWyckoffPosition::new(35, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(35, 2, 'c', ".2.", "1/4,y,0"),
LayerWyckoffPosition::new(35, 2, 'b', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(35, 2, 'a', "..2", "0,0,z"),
LayerWyckoffPosition::new(36, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(36, 2, 'c', ".2.", "x,3/4,0"),
LayerWyckoffPosition::new(36, 2, 'b', "..2", "1/2,0,z"),
LayerWyckoffPosition::new(36, 2, 'a', "..2", "0,0,z"),
LayerWyckoffPosition::new(37, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(37, 2, 'b', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(37, 2, 'a', "..2", "0,0,z"),
LayerWyckoffPosition::new(38, 8, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(38, 4, 'g', "..2", "1/4,1/4,z"),
LayerWyckoffPosition::new(38, 4, 'f', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(38, 4, 'e', "..2", "0,0,z"),
LayerWyckoffPosition::new(38, 4, 'd', ".2.", "0,y,0"),
LayerWyckoffPosition::new(38, 4, 'c', "2..", "x,0,0"),
LayerWyckoffPosition::new(38, 2, 'b', "222", "0,1/2,0"),
LayerWyckoffPosition::new(38, 2, 'a', "222", "0,0,0"),
LayerWyckoffPosition::new(39, 4, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(39, 2, 'h', "m..", "1/2,y,z"),
LayerWyckoffPosition::new(39, 2, 'g', "m..", "0,y,z"),
LayerWyckoffPosition::new(39, 2, 'f', ".m.", "x,1/2,z"),
LayerWyckoffPosition::new(39, 2, 'e', ".m.", "x,0,z"),
LayerWyckoffPosition::new(39, 1, 'd', "mm2", "1/2,1/2,z"),
LayerWyckoffPosition::new(39, 1, 'c', "mm2", "1/2,0,z"),
LayerWyckoffPosition::new(39, 1, 'b', "mm2", "0,1/2,z"),
LayerWyckoffPosition::new(39, 1, 'a', "mm2", "0,0,z"),
LayerWyckoffPosition::new(40, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(40, 2, 'c', "m..", "1/4,y,z"),
LayerWyckoffPosition::new(40, 2, 'b', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(40, 2, 'a', "..2", "0,0,z"),
LayerWyckoffPosition::new(41, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(41, 2, 'c', "m..", "x,3/4,z"),
LayerWyckoffPosition::new(41, 2, 'b', "..2", "1/2,0,z"),
LayerWyckoffPosition::new(41, 2, 'a', "..2", "0,0,z"),
LayerWyckoffPosition::new(42, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(42, 2, 'b', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(42, 2, 'a', "..2", "0,0,z"),
LayerWyckoffPosition::new(43, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(43, 4, 'e', "m..", "0,y,z"),
LayerWyckoffPosition::new(43, 4, 'd', ".m.", "x,0,z"),
LayerWyckoffPosition::new(43, 4, 'c', "..2", "1/4,1/4,z"),
LayerWyckoffPosition::new(43, 2, 'b', "mm2", "0,1/2,z"),
LayerWyckoffPosition::new(43, 2, 'a', "mm2", "0,0,z"),
LayerWyckoffPosition::new(44, 4, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(44, 2, 'e', "..m", "x,y,0"),
LayerWyckoffPosition::new(44, 2, 'd', "m..", "1/2,y,z"),
LayerWyckoffPosition::new(44, 2, 'c', "m..", "0,y,z"),
LayerWyckoffPosition::new(44, 1, 'b', "m2m", "1/2,y,0"),
LayerWyckoffPosition::new(44, 1, 'a', "m2m", "0,y,0"),
LayerWyckoffPosition::new(45, 4, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(45, 2, 'e', "..m", "x,y,0"),
LayerWyckoffPosition::new(45, 2, 'd', "m..", "x,1/2,z"),
LayerWyckoffPosition::new(45, 2, 'c', "m..", "x,0,z"),
LayerWyckoffPosition::new(45, 1, 'b', "m2m", "x,1/2,0"),
LayerWyckoffPosition::new(45, 1, 'a', "m2m", "x,0,0"),
LayerWyckoffPosition::new(46, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(46, 2, 'b', "m..", "1/2,y,z"),
LayerWyckoffPosition::new(46, 2, 'a', "m..", "0,y,z"),
LayerWyckoffPosition::new(47, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(47, 2, 'b', "m..", "x,1/2,z"),
LayerWyckoffPosition::new(47, 2, 'a', "m..", "x,0,z"),
LayerWyckoffPosition::new(48, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(48, 2, 'a', "..m", "x,y,0"),
LayerWyckoffPosition::new(49, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(49, 2, 'a', "..m", "x,y,0"),
LayerWyckoffPosition::new(50, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(50, 2, 'b', ".2.", "1/2,y,0"),
LayerWyckoffPosition::new(50, 2, 'a', ".2.", "0,y,0"),
LayerWyckoffPosition::new(51, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(51, 2, 'b', ".2.", "x,1/2,0"),
LayerWyckoffPosition::new(51, 2, 'a', ".2.", "x,0,0"),
LayerWyckoffPosition::new(52, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(52, 2, 'b', "m..", "1/4,y,z"),
LayerWyckoffPosition::new(52, 2, 'a', ".2.", "0,y,0"),
LayerWyckoffPosition::new(53, 4, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(53, 2, 'b', "m..", "x,3/4,z"),
LayerWyckoffPosition::new(53, 2, 'a', ".2.", "x,0,0"),
LayerWyckoffPosition::new(54, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(54, 2, 'a', "m..", "0,y,z"),
LayerWyckoffPosition::new(55, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(55, 2, 'a', "m..", "x,0,z"),
LayerWyckoffPosition::new(56, 4, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(57, 4, 'a', "1", "x,y,z"),
LayerWyckoffPosition::new(58, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(58, 2, 'a', ".2.", "0,y,0"),
LayerWyckoffPosition::new(59, 4, 'b', "1", "x,y,z"),
LayerWyckoffPosition::new(59, 2, 'a', ".2.", "x,0,0"),
LayerWyckoffPosition::new(60, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(60, 4, 'c', "..m", "x,y,0"),
LayerWyckoffPosition::new(60, 4, 'b', "m..", "0,y,z"),
LayerWyckoffPosition::new(60, 2, 'a', "m2m", "0,y,0"),
LayerWyckoffPosition::new(61, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(61, 4, 'c', "..m", "x,y,0"),
LayerWyckoffPosition::new(61, 4, 'b', "m..", "x,0,z"),
LayerWyckoffPosition::new(61, 2, 'a', "m2m", "x,0,0"),
LayerWyckoffPosition::new(62, 8, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(62, 4, 'b', "m..", "1/4,y,z"),
LayerWyckoffPosition::new(62, 4, 'a', ".2.", "0,y,0"),
LayerWyckoffPosition::new(63, 8, 'c', "1", "x,y,z"),
LayerWyckoffPosition::new(63, 4, 'b', "m..", "x,3/4,z"),
LayerWyckoffPosition::new(63, 4, 'a', ".2.", "x,0,0"),
LayerWyckoffPosition::new(64, 8, 'r', "1", "x,y,z"),
LayerWyckoffPosition::new(64, 4, 'q', "..m", "x,y,0"),
LayerWyckoffPosition::new(64, 4, 'p', ".m.", "x,1/2,z"),
LayerWyckoffPosition::new(64, 4, 'o', ".m.", "x,0,z"),
LayerWyckoffPosition::new(64, 4, 'n', "m..", "1/2,y,z"),
LayerWyckoffPosition::new(64, 4, 'm', "m..", "0,y,z"),
LayerWyckoffPosition::new(64, 2, 'l', "mm2", "1/2,1/2,z"),
LayerWyckoffPosition::new(64, 2, 'k', "mm2", "1/2,0,z"),
LayerWyckoffPosition::new(64, 2, 'j', "mm2", "0,1/2,z"),
LayerWyckoffPosition::new(64, 2, 'i', "mm2", "0,0,z"),
LayerWyckoffPosition::new(64, 2, 'h', "m2m", "1/2,y,0"),
LayerWyckoffPosition::new(64, 2, 'g', "m2m", "0,y,0"),
LayerWyckoffPosition::new(64, 2, 'f', "2mm", "x,1/2,0"),
LayerWyckoffPosition::new(64, 2, 'e', "2mm", "x,0,0"),
LayerWyckoffPosition::new(64, 1, 'd', "mmm", "1/2,1/2,0"),
LayerWyckoffPosition::new(64, 1, 'c', "mmm", "0,1/2,0"),
LayerWyckoffPosition::new(64, 1, 'b', "mmm", "1/2,0,0"),
LayerWyckoffPosition::new(64, 1, 'a', "mmm", "0,0,0"),
LayerWyckoffPosition::new(65, 8, 'k', "1", "x,y,z"),
LayerWyckoffPosition::new(65, 4, 'j', "m..", "0,y,z"),
LayerWyckoffPosition::new(65, 4, 'i', "2..", "x,1/2,0"),
LayerWyckoffPosition::new(65, 4, 'h', "2..", "x,0,0"),
LayerWyckoffPosition::new(65, 4, 'g', "..2", "1/4,1/2,z"),
LayerWyckoffPosition::new(65, 4, 'f', "..2", "1/4,0,z"),
LayerWyckoffPosition::new(65, 4, 'e', ".2.", "1/4,y,0"),
LayerWyckoffPosition::new(65, 2, 'd', "222", "1/4,1/2,0"),
LayerWyckoffPosition::new(65, 2, 'c', "222", "1/4,0,0"),
LayerWyckoffPosition::new(65, 2, 'b', "2/m..", "0,1/2,0"),
LayerWyckoffPosition::new(65, 2, 'a', "2/m..", "0,0,0"),
LayerWyckoffPosition::new(66, 8, 'k', "1", "x,y,z"),
LayerWyckoffPosition::new(66, 4, 'j', "m..", "x,0,z"),
LayerWyckoffPosition::new(66, 4, 'i', "2..", "1/2,y,0"),
LayerWyckoffPosition::new(66, 4, 'h', "2..", "0,y,0"),
LayerWyckoffPosition::new(66, 4, 'g', "..2", "1/2,3/4,z"),
LayerWyckoffPosition::new(66, 4, 'f', "..2", "0,3/4,z"),
LayerWyckoffPosition::new(66, 4, 'e', ".2.", "x,3/4,0"),
LayerWyckoffPosition::new(66, 2, 'd', "222", "1/2,3/4,0"),
LayerWyckoffPosition::new(66, 2, 'c', "222", "0,3/4,0"),
LayerWyckoffPosition::new(66, 2, 'b', "2/m..", "1/2,0,0"),
LayerWyckoffPosition::new(66, 2, 'a', "2/m..", "0,0,0"),
LayerWyckoffPosition::new(67, 8, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(67, 4, 'g', "..2", "1/4,3/4,z"),
LayerWyckoffPosition::new(67, 4, 'f', "..2", "1/4,1/4,z"),
LayerWyckoffPosition::new(67, 4, 'e', ".2.", "1/4,y,0"),
LayerWyckoffPosition::new(67, 4, 'd', "2..", "x,1/4,0"),
LayerWyckoffPosition::new(67, 4, 'c', "-1", "0,0,0"),
LayerWyckoffPosition::new(67, 2, 'b', "222", "3/4,1/4,0"),
LayerWyckoffPosition::new(67, 2, 'a', "222", "1/4,1/4,0"),
LayerWyckoffPosition::new(68, 8, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(68, 4, 'g', "m..", "1/4,y,z"),
LayerWyckoffPosition::new(68, 4, 'f', "..m", "x,y,0"),
LayerWyckoffPosition::new(68, 4, 'e', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(68, 4, 'd', "..2", "0,0,z"),
LayerWyckoffPosition::new(68, 2, 'c', "m2m", "1/4,y,0"),
LayerWyckoffPosition::new(68, 2, 'b', "..2/m", "0,1/2,0"),
LayerWyckoffPosition::new(68, 2, 'a', "..2/m", "0,0,0"),
LayerWyckoffPosition::new(69, 8, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(69, 4, 'g', "m..", "x,3/4,z"),
LayerWyckoffPosition::new(69, 4, 'f', "..m", "x,y,0"),
LayerWyckoffPosition::new(69, 4, 'e', "..2", "1/2,0,z"),
LayerWyckoffPosition::new(69, 4, 'd', "..2", "0,0,z"),
LayerWyckoffPosition::new(69, 2, 'c', "m2m", "x,3/4,0"),
LayerWyckoffPosition::new(69, 2, 'b', "..2/m", "1/2,0,0"),
LayerWyckoffPosition::new(69, 2, 'a', "..2/m", "0,0,0"),
LayerWyckoffPosition::new(70, 8, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(70, 4, 'h', "m..", "1/4,y,z"),
LayerWyckoffPosition::new(70, 4, 'g', ".m.", "x,1/2,z"),
LayerWyckoffPosition::new(70, 4, 'f', ".m.", "x,0,z"),
LayerWyckoffPosition::new(70, 4, 'e', ".2.", "0,y,0"),
LayerWyckoffPosition::new(70, 2, 'd', "mm2", "1/4,1/2,z"),
LayerWyckoffPosition::new(70, 2, 'c', "mm2", "1/4,0,z"),
LayerWyckoffPosition::new(70, 2, 'b', ".2/m.", "0,1/2,0"),
LayerWyckoffPosition::new(70, 2, 'a', ".2/m.", "0,0,0"),
LayerWyckoffPosition::new(71, 8, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(71, 4, 'h', "m..", "x,3/4,z"),
LayerWyckoffPosition::new(71, 4, 'g', ".m.", "1/2,y,z"),
LayerWyckoffPosition::new(71, 4, 'f', ".m.", "0,y,z"),
LayerWyckoffPosition::new(71, 4, 'e', ".2.", "x,0,0"),
LayerWyckoffPosition::new(71, 2, 'd', "mm2", "1/2,3/4,z"),
LayerWyckoffPosition::new(71, 2, 'c', "mm2", "0,3/4,z"),
LayerWyckoffPosition::new(71, 2, 'b', ".2/m.", "1/2,0,0"),
LayerWyckoffPosition::new(71, 2, 'a', ".2/m.", "0,0,0"),
LayerWyckoffPosition::new(72, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(72, 4, 'e', "m..", "0,y,z"),
LayerWyckoffPosition::new(72, 4, 'd', "..2", "1/4,1/4,z"),
LayerWyckoffPosition::new(72, 4, 'c', "2..", "x,0,0"),
LayerWyckoffPosition::new(72, 2, 'b', "2/m..", "1/2,0,0"),
LayerWyckoffPosition::new(72, 2, 'a', "2/m..", "0,0,0"),
LayerWyckoffPosition::new(73, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(73, 4, 'e', "m..", "x,0,z"),
LayerWyckoffPosition::new(73, 4, 'd', "..2", "1/4,3/4,z"),
LayerWyckoffPosition::new(73, 4, 'c', "2..", "0,y,0"),
LayerWyckoffPosition::new(73, 2, 'b', "2/m..", "0,1/2,0"),
LayerWyckoffPosition::new(73, 2, 'a', "2/m..", "0,0,0"),
LayerWyckoffPosition::new(74, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(74, 4, 'c', "2..", "x,1/4,0"),
LayerWyckoffPosition::new(74, 4, 'b', "..2", "1/4,0,z"),
LayerWyckoffPosition::new(74, 4, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(75, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(75, 4, 'c', "2..", "1/4,y,0"),
LayerWyckoffPosition::new(75, 4, 'b', "..2", "0,3/4,z"),
LayerWyckoffPosition::new(75, 4, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(76, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(76, 4, 'e', "..m", "x,y,0"),
LayerWyckoffPosition::new(76, 4, 'd', "..2", "0,1/2,z"),
LayerWyckoffPosition::new(76, 4, 'c', "..2", "0,0,z"),
LayerWyckoffPosition::new(76, 2, 'b', "..2/m", "0,1/2,0"),
LayerWyckoffPosition::new(76, 2, 'a', "..2/m", "0,0,0"),
LayerWyckoffPosition::new(77, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(77, 4, 'c', ".m.", "x,1/4,z"),
LayerWyckoffPosition::new(77, 4, 'b', "..2", "1/4,0,z"),
LayerWyckoffPosition::new(77, 4, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(78, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(78, 4, 'c', ".m.", "1/4,y,z"),
LayerWyckoffPosition::new(78, 4, 'b', "..2", "0,3/4,z"),
LayerWyckoffPosition::new(78, 4, 'a', "-1", "0,0,0"),
LayerWyckoffPosition::new(79, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(79, 4, 'e', ".m.", "x,1/4,z"),
LayerWyckoffPosition::new(79, 4, 'd', "m..", "1/4,y,z"),
LayerWyckoffPosition::new(79, 4, 'c', "-1", "0,0,0"),
LayerWyckoffPosition::new(79, 2, 'b', "mm2", "1/4,3/4,z"),
LayerWyckoffPosition::new(79, 2, 'a', "mm2", "1/4,1/4,z"),
LayerWyckoffPosition::new(80, 16, 'l', "1", "x,y,z"),
LayerWyckoffPosition::new(80, 8, 'k', "..m", "x,y,0"),
LayerWyckoffPosition::new(80, 8, 'j', ".m.", "x,0,z"),
LayerWyckoffPosition::new(80, 8, 'i', "m..", "0,y,z"),
LayerWyckoffPosition::new(80, 8, 'h', "..2", "1/4,1/4,z"),
LayerWyckoffPosition::new(80, 4, 'g', "mm2", "0,1/2,z"),
LayerWyckoffPosition::new(80, 4, 'f', "mm2", "0,0,z"),
LayerWyckoffPosition::new(80, 4, 'e', "m2m", "0,y,0"),
LayerWyckoffPosition::new(80, 4, 'd', "2mm", "x,0,0"),
LayerWyckoffPosition::new(80, 4, 'c', "..2/m", "1/4,1/4,0"),
LayerWyckoffPosition::new(80, 2, 'b', "mmm", "1/2,0,0"),
LayerWyckoffPosition::new(80, 2, 'a', "mmm", "0,0,0"),
LayerWyckoffPosition::new(81, 16, 'j', "1", "x,y,z"),
LayerWyckoffPosition::new(81, 8, 'i', ".m.", "x,1/4,z"),
LayerWyckoffPosition::new(81, 8, 'h', "m..", "0,y,z"),
LayerWyckoffPosition::new(81, 8, 'g', "..2", "1/4,0,z"),
LayerWyckoffPosition::new(81, 8, 'f', ".2.", "1/4,y,0"),
LayerWyckoffPosition::new(81, 8, 'e', "2..", "x,0,0"),
LayerWyckoffPosition::new(81, 4, 'd', "mm2", "0,1/4,z"),
LayerWyckoffPosition::new(81, 4, 'c', ".2/m.", "1/4,1/4,0"),
LayerWyckoffPosition::new(81, 4, 'b', "2/m..", "0,0,0"),
LayerWyckoffPosition::new(81, 4, 'a', "222", "1/4,0,0"),
LayerWyckoffPosition::new(82, 4, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(82, 2, 'c', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(82, 1, 'b', "4..", "1/2,1/2,z"),
LayerWyckoffPosition::new(82, 1, 'a', "4..", "0,0,z"),
LayerWyckoffPosition::new(83, 4, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(83, 2, 'e', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(83, 2, 'd', "2..", "1/2,1/2,z"),
LayerWyckoffPosition::new(83, 2, 'c', "2..", "0,0,z"),
LayerWyckoffPosition::new(83, 1, 'b', "-4..", "1/2,1/2,0"),
LayerWyckoffPosition::new(83, 1, 'a', "-4..", "0,0,0"),
LayerWyckoffPosition::new(84, 8, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(84, 4, 'g', "m..", "x,y,0"),
LayerWyckoffPosition::new(84, 4, 'f', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(84, 2, 'e', "4..", "1/2,1/2,z"),
LayerWyckoffPosition::new(84, 2, 'd', "4..", "0,0,z"),
LayerWyckoffPosition::new(84, 2, 'c', "2/m..", "0,1/2,0"),
LayerWyckoffPosition::new(84, 1, 'b', "4/m..", "1/2,1/2,0"),
LayerWyckoffPosition::new(84, 1, 'a', "4/m..", "0,0,0"),
LayerWyckoffPosition::new(85, 8, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(85, 4, 'd', "2..", "1/2,0,z"),
LayerWyckoffPosition::new(85, 4, 'c', "-1", "1/4,1/4,0"),
LayerWyckoffPosition::new(85, 2, 'b', "4..", "1/2,1/2,z"),
LayerWyckoffPosition::new(85, 2, 'a', "-4..", "1/2,0,0"),
LayerWyckoffPosition::new(86, 8, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(86, 4, 'd', "2..", "1/4,3/4,z"),
LayerWyckoffPosition::new(86, 4, 'c', "-1", "0,0,0"),
LayerWyckoffPosition::new(86, 2, 'b', "4..", "1/4,1/4,z"),
LayerWyckoffPosition::new(86, 2, 'a', "-4..", "1/4,3/4,0"),
LayerWyckoffPosition::new(87, 8, 'j', "1", "x,y,z"),
LayerWyckoffPosition::new(87, 4, 'i', ".2.", "x,1/2,0"),
LayerWyckoffPosition::new(87, 4, 'h', ".2.", "x,0,0"),
LayerWyckoffPosition::new(87, 4, 'g', "..2", "x,x,0"),
LayerWyckoffPosition::new(87, 4, 'f', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(87, 2, 'e', "4..", "1/2,1/2,z"),
LayerWyckoffPosition::new(87, 2, 'd', "4..", "0,0,z"),
LayerWyckoffPosition::new(87, 2, 'c', "222", "1/2,0,0"),
LayerWyckoffPosition::new(87, 1, 'b', "422", "1/2,1/2,0"),
LayerWyckoffPosition::new(87, 1, 'a', "422", "0,0,0"),
LayerWyckoffPosition::new(88, 8, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(88, 4, 'd', "..2", "x,x+1/2,0"),
LayerWyckoffPosition::new(88, 4, 'c', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(88, 2, 'b', "4..", "0,0,z"),
LayerWyckoffPosition::new(88, 2, 'a', "2.22", "0,1/2,0"),
LayerWyckoffPosition::new(89, 8, 'g', "1", "x,y,z"),
LayerWyckoffPosition::new(89, 4, 'f', ".m.", "x,1/2,z"),
LayerWyckoffPosition::new(89, 4, 'e', ".m.", "x,0,z"),
LayerWyckoffPosition::new(89, 4, 'd', "..m", "x,x,z"),
LayerWyckoffPosition::new(89, 2, 'c', "2mm.", "1/2,0,z"),
LayerWyckoffPosition::new(89, 1, 'b', "4mm", "1/2,1/2,z"),
LayerWyckoffPosition::new(89, 1, 'a', "4mm", "0,0,z"),
LayerWyckoffPosition::new(90, 8, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(90, 4, 'c', "..m", "x,x+1/2,z"),
LayerWyckoffPosition::new(90, 2, 'b', "2.mm", "1/2,0,z"),
LayerWyckoffPosition::new(90, 2, 'a', "4..", "0,0,z"),
LayerWyckoffPosition::new(91, 8, 'j', "1", "x,y,z"),
LayerWyckoffPosition::new(91, 4, 'i', "..m", "x,x,z"),
LayerWyckoffPosition::new(91, 4, 'h', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(91, 4, 'g', ".2.", "x,1/2,0"),
LayerWyckoffPosition::new(91, 4, 'f', ".2.", "x,0,0"),
LayerWyckoffPosition::new(91, 2, 'e', "2.mm", "1/2,1/2,z"),
LayerWyckoffPosition::new(91, 2, 'd', "2.mm", "0,0,z"),
LayerWyckoffPosition::new(91, 2, 'c', "222", "1/2,0,0"),
LayerWyckoffPosition::new(91, 1, 'b', "-42m", "1/2,1/2,0"),
LayerWyckoffPosition::new(91, 1, 'a', "-42m", "0,0,0"),
LayerWyckoffPosition::new(92, 8, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(92, 4, 'd', "..m", "x,x+1/2,z"),
LayerWyckoffPosition::new(92, 4, 'c', "2..", "0,0,z"),
LayerWyckoffPosition::new(92, 2, 'b', "2.mm", "0,1/2,z"),
LayerWyckoffPosition::new(92, 2, 'a', "-4..", "0,0,0"),
LayerWyckoffPosition::new(93, 8, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(93, 4, 'h', ".m.", "x,1/2,z"),
LayerWyckoffPosition::new(93, 4, 'g', ".m.", "x,0,z"),
LayerWyckoffPosition::new(93, 4, 'f', "..2", "x,x,0"),
LayerWyckoffPosition::new(93, 2, 'e', "2mm.", "0,1/2,z"),
LayerWyckoffPosition::new(93, 2, 'd', "2mm.", "1/2,1/2,z"),
LayerWyckoffPosition::new(93, 2, 'c', "2mm.", "0,0,z"),
LayerWyckoffPosition::new(93, 1, 'b', "-4m2", "1/2,1/2,0"),
LayerWyckoffPosition::new(93, 1, 'a', "-4m2", "0,0,0"),
LayerWyckoffPosition::new(94, 8, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(94, 4, 'e', "..2", "x,x+1/2,0"),
LayerWyckoffPosition::new(94, 4, 'd', "2..", "0,1/2,z"),
LayerWyckoffPosition::new(94, 4, 'c', "2..", "0,0,z"),
LayerWyckoffPosition::new(94, 2, 'b', "2.22", "0,1/2,0"),
LayerWyckoffPosition::new(94, 2, 'a', "-4..", "0,0,0"),
LayerWyckoffPosition::new(95, 16, 'n', "1", "x,y,z"),
LayerWyckoffPosition::new(95, 8, 'm', ".m.", "x,1/2,z"),
LayerWyckoffPosition::new(95, 8, 'l', ".m.", "x,0,z"),
LayerWyckoffPosition::new(95, 8, 'k', "..m", "x,x,z"),
LayerWyckoffPosition::new(95, 8, 'j', "m..", "x,y,0"),
LayerWyckoffPosition::new(95, 4, 'i', "m2m.", "x,1/2,0"),
LayerWyckoffPosition::new(95, 4, 'h', "m2m.", "x,0,0"),
LayerWyckoffPosition::new(95, 4, 'g', "m.2m", "x,x,0"),
LayerWyckoffPosition::new(95, 4, 'f', "2mm.", "0,1/2,z"),
LayerWyckoffPosition::new(95, 2, 'e', "4mm", "1/2,1/2,z"),
LayerWyckoffPosition::new(95, 2, 'd', "4mm", "0,0,z"),
LayerWyckoffPosition::new(95, 2, 'c', "mmm.", "0,1/2,0"),
LayerWyckoffPosition::new(95, 1, 'b', "4/mmm", "1/2,1/2,0"),
LayerWyckoffPosition::new(95, 1, 'a', "4/mmm", "0,0,0"),
LayerWyckoffPosition::new(96, 16, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(96, 8, 'h', "..m", "x,x+1/2,z"),
LayerWyckoffPosition::new(96, 8, 'g', ".2.", "x,0,0"),
LayerWyckoffPosition::new(96, 8, 'f', "..2", "x,x,0"),
LayerWyckoffPosition::new(96, 4, 'e', "2.mm", "0,1/2,z"),
LayerWyckoffPosition::new(96, 4, 'd', "4..", "0,0,z"),
LayerWyckoffPosition::new(96, 4, 'c', "..2/m", "1/4,1/4,0"),
LayerWyckoffPosition::new(96, 2, 'b', "-42m", "0,1/2,0"),
LayerWyckoffPosition::new(96, 2, 'a', "422", "0,0,0"),
LayerWyckoffPosition::new(97, 16, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(97, 8, 'h', "..m", "x,-x,z"),
LayerWyckoffPosition::new(97, 8, 'g', ".2.", "x,1/4,0"),
LayerWyckoffPosition::new(97, 8, 'f', "..2", "x,x,0"),
LayerWyckoffPosition::new(97, 4, 'e', "2.mm", "3/4,1/4,z"),
LayerWyckoffPosition::new(97, 4, 'd', "4..", "1/4,1/4,z"),
LayerWyckoffPosition::new(97, 4, 'c', "..2/m", "0,0,0"),
LayerWyckoffPosition::new(97, 2, 'b', "-42m", "3/4,1/4,0"),
LayerWyckoffPosition::new(97, 2, 'a', "422", "1/4,1/4,0"),
LayerWyckoffPosition::new(98, 16, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(98, 8, 'g', "..m", "x,x+1/2,z"),
LayerWyckoffPosition::new(98, 8, 'f', "m..", "x,y,0"),
LayerWyckoffPosition::new(98, 4, 'e', "m.2m", "x,x+1/2,0"),
LayerWyckoffPosition::new(98, 4, 'd', "2.mm", "0,1/2,z"),
LayerWyckoffPosition::new(98, 4, 'c', "4..", "0,0,z"),
LayerWyckoffPosition::new(98, 2, 'b', "m.mm", "0,1/2,0"),
LayerWyckoffPosition::new(98, 2, 'a', "4/m..", "0,0,0"),
LayerWyckoffPosition::new(99, 16, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(99, 8, 'g', "..m", "x,x,z"),
LayerWyckoffPosition::new(99, 8, 'f', ".m.", "0,y,z"),
LayerWyckoffPosition::new(99, 8, 'e', "..2", "x,x+1/2,0"),
LayerWyckoffPosition::new(99, 4, 'd', "2mm.", "1/2,0,z"),
LayerWyckoffPosition::new(99, 4, 'c', "..2/m", "1/4,1/4,0"),
LayerWyckoffPosition::new(99, 2, 'b', "4mm", "0,0,z"),
LayerWyckoffPosition::new(99, 2, 'a', "-4m2", "1/2,0,0"),
LayerWyckoffPosition::new(100, 16, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(100, 8, 'g', "..m", "x,x,z"),
LayerWyckoffPosition::new(100, 8, 'f', ".m.", "1/4,y,z"),
LayerWyckoffPosition::new(100, 8, 'e', "..2", "x,-x,0"),
LayerWyckoffPosition::new(100, 4, 'd', "2mm.", "3/4,1/4,z"),
LayerWyckoffPosition::new(100, 4, 'c', "..2/m", "0,0,0"),
LayerWyckoffPosition::new(100, 2, 'b', "4mm", "1/4,1/4,z"),
LayerWyckoffPosition::new(100, 2, 'a', "-4m2", "3/4,1/4,0"),
LayerWyckoffPosition::new(101, 3, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(101, 1, 'c', "3..", "2/3,1/3,z"),
LayerWyckoffPosition::new(101, 1, 'b', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(101, 1, 'a', "3..", "0,0,z"),
LayerWyckoffPosition::new(102, 6, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(102, 3, 'd', "-1", "1/2,0,0"),
LayerWyckoffPosition::new(102, 2, 'c', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(102, 2, 'b', "3..", "0,0,z"),
LayerWyckoffPosition::new(102, 1, 'a', "-3..", "0,0,0"),
LayerWyckoffPosition::new(103, 6, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(103, 3, 'g', "..2", "x,-x,0"),
LayerWyckoffPosition::new(103, 2, 'f', "3..", "2/3,1/3,z"),
LayerWyckoffPosition::new(103, 2, 'e', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(103, 2, 'd', "3..", "0,0,z"),
LayerWyckoffPosition::new(103, 1, 'c', "3.2", "2/3,1/3,0"),
LayerWyckoffPosition::new(103, 1, 'b', "3.2", "1/3,2/3,0"),
LayerWyckoffPosition::new(103, 1, 'a', "3.2", "0,0,0"),
LayerWyckoffPosition::new(104, 6, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(104, 3, 'd', ".2.", "x,0,0"),
LayerWyckoffPosition::new(104, 2, 'c', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(104, 2, 'b', "3..", "0,0,z"),
LayerWyckoffPosition::new(104, 1, 'a', "32.", "0,0,0"),
LayerWyckoffPosition::new(105, 6, 'e', "1", "x,y,z"),
LayerWyckoffPosition::new(105, 3, 'd', ".m.", "x,-x,z"),
LayerWyckoffPosition::new(105, 1, 'c', "3m.", "2/3,1/3,z"),
LayerWyckoffPosition::new(105, 1, 'b', "3m.", "1/3,2/3,z"),
LayerWyckoffPosition::new(105, 1, 'a', "3m.", "0,0,z"),
LayerWyckoffPosition::new(106, 6, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(106, 3, 'c', "..m", "x,0,z"),
LayerWyckoffPosition::new(106, 2, 'b', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(106, 1, 'a', "3.m", "0,0,z"),
LayerWyckoffPosition::new(107, 12, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(107, 6, 'g', "..m", "x,0,z"),
LayerWyckoffPosition::new(107, 6, 'f', "..2", "x,-x,0"),
LayerWyckoffPosition::new(107, 4, 'e', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(107, 3, 'd', "..2/m", "1/2,0,0"),
LayerWyckoffPosition::new(107, 2, 'c', "3.m", "0,0,z"),
LayerWyckoffPosition::new(107, 2, 'b', "3.2", "1/3,2/3,0"),
LayerWyckoffPosition::new(107, 1, 'a', "-3.m", "0,0,0"),
LayerWyckoffPosition::new(108, 12, 'g', "1", "x,y,z"),
LayerWyckoffPosition::new(108, 6, 'f', ".m.", "x,-x,z"),
LayerWyckoffPosition::new(108, 6, 'e', ".2.", "x,0,0"),
LayerWyckoffPosition::new(108, 3, 'd', ".2/m.", "1/2,0,0"),
LayerWyckoffPosition::new(108, 2, 'c', "3m.", "1/3,2/3,z"),
LayerWyckoffPosition::new(108, 2, 'b', "3m.", "0,0,z"),
LayerWyckoffPosition::new(108, 1, 'a', "-3m.", "0,0,0"),
LayerWyckoffPosition::new(109, 6, 'd', "1", "x,y,z"),
LayerWyckoffPosition::new(109, 3, 'c', "2..", "1/2,0,z"),
LayerWyckoffPosition::new(109, 2, 'b', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(109, 1, 'a', "6..", "0,0,z"),
LayerWyckoffPosition::new(110, 6, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(110, 3, 'g', "m..", "x,y,0"),
LayerWyckoffPosition::new(110, 2, 'f', "3..", "2/3,1/3,z"),
LayerWyckoffPosition::new(110, 2, 'e', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(110, 2, 'd', "3..", "0,0,z"),
LayerWyckoffPosition::new(110, 1, 'c', "-6..", "2/3,1/3,0"),
LayerWyckoffPosition::new(110, 1, 'b', "-6..", "1/3,2/3,0"),
LayerWyckoffPosition::new(110, 1, 'a', "-6..", "0,0,0"),
LayerWyckoffPosition::new(111, 12, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(111, 6, 'g', "m..", "x,y,0"),
LayerWyckoffPosition::new(111, 6, 'f', "2..", "1/2,0,z"),
LayerWyckoffPosition::new(111, 4, 'e', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(111, 3, 'd', "2/m..", "1/2,0,0"),
LayerWyckoffPosition::new(111, 2, 'c', "6..", "0,0,z"),
LayerWyckoffPosition::new(111, 2, 'b', "-6..", "1/3,2/3,0"),
LayerWyckoffPosition::new(111, 1, 'a', "6/m..", "0,0,0"),
LayerWyckoffPosition::new(112, 12, 'i', "1", "x,y,z"),
LayerWyckoffPosition::new(112, 6, 'h', "..2", "x,-x,0"),
LayerWyckoffPosition::new(112, 6, 'g', ".2.", "x,0,0"),
LayerWyckoffPosition::new(112, 6, 'f', "2..", "1/2,0,z"),
LayerWyckoffPosition::new(112, 4, 'e', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(112, 3, 'd', "222", "1/2,0,0"),
LayerWyckoffPosition::new(112, 2, 'c', "6..", "0,0,z"),
LayerWyckoffPosition::new(112, 2, 'b', "3.2", "1/3,2/3,0"),
LayerWyckoffPosition::new(112, 1, 'a', "622", "0,0,0"),
LayerWyckoffPosition::new(113, 12, 'f', "1", "x,y,z"),
LayerWyckoffPosition::new(113, 6, 'e', ".m.", "x,-x,z"),
LayerWyckoffPosition::new(113, 6, 'd', "..m", "x,0,z"),
LayerWyckoffPosition::new(113, 3, 'c', "2mm", "1/2,0,z"),
LayerWyckoffPosition::new(113, 2, 'b', "3m.", "1/3,2/3,z"),
LayerWyckoffPosition::new(113, 1, 'a', "6mm", "0,0,z"),
LayerWyckoffPosition::new(114, 12, 'j', "1", "x,y,z"),
LayerWyckoffPosition::new(114, 6, 'i', ".m.", "x,-x,z"),
LayerWyckoffPosition::new(114, 6, 'h', "m..", "x,y,0"),
LayerWyckoffPosition::new(114, 3, 'g', "mm2", "x,-x,0"),
LayerWyckoffPosition::new(114, 2, 'f', "3m.", "2/3,1/3,z"),
LayerWyckoffPosition::new(114, 2, 'e', "3m.", "1/3,2/3,z"),
LayerWyckoffPosition::new(114, 2, 'd', "3m.", "0,0,z"),
LayerWyckoffPosition::new(114, 1, 'c', "-6m2", "2/3,1/3,0"),
LayerWyckoffPosition::new(114, 1, 'b', "-6m2", "1/3,2/3,0"),
LayerWyckoffPosition::new(114, 1, 'a', "-6m2", "0,0,0"),
LayerWyckoffPosition::new(115, 12, 'h', "1", "x,y,z"),
LayerWyckoffPosition::new(115, 6, 'g', "m..", "x,y,0"),
LayerWyckoffPosition::new(115, 6, 'f', "..m", "x,0,z"),
LayerWyckoffPosition::new(115, 4, 'e', "3..", "1/3,2/3,z"),
LayerWyckoffPosition::new(115, 3, 'd', "m2m", "x,0,0"),
LayerWyckoffPosition::new(115, 2, 'c', "3.m", "0,0,z"),
LayerWyckoffPosition::new(115, 2, 'b', "-6..", "1/3,2/3,0"),
LayerWyckoffPosition::new(115, 1, 'a', "-62m", "0,0,0"),
LayerWyckoffPosition::new(116, 24, 'l', "1", "x,y,z"),
LayerWyckoffPosition::new(116, 12, 'k', "m..", "x,y,0"),
LayerWyckoffPosition::new(116, 12, 'j', ".m.", "x,2x,z"),
LayerWyckoffPosition::new(116, 12, 'i', "..m", "x,0,z"),
LayerWyckoffPosition::new(116, 6, 'h', "mm2", "x,2x,0"),
LayerWyckoffPosition::new(116, 6, 'g', "m2m", "x,0,0"),
LayerWyckoffPosition::new(116, 6, 'f', "2mm", "1/2,0,z"),
LayerWyckoffPosition::new(116, 4, 'e', "3m.", "1/3,2/3,z"),
LayerWyckoffPosition::new(116, 3, 'd', "mmm", "1/2,0,0"),
LayerWyckoffPosition::new(116, 2, 'c', "6mm", "0,0,z"),
LayerWyckoffPosition::new(116, 2, 'b', "-6m2", "1/3,2/3,0"),
LayerWyckoffPosition::new(116, 1, 'a', "6/mmm", "0,0,0"),
];
#[cfg(test)]
mod tests {
use super::*;
use crate::data::iter_layer_hall_symbol_entry;
use std::collections::HashSet;
#[test]
fn test_every_layer_hall_has_wyckoffs() {
let with_wyckoff: HashSet<LayerHallNumber> = LAYER_WYCKOFF_DATABASE
.iter()
.map(|w| w.hall_number)
.collect();
for entry in iter_layer_hall_symbol_entry() {
assert!(
with_wyckoff.contains(&entry.hall_number),
"no Wyckoff positions for layer Hall number {}",
entry.hall_number
);
}
}
#[test]
fn test_wyckoff_letters_unique_per_hall() {
let mut by_hall: std::collections::HashMap<LayerHallNumber, Vec<char>> =
std::collections::HashMap::new();
for w in LAYER_WYCKOFF_DATABASE.iter() {
by_hall.entry(w.hall_number).or_default().push(w.letter);
}
for (hall, letters) in by_hall.iter() {
let unique: HashSet<&char> = letters.iter().collect();
assert_eq!(
unique.len(),
letters.len(),
"duplicate Wyckoff letter for layer Hall {}: {:?}",
hall,
letters
);
}
}
}