def __init__(self, m):
        test_case.__init__(self, m)
        self.xray_structure = xray.structure(
            crystal_symmetry=crystal.symmetry(
                unit_cell=(17.0216, 8.4362, 10.2248, 90, 102.79, 90),
                space_group_symbol='hall: -C 2yc'),
            scatterers=flex.xray_scatterer((
                xray.scatterer(  #0
                    label='S1',
                    site=(0.525736, 0.737492, 0.619814),
                    u=(0.000084, 0.000243, 0.000191, 0.000021, 0.000026,
                       -0.000035)),
                xray.scatterer(  #1
                    label='C1',
                    site=(0.500000, 0.868009, 0.750000),
                    u=(0.000061, 0.000181, 0.000164, 0.000000, 0.000025,
                       0.000000)),
                xray.scatterer(  #2
                    label='C2',
                    site=(0.533017, 0.552825, 0.710913),
                    u=(0.000161, 0.000241, 0.000348, 0.000041, 0.000039,
                       -0.000020)),
                xray.scatterer(  #3
                    label='H2A',
                    site=(0.525986, 0.462184, 0.647894),
                    u=0.041420),
                xray.scatterer(  #4
                    label='H2B',
                    site=(0.586473, 0.543642, 0.772877),
                    u=0.038360),
                xray.scatterer(  #5
                    label='C3',
                    site=(0.425914, 0.971290, 0.682589),
                    u=(0.000058, 0.000199, 0.000164, -0.000003, 0.000017,
                       -0.000007)),
                xray.scatterer(  #6
                    label='H3',
                    site=(0.441258, 1.029902, 0.606966),
                    u=0.023950),
                xray.scatterer(  #7
                    label='C4',
                    site=(0.349971, 0.874741, 0.622481),
                    u=(0.000064, 0.000236, 0.000219, -0.000015, 0.000011,
                       -0.000014)),
                xray.scatterer(  #8
                    label='H4B',
                    site=(0.362228, 0.799281, 0.555566),
                    u=0.026970),
                xray.scatterer(  #9
                    label='H4A',
                    site=(0.333906, 0.812566, 0.694426),
                    u=0.025070),
                xray.scatterer(  #10
                    label='C5',
                    site=(0.279832, 0.981636, 0.555089),
                    u=(0.000064, 0.000307, 0.000222, -0.000007, 0.000003,
                       -0.000021)),
                xray.scatterer(  #11
                    label='H5B',
                    site=(0.294150, 1.037327, 0.478372),
                    u=0.026970),
                xray.scatterer(  #12
                    label='H5A',
                    site=(0.231706, 0.915594, 0.519984),
                    u=0.034720),
                xray.scatterer(  #13
                    label='C6',
                    site=(0.259978, 1.103478, 0.653453),
                    u=(0.000061, 0.000335, 0.000246, 0.000016, 0.000021,
                       -0.000001)),
                xray.scatterer(  #14
                    label='H6B',
                    site=(0.216403, 1.174193, 0.606307),
                    u=0.037560),
                xray.scatterer(  #15
                    label='H6A',
                    site=(0.240791, 1.048477, 0.726038),
                    u=0.024860),
                xray.scatterer(  #16
                    label='C7',
                    site=(0.334517, 1.201490, 0.713404),
                    u=(0.000071, 0.000265, 0.000251, 0.000019, 0.000019,
                       -0.000029)),
                xray.scatterer(  #17
                    label='H7B',
                    site=(0.349843, 1.265431, 0.641770),
                    u=0.031500),
                xray.scatterer(  #18
                    label='H7A',
                    site=(0.321733, 1.275376, 0.780996),
                    u=0.030620),
                xray.scatterer(  #19
                    label='C8',
                    site=(0.405687, 1.096392, 0.779637),
                    u=(0.000064, 0.000247, 0.000187, 0.000009, 0.000015,
                       -0.000033)),
                xray.scatterer(  #20
                    label='H8A',
                    site=(0.392638, 1.042204, 0.858057),
                    u=0.026000),
                xray.scatterer(  #21
                    label='H8B',
                    site=(0.453574, 1.163891, 0.812432),
                    u=0.027360))))

        self.t_celsius = -153
        self.shall_refine_thermal_displacements = True

        self.constraints = [
            _.secondary_xh2_sites(pivot=2, constrained_site_indices=(3, 4)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=2,
                                               u_iso_scatterer_idx=3,
                                               multiplier=1.5),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=2,
                                               u_iso_scatterer_idx=4,
                                               multiplier=1.5),
            _.tertiary_xh_site(pivot=5, constrained_site_indices=(6, )),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=5,
                                               u_iso_scatterer_idx=6,
                                               multiplier=1.5),
            _.secondary_xh2_sites(pivot=7, constrained_site_indices=(8, 9)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=7,
                                               u_iso_scatterer_idx=8,
                                               multiplier=1.5),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=7,
                                               u_iso_scatterer_idx=9,
                                               multiplier=1.5),
            _.secondary_xh2_sites(pivot=10, constrained_site_indices=(11, 12)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=10,
                                               u_iso_scatterer_idx=11,
                                               multiplier=1.5),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=10,
                                               u_iso_scatterer_idx=12,
                                               multiplier=1.5),
            _.secondary_xh2_sites(pivot=13, constrained_site_indices=(14, 15)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=13,
                                               u_iso_scatterer_idx=14,
                                               multiplier=1.5),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=13,
                                               u_iso_scatterer_idx=15,
                                               multiplier=1.5),
            _.secondary_xh2_sites(pivot=16, constrained_site_indices=(17, 18)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=16,
                                               u_iso_scatterer_idx=17,
                                               multiplier=1.5),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=16,
                                               u_iso_scatterer_idx=18,
                                               multiplier=1.5),
            _.secondary_xh2_sites(pivot=19, constrained_site_indices=(20, 21)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=19,
                                               u_iso_scatterer_idx=20,
                                               multiplier=1.5),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=19,
                                               u_iso_scatterer_idx=21,
                                               multiplier=1.5),
        ]

        self.expected_reparametrisation_for_hydrogen_named = {
            "H2A": (core.secondary_xh2_sites, 'C2'),
            "H2B": (core.secondary_xh2_sites, 'C2'),
            "H3": (core.tertiary_xh_site, 'C3'),
            "H4A": (core.secondary_xh2_sites, 'C4'),
            "H4B": (core.secondary_xh2_sites, 'C4'),
            "H5A": (core.secondary_xh2_sites, 'C5'),
            "H5B": (core.secondary_xh2_sites, 'C5'),
            "H6A": (core.secondary_xh2_sites, 'C6'),
            "H6B": (core.secondary_xh2_sites, 'C6'),
            "H7A": (core.secondary_xh2_sites, 'C7'),
            "H7B": (core.secondary_xh2_sites, 'C7'),
            "H8A": (core.secondary_xh2_sites, 'C8'),
            "H8B": (core.secondary_xh2_sites, 'C8'),
        }

        self.site_refinement_tolerance = 0.01
        self.u_star_refinement_tolerance = 5e-7
  def __init__(self, m):
    test_case.__init__(self, m)
    self.xray_structure = xray.structure(
      crystal_symmetry=crystal.symmetry(
        unit_cell=(17.0216, 8.4362, 10.2248, 90, 102.79, 90),
        space_group_symbol='hall: -C 2yc'),
      scatterers=flex.xray_scatterer((
        xray.scatterer( #0
                        label='S1',
                        site=(0.525736, 0.737492, 0.619814),
                        u=(0.000084, 0.000243, 0.000191,
                           0.000021, 0.000026, -0.000035)),
        xray.scatterer( #1
                        label='C1',
                        site=(0.500000, 0.868009, 0.750000),
                        u=(0.000061, 0.000181, 0.000164,
                           0.000000, 0.000025, 0.000000)),
        xray.scatterer( #2
                        label='C2',
                        site=(0.533017, 0.552825, 0.710913),
                        u=(0.000161, 0.000241, 0.000348,
                           0.000041, 0.000039, -0.000020)),
        xray.scatterer( #3
                        label='H2A',
                        site=(0.525986, 0.462184, 0.647894),
                        u=0.041420),
        xray.scatterer( #4
                        label='H2B',
                        site=(0.586473, 0.543642, 0.772877),
                        u=0.038360),
        xray.scatterer( #5
                        label='C3',
                        site=(0.425914, 0.971290, 0.682589),
                        u=(0.000058, 0.000199, 0.000164,
                           -0.000003, 0.000017, -0.000007)),
        xray.scatterer( #6
                        label='H3',
                        site=(0.441258, 1.029902, 0.606966),
                        u=0.023950),
        xray.scatterer( #7
                        label='C4',
                        site=(0.349971, 0.874741, 0.622481),
                        u=(0.000064, 0.000236, 0.000219,
                           -0.000015, 0.000011, -0.000014)),
        xray.scatterer( #8
                        label='H4B',
                        site=(0.362228, 0.799281, 0.555566),
                        u=0.026970),
        xray.scatterer( #9
                        label='H4A',
                        site=(0.333906, 0.812566, 0.694426),
                        u=0.025070),
        xray.scatterer( #10
                        label='C5',
                        site=(0.279832, 0.981636, 0.555089),
                        u=(0.000064, 0.000307, 0.000222,
                           -0.000007, 0.000003, -0.000021)),
        xray.scatterer( #11
                        label='H5B',
                        site=(0.294150, 1.037327, 0.478372),
                        u=0.026970),
        xray.scatterer( #12
                        label='H5A',
                        site=(0.231706, 0.915594, 0.519984),
                        u=0.034720),
        xray.scatterer( #13
                        label='C6',
                        site=(0.259978, 1.103478, 0.653453),
                        u=(0.000061, 0.000335, 0.000246,
                           0.000016, 0.000021, -0.000001)),
        xray.scatterer( #14
                        label='H6B',
                        site=(0.216403, 1.174193, 0.606307),
                        u=0.037560),
        xray.scatterer( #15
                        label='H6A',
                        site=(0.240791, 1.048477, 0.726038),
                        u=0.024860),
        xray.scatterer( #16
                        label='C7',
                        site=(0.334517, 1.201490, 0.713404),
                        u=(0.000071, 0.000265, 0.000251,
                           0.000019, 0.000019, -0.000029)),
        xray.scatterer( #17
                        label='H7B',
                        site=(0.349843, 1.265431, 0.641770),
                        u=0.031500),
        xray.scatterer( #18
                        label='H7A',
                        site=(0.321733, 1.275376, 0.780996),
                        u=0.030620),
        xray.scatterer( #19
                        label='C8',
                        site=(0.405687, 1.096392, 0.779637),
                        u=(0.000064, 0.000247, 0.000187,
                           0.000009, 0.000015, -0.000033)),
        xray.scatterer( #20
                        label='H8A',
                        site=(0.392638, 1.042204, 0.858057),
                        u=0.026000),
        xray.scatterer( #21
                        label='H8B',
                        site=(0.453574, 1.163891, 0.812432),
                        u=0.027360)
      )))

    self.t_celsius = -153
    self.shall_refine_thermal_displacements = True

    self.constraints = [
      _.secondary_xh2_sites(
        pivot=2,
        constrained_site_indices=(3,4)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=2,
        u_iso_scatterer_idx=3,
        multiplier=1.5),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=2,
        u_iso_scatterer_idx=4,
        multiplier=1.5),

      _.tertiary_xh_site(
        pivot=5,
        constrained_site_indices=(6,)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=5,
        u_iso_scatterer_idx=6,
        multiplier=1.5),

      _.secondary_xh2_sites(
        pivot=7,
        constrained_site_indices=(8, 9)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=7,
        u_iso_scatterer_idx=8,
        multiplier=1.5),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=7,
        u_iso_scatterer_idx=9,
        multiplier=1.5),

      _.secondary_xh2_sites(
        pivot=10,
        constrained_site_indices=(11, 12)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=10,
        u_iso_scatterer_idx=11,
        multiplier=1.5),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=10,
        u_iso_scatterer_idx=12,
        multiplier=1.5),

      _.secondary_xh2_sites(
        pivot=13,
        constrained_site_indices=(14, 15)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=13,
        u_iso_scatterer_idx=14,
        multiplier=1.5),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=13,
        u_iso_scatterer_idx=15,
        multiplier=1.5),

      _.secondary_xh2_sites(
        pivot=16,
          constrained_site_indices=(17, 18)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=16,
        u_iso_scatterer_idx=17,
        multiplier=1.5),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=16,
        u_iso_scatterer_idx=18,
        multiplier=1.5),

      _.secondary_xh2_sites(
        pivot=19,
        constrained_site_indices=(20, 21)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=19,
        u_iso_scatterer_idx=20,
        multiplier=1.5),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=19,
        u_iso_scatterer_idx=21,
        multiplier=1.5),
    ]

    self.expected_reparametrisation_for_hydrogen_named = {
      "H2A": (core.secondary_xh2_sites, 'C2'),
      "H2B": (core.secondary_xh2_sites, 'C2'),
      "H3" : (core.tertiary_xh_site   , 'C3'),
      "H4A": (core.secondary_xh2_sites, 'C4'),
      "H4B": (core.secondary_xh2_sites, 'C4'),
      "H5A": (core.secondary_xh2_sites, 'C5'),
      "H5B": (core.secondary_xh2_sites, 'C5'),
      "H6A": (core.secondary_xh2_sites, 'C6'),
      "H6B": (core.secondary_xh2_sites, 'C6'),
      "H7A": (core.secondary_xh2_sites, 'C7'),
      "H7B": (core.secondary_xh2_sites, 'C7'),
      "H8A": (core.secondary_xh2_sites, 'C8'),
      "H8B": (core.secondary_xh2_sites, 'C8'),
    }

    self.site_refinement_tolerance = 0.01
    self.u_star_refinement_tolerance = 5e-7
    def __init__(self, m):
        test_case.__init__(self, m)
        self.xray_structure = xray.structure(
            crystal_symmetry=crystal.symmetry(
                unit_cell=(3.753, 14.54, 15.868, 90, 92.58, 90),
                space_group_symbol='hall: -P 2ybc (x-z,y,z)'),
            scatterers=flex.xray_scatterer((
                xray.scatterer(  #0
                    label='O1',
                    site=(0.299733, 0.262703, 0.397094),
                    u=(0.003622, 0.000123, 0.000108, 0.000154, -0.000304,
                       -0.000017)),
                xray.scatterer(  #1
                    label='O2',
                    site=(0.606432, 0.145132, 0.437285),
                    u=(0.004117, 0.000149, 0.000118, 0.000405, -0.000117,
                       -0.000042)),
                xray.scatterer(  #2
                    label='N1',
                    site=(0.481175, 0.221358, 0.451529),
                    u=(0.001750, 0.000091, 0.000090, 0.000016, -0.000027,
                       -0.000000)),
                xray.scatterer(  #3
                    label='N2',
                    site=(0.669716, 0.393801, 0.763893),
                    u=(0.002874, 0.000122, 0.000071, 0.000168, -0.000071,
                       -0.000000)),
                xray.scatterer(  #4
                    label='H1N',
                    site=(0.777763, 0.365311, 0.806784),
                    u=0.042273),
                xray.scatterer(  #5
                    label='H2N',
                    site=(0.589373, 0.450143, 0.770096),
                    u=0.042273),
                xray.scatterer(  #6
                    label='C1',
                    site=(0.542801, 0.263225, 0.532794),
                    u=(0.001423, 0.000084, 0.000076, -0.000009, 0.000000,
                       -0.000003)),
                xray.scatterer(  #7
                    label='C2',
                    site=(0.718203, 0.216166, 0.600719),
                    u=(0.001241, 0.000081, 0.000088, -0.000011, 0.000023,
                       0.000009)),
                xray.scatterer(  #8
                    label='C3',
                    site=(0.754550, 0.260840, 0.677732),
                    u=(0.001553, 0.000097, 0.000079, 0.000044, -0.000014,
                       0.000019)),
                xray.scatterer(  #9
                    label='H3',
                    site=(0.868083, 0.229804, 0.724284),
                    u=0.031215),
                xray.scatterer(  #10
                    label='C4',
                    site=(0.627437, 0.351296, 0.688971),
                    u=(0.001601, 0.000093, 0.000075, 0.000015, 0.000027,
                       0.000004)),
                xray.scatterer(  #11
                    label='C5',
                    site=(0.454744, 0.396843, 0.619275),
                    u=(0.001302, 0.000082, 0.000083, -0.000002, -0.000011,
                       0.000007)),
                xray.scatterer(  #12
                    label='C6',
                    site=(0.414545, 0.352153, 0.542558),
                    u=(0.001310, 0.000086, 0.000080, 0.000014, -0.000038,
                       0.000012)),
                xray.scatterer(  #13
                    label='H6',
                    site=(0.298067, 0.382503, 0.496003),
                    u=0.028457),
                xray.scatterer(  #14
                    label='C7',
                    site=(0.870740, 0.125780, 0.594964),
                    u=(0.001485, 0.000100, 0.000087, 0.000015, 0.000006,
                       0.000009)),
                xray.scatterer(  #15
                    label='C8',
                    site=(1.017756, 0.053520, 0.594148),
                    u=(0.002161, 0.000095, 0.000112, 0.000070, 0.000030,
                       0.000015)),
                xray.scatterer(  #16
                    label='H8',
                    site=(1.135411, -0.004309, 0.593494),
                    u=0.039284),
                xray.scatterer(  #17
                    label='C9',
                    site=(0.317957, 0.487839, 0.631013),
                    u=(0.001562, 0.000101, 0.000080, 0.000008, -0.000022,
                       0.000009)),
                xray.scatterer(  #18
                    label='C10',
                    site=(0.204108, 0.561746, 0.646136),
                    u=(0.001931, 0.000100, 0.000123, 0.000052, -0.000025,
                       -0.000002)),
                xray.scatterer(  #19
                    label='H10',
                    site=(0.112835, 0.620998, 0.658260),
                    u=0.039775))))

        self.t_celsius = -153
        self.shall_refine_thermal_displacements = True

        k = 1.5  # that is the multiplier used to refine the structure with ShelXL
        self.constraints = [
            _.terminal_planar_xh2_sites(pivot=3,
                                        constrained_site_indices=(4, 5)),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=3,
                                               u_iso_scatterer_idx=4,
                                               multiplier=k),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=3,
                                               u_iso_scatterer_idx=5,
                                               multiplier=k),
            _.terminal_linear_ch_site(pivot=15,
                                      constrained_site_indices=(16, )),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=15,
                                               u_iso_scatterer_idx=16,
                                               multiplier=k),
            _.terminal_linear_ch_site(pivot=18,
                                      constrained_site_indices=(19, )),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=18,
                                               u_iso_scatterer_idx=19,
                                               multiplier=k),
            _.secondary_planar_xh_site(pivot=12,
                                       constrained_site_indices=(13, )),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=12,
                                               u_iso_scatterer_idx=13,
                                               multiplier=k),
            _.secondary_planar_xh_site(pivot=8,
                                       constrained_site_indices=(9, )),
            _.u_iso_proportional_to_pivot_u_eq(u_eq_scatterer_idx=8,
                                               u_iso_scatterer_idx=9,
                                               multiplier=k),
        ]

        self.expected_reparametrisation_for_hydrogen_named = {
            'H1N': (core.terminal_planar_xh2_sites, 'N2'),
            'H2N': (core.terminal_planar_xh2_sites, 'N2'),
            'H10': (core.terminal_linear_ch_site, 'C10'),
            'H6': (core.secondary_planar_xh_site, 'C6'),
            'H3': (core.secondary_planar_xh_site, 'C3'),
            'H8': (core.terminal_linear_ch_site, 'C8'),
        }

        self.site_refinement_tolerance = 1e-2
        self.u_star_refinement_tolerance = 1e-5
  def __init__(self, m):
    test_case.__init__(self, m)
    self.xray_structure = xray.structure(
      crystal_symmetry=crystal.symmetry(
        unit_cell=(3.753, 14.54, 15.868, 90, 92.58, 90),
        space_group_symbol='hall: -P 2ybc (x-z,y,z)'),
      scatterers=flex.xray_scatterer((
        xray.scatterer( #0
                        label='O1',
                        site=(0.299733, 0.262703, 0.397094),
                        u=(0.003622, 0.000123, 0.000108,
                           0.000154, -0.000304, -0.000017)),
        xray.scatterer( #1
                        label='O2',
                        site=(0.606432, 0.145132, 0.437285),
                        u=(0.004117, 0.000149, 0.000118,
                           0.000405, -0.000117, -0.000042)),
        xray.scatterer( #2
                        label='N1',
                        site=(0.481175, 0.221358, 0.451529),
                        u=(0.001750, 0.000091, 0.000090,
                           0.000016, -0.000027, -0.000000)),
        xray.scatterer( #3
                        label='N2',
                        site=(0.669716, 0.393801, 0.763893),
                        u=(0.002874, 0.000122, 0.000071,
                           0.000168, -0.000071, -0.000000)),
        xray.scatterer( #4
                        label='H1N',
                        site=(0.777763, 0.365311, 0.806784),
                        u=0.042273),
        xray.scatterer( #5
                        label='H2N',
                        site=(0.589373, 0.450143, 0.770096),
                        u=0.042273),
        xray.scatterer( #6
                        label='C1',
                        site=(0.542801, 0.263225, 0.532794),
                        u=(0.001423, 0.000084, 0.000076,
                           -0.000009, 0.000000, -0.000003)),
        xray.scatterer( #7
                        label='C2',
                        site=(0.718203, 0.216166, 0.600719),
                        u=(0.001241, 0.000081, 0.000088,
                           -0.000011, 0.000023, 0.000009)),
        xray.scatterer( #8
                        label='C3',
                        site=(0.754550, 0.260840, 0.677732),
                        u=(0.001553, 0.000097, 0.000079,
                           0.000044, -0.000014, 0.000019)),
        xray.scatterer( #9
                        label='H3',
                        site=(0.868083, 0.229804, 0.724284),
                        u=0.031215),
        xray.scatterer( #10
                        label='C4',
                        site=(0.627437, 0.351296, 0.688971),
                        u=(0.001601, 0.000093, 0.000075,
                           0.000015, 0.000027, 0.000004)),
        xray.scatterer( #11
                        label='C5',
                        site=(0.454744, 0.396843, 0.619275),
                        u=(0.001302, 0.000082, 0.000083,
                           -0.000002, -0.000011, 0.000007)),
        xray.scatterer( #12
                        label='C6',
                        site=(0.414545, 0.352153, 0.542558),
                        u=(0.001310, 0.000086, 0.000080,
                           0.000014, -0.000038, 0.000012)),
        xray.scatterer( #13
                        label='H6',
                        site=(0.298067, 0.382503, 0.496003),
                        u=0.028457),
        xray.scatterer( #14
                        label='C7',
                        site=(0.870740, 0.125780, 0.594964),
                        u=(0.001485, 0.000100, 0.000087,
                           0.000015, 0.000006, 0.000009)),
        xray.scatterer( #15
                        label='C8',
                        site=(1.017756, 0.053520, 0.594148),
                        u=(0.002161, 0.000095, 0.000112,
                           0.000070, 0.000030, 0.000015)),
        xray.scatterer( #16
                        label='H8',
                        site=(1.135411, -0.004309, 0.593494),
                        u=0.039284),
        xray.scatterer( #17
                        label='C9',
                        site=(0.317957, 0.487839, 0.631013),
                        u=(0.001562, 0.000101, 0.000080,
                           0.000008, -0.000022, 0.000009)),
        xray.scatterer( #18
                        label='C10',
                        site=(0.204108, 0.561746, 0.646136),
                        u=(0.001931, 0.000100, 0.000123,
                           0.000052, -0.000025, -0.000002)),
        xray.scatterer( #19
                        label='H10',
                        site=(0.112835, 0.620998, 0.658260),
                        u=0.039775)
      )))


    self.t_celsius = -153
    self.shall_refine_thermal_displacements = True

    k=1.5 # that is the multiplier used to refine the structure with ShelXL
    self.constraints = [
      _.terminal_planar_xh2_sites(
        pivot=3,
        constrained_site_indices=(4, 5)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=3,
        u_iso_scatterer_idx=4,
        multiplier=k),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=3,
        u_iso_scatterer_idx=5,
        multiplier=k),

      _.terminal_linear_ch_site(
        pivot=15,
        constrained_site_indices=(16,)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=15,
        u_iso_scatterer_idx=16,
        multiplier=k),

      _.terminal_linear_ch_site(
        pivot=18,
        constrained_site_indices=(19,)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=18,
        u_iso_scatterer_idx=19,
        multiplier=k),

      _.secondary_planar_xh_site(
        pivot=12,
        constrained_site_indices=(13,)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=12,
        u_iso_scatterer_idx=13,
        multiplier=k),

      _.secondary_planar_xh_site(
        pivot=8,
        constrained_site_indices=(9,)),

      _.u_iso_proportional_to_pivot_u_eq(
        u_eq_scatterer_idx=8,
        u_iso_scatterer_idx=9,
        multiplier=k),
      ]

    self.expected_reparametrisation_for_hydrogen_named = {
      'H1N': (core.terminal_planar_xh2_sites, 'N2'),
      'H2N': (core.terminal_planar_xh2_sites, 'N2'),
      'H10': (core.terminal_linear_ch_site, 'C10'),
      'H6' : (core.secondary_planar_xh_site, 'C6'),
      'H3' : (core.secondary_planar_xh_site, 'C3'),
      'H8': (core.terminal_linear_ch_site, 'C8'),
    }

    self.site_refinement_tolerance = 1e-2
    self.u_star_refinement_tolerance = 1e-5