Пример #1
0
def test_FeMn_nonzero():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    chi_sq, n_points = rhochi.calc_chi_sq()
    assert chi_sq < 5112.6
    assert int(n_points) == 1091
Пример #2
0
def test_f_mag():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "1.0.2_URu0.96Rh0.04Si2.mcif")
    globaln = cryspy.file_to_globaln(f_name)
    mag_cif = globaln.mag_crystal_5yOhtAoR
    
    index_hkl = numpy.array(
    [[1, 2, 0, 1, 0, 3, 2, 2, 4],
     [0, 0, 0, 1, 1, 0, 0, 1, 0],
     [1, 0, 2, 0, 1, 1, 2, 1, 0]], dtype=int)
    space_group_symop_magn_operation = mag_cif.space_group_symop_magn_operation
    space_group_symop_magn_centering = mag_cif.space_group_symop_magn_centering
    cell = mag_cif.cell
    atom_site = mag_cif.atom_site
    try:
        atom_site_aniso = mag_cif.atom_site_aniso
    except AttributeError as e:
        atom_site_aniso = None
    atom_site_scat = mag_cif.atom_site_scat
    atom_site_scat.load_atom_type_scat_by_atom_site(atom_site)
    atom_site_moment = mag_cif.atom_site_moment
    flag_derivatives = False
    flag_only_orbital= False
    f_mag, dder = calc_f_mag(index_hkl, space_group_symop_magn_operation,
    space_group_symop_magn_centering, cell, atom_site,
    atom_site_aniso, atom_site_scat, atom_site_moment,
    flag_derivatives=flag_derivatives, flag_only_orbital=flag_only_orbital)
Пример #3
0
def test_UNPD_PbSo4():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    chi_sq, n_points = rhochi.calc_chi_sq()
    assert chi_sq < 4427.6
    assert int(n_points) == 756
Пример #4
0
def test_refine_mcif():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "pd_test.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    chi_sq, n_points = rhochi.calc_chi_sq()
    assert chi_sq < 3036.0
    assert int(n_points) == 4901
Пример #5
0
def test_calc_FR_2channel():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    mem = cryspy.file_to_globaln(f_name)
    mem.calc_fr()
    diffrn = mem.diffrn_exp_mnbite
    refine_ls = diffrn.refine_ls
Пример #6
0
def test_wrong_cif():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "wrong_cif.rcif")
    globaln = cryspy.file_to_globaln(f_name)
    assert globaln.data_Tb2Ti2O7.geom_angle[0].label is None
    assert globaln.data_tb2ti2o7.atom_type[
        "TI"].scat_length_neutron.real == -0.3438
    assert globaln.data_global.journal.name_full == "Journal Name"
Пример #7
0
def test_refine():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    rhochi.refine()
    chi_sq, n_points = rhochi.calc_chi_sq()
    assert chi_sq < 429.1
    assert int(n_points) == 142
Пример #8
0
def test_estimate_fm():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    l_estimation = rhochi.estimate_f_mag_for_diffrn()
    estim = l_estimation[0]
    l_f_m = estim.f_m
    l_f_m_sigma = estim.f_m_sigma
Пример #9
0
def test_calc_FR_tensorMEM():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    mem = cryspy.file_to_globaln(f_name)
    mem.calc_fr()
    diffrn = mem.diffrn_exp_mnbite
    refine_ls = diffrn.refine_ls

    mem.create_prior_density()
Пример #10
0
def test_refine_mcif():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "pd_test.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    d_out = cryspy.rhochi_no_refinement(rhochi)
    chi_sq = d_out["chi_sq"]
    n_points = d_out["n_points"]
    assert chi_sq < 3036.0
    assert int(n_points) == 4901
def test_FeMn_nonzero():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    d_out = cryspy.rhochi_no_refinement(rhochi)
    chi_sq = d_out["chi_sq"]
    n_points = d_out["n_points"]
    assert chi_sq < 5112.6
    assert int(n_points) == 1091
Пример #12
0
def test_UNPD_PbSo4():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    d_out = cryspy.rhochi_no_refinement(rhochi)
    chi_sq = d_out["chi_sq"]
    n_points = d_out["n_points"]
    # chi_sq, n_points = rhochi.calc_chi_sq()
    assert chi_sq < 55600.9
    assert int(n_points) == 25553
Пример #13
0
def test_calc_FR_2channel():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    mem = cryspy.file_to_globaln(f_name)
    mem.calc_fr()
    diffrn = mem.diffrn_exp_mnbite
    refine_ls = diffrn.refine_ls
    
    assert refine_ls.goodness_of_fit_all < 0.986
    assert refine_ls.number_reflns == 142
Пример #14
0
def test_refine():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    cryspy.rhochi_run(rhochi)
    d_out = cryspy.rhochi_no_refinement(rhochi)
    chi_sq = d_out["chi_sq"]
    n_points = d_out["n_points"]
    assert chi_sq < 429.1
    assert int(n_points) == 142
Пример #15
0
def test_calc_FR_tensorMEM():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    mem = cryspy.file_to_globaln(f_name)
    mem.calc_fr()
    diffrn = mem.diffrn_exp_mnbite
    refine_ls = diffrn.refine_ls

    assert refine_ls.goodness_of_fit_all < 4.99
    assert refine_ls.number_reflns == 142

    mem.create_prior_density()
Пример #16
0
def test_estimate_fm():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    l_estimation = cryspy.calc_f_mag_for_diffrn(rhochi)
    estim = l_estimation[0]
    l_f_m = estim.f_m
    l_f_m_sigma = estim.f_m_sigma
    assert abs(float(l_f_m[0]) - (-0.7881)) < 0.001
    assert abs(float(l_f_m[1]) - (-0.2003)) < 0.001
    assert abs(float(l_f_m[2]) - (0.68611)) < 0.001
    assert abs(float(l_f_m[3]) - (0.41953)) < 0.001

    assert abs(float(l_f_m_sigma[0]) - 0.16078) < 0.001
    assert abs(float(l_f_m_sigma[1]) - 0.14083) < 0.001
    assert abs(float(l_f_m_sigma[2]) - 0.47949) < 0.001
    assert abs(float(l_f_m_sigma[3]) - 0.34928) < 0.001
Пример #17
0
import numpy
from cryspy import file_to_globaln

from cryspy.A_functions_base.function_1_matrices import calc_chi_sq

f_name = "main.rcif"

mem_obj = file_to_globaln(f_name)

mem_obj.calc_fr()

density_point = mem_obj.density_point
diffrn = mem_obj.diffrn_exp_mnbite
diffrn_refln = diffrn.diffrn_refln

# Analytical Derivatives
fr_e = numpy.array(diffrn_refln.fr, dtype=float)
fr_s = numpy.array(diffrn_refln.fr_sigma, dtype=float)

crystal = mem_obj.crystals()[0]
l_diffrn = mem_obj.experiments()

mem_parameters = mem_obj.mem_parameters

density_point.volume_unit_cell = crystal.cell.volume
density_point.number_unit_cell = \
    mem_parameters.points_a * mem_parameters.points_b * \
    mem_parameters.points_c


chi_iso_ferro = mem_parameters.chi_ferro
Пример #18
0
def test_FeMn_zero():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    chi_sq, n_points = rhochi.calc_chi_sq()
Пример #19
0
def test_UNPD_PbSo4():
    dir = os.path.dirname(__file__)
    f_name = os.path.join(dir, "main.rcif")
    rhochi = cryspy.file_to_globaln(f_name)
    rhochi.refine()
    chi_sq, n_points = rhochi.calc_chi_sq()