From 7d08551dcbafe39b91f79dd9f817836e1cf9341d Mon Sep 17 00:00:00 2001 From: "James.Hester" Date: Fri, 13 Dec 2024 15:31:50 +1100 Subject: [PATCH 1/4] Updates from G Madariaga, adjusted for formatting. --- cif_ms.dic | 25602 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 15500 insertions(+), 10102 deletions(-) diff --git a/cif_ms.dic b/cif_ms.dic index 9a5335c..60136c1 100644 --- a/cif_ms.dic +++ b/cif_ms.dic @@ -20,113 +20,104 @@ data_CIF_MS - _dictionary.title CIF_MS - _dictionary.formalism Modulated - _dictionary.class Instance - _dictionary.version 3.2.1 - _dictionary.date 2024-05-17 - _dictionary.uri http://www.iucr.org/cif/dic/cif_ms.dic - _dictionary.ddl_conformance 3.13.1 - _dictionary.namespace ModStruct - _description.text + _dictionary.title CIF_MS + _dictionary.formalism Modulated + _dictionary.class Instance + _dictionary.version 3.2.4 + _dictionary.date 2024-12-12 + _dictionary.uri http://www.iucr.org/cif/dic/cif_ms.dic + _dictionary.ddl_conformance 4.1.0 + _dictionary.namespace ModStruct + _description.text ; - The DICTIONARY group encompassing the definitions of data items - for the study of modulated structures with the Crystallographic - Information Framework (CIF). + The DICTIONARY group encompassing the definitions of data items + for the study of modulated structures with the Crystallographic + Information Framework (CIF). ; save_CIF_MS_HEAD - _definition.id CIF_MS_HEAD - _definition.scope Category - _definition.class Head - _definition.update 2024-05-17 - _description.text + _definition.id CIF_MS_HEAD + _definition.scope Category + _definition.class Head + _definition.update 2024-08-09 + _description.text ; - The CIF_MS_HEAD category is the top-level category for all categories - in the CIF_MS dictionary. Head categories from other dictionaries are - reparented to this category. + Encompasses groups of categories applicable to modulated structures. ; - _name.category_id CIF_MS - _name.object_id CIF_MS_HEAD + _name.category_id CIF_MS + _name.object_id CIF_MS_HEAD + _import.get - [ - {'dupl':Ignore 'file':cif_core.dic 'mode':Full 'save':CIF_CORE_HEAD} - ] + [{'file':cif_core.dic 'mode':Full 'save':CIF_CORE}] save_ save_atom_site.displace_modulation_flag - _definition.id '_atom_site.displace_modulation_flag' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_modulation_flag' - _description.text + _definition.id '_atom_site.displace_modulation_flag' + _alias.definition_id '_atom_site_displace_modulation_flag' + _definition.update 2014-06-27 + _description.text ; - A code that signals whether the structural model includes the modulation of the positional coordinates of a given atom site. ; - _name.category_id atom_site - _name.object_id displace_modulation_flag - _type.purpose State - _type.source Assigned - _type.container Single - _type.contents Code + _name.category_id atom_site + _name.object_id displace_modulation_flag + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code + loop_ - _enumeration_set.state - _enumeration_set.detail - yes 'displacive modulation' - y 'abbreviation for "yes"' - no 'no displacive modulation' - n 'abbreviation for "no"' - _enumeration.default no + _enumeration_set.state + _enumeration_set.detail + yes 'displacive modulation' + y 'abbreviation for "yes"' + no 'no displacive modulation' + n 'abbreviation for "no"' + + _enumeration.default no save_ save_atom_site.occ_modulation_flag - _definition.id '_atom_site.occ_modulation_flag' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_occ_modulation_flag' - _description.text + _definition.id '_atom_site.occ_modulation_flag' + _alias.definition_id '_atom_site_occ_modulation_flag' + _definition.update 2014-06-27 + _description.text ; - A code that signals whether the structural model includes the modulation of the occupation of a given atom site. ; - _name.category_id atom_site - _name.object_id occ_modulation_flag - _type.purpose State - _type.source Assigned - _type.container Single - _type.contents Code + _name.category_id atom_site + _name.object_id occ_modulation_flag + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code + loop_ - _enumeration_set.state - _enumeration_set.detail - yes 'occupational modulation' - y 'abbreviation for "yes"' - no 'no occupational modulation' - n 'abbreviation for "no"' - _enumeration.default no + _enumeration_set.state + _enumeration_set.detail + yes 'occupational modulation' + y 'abbreviation for "yes"' + no 'no occupational modulation' + n 'abbreviation for "no"' -save_ + _enumeration.default no +save_ save_atom_site.subsystem_code - _definition.id '_atom_site.subsystem_code' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_subsystem_code' - _description.text + _definition.id '_atom_site.subsystem_code' + _alias.definition_id '_atom_site_subsystem_code' + _definition.update 2014-06-27 + _description.text ; - A code that links a given atom or rigid-group site to one of the subsystems present in a composite. This code provides an alternative description for composites which is less explicit @@ -134,11605 +125,16837 @@ save_atom_site.subsystem_code this dictionary of audit_link.*). It must match one of the labels specified for _cell_subsystem.code. ; - _name.category_id atom_site - _name.object_id subsystem_code - _name.linked_item_id '_cell_subsystem.code' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site + _name.object_id subsystem_code + _name.linked_item_id '_cell_subsystem.code' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ +save_atom_site.u_modulation_flag -save_atom_site.U_modulation_flag - - _definition.id '_atom_site.U_modulation_flag' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_U_modulation_flag' - _description.text + _definition.id '_atom_site.U_modulation_flag' + _alias.definition_id '_atom_site_U_modulation_flag' + _definition.update 2014-06-27 + _description.text ; - A code that signals whether the structural model includes the modulation of the ADP of a given atom site. ; - _name.category_id atom_site - _name.object_id U_modulation_flag - _type.purpose State - _type.source Assigned - _type.container Single - _type.contents Code + _name.category_id atom_site + _name.object_id U_modulation_flag + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code + loop_ - _enumeration_set.state - _enumeration_set.detail - yes 'modulation of ADP' - y 'abbreviation for "yes"' - no 'no modulation of ADP' - n 'abbreviation for "no"' - _enumeration.default no + _enumeration_set.state + _enumeration_set.detail + yes 'modulation of ADP' + y 'abbreviation for "yes"' + no 'no modulation of ADP' + n 'abbreviation for "no"' -save_ + _enumeration.default no +save_ -save_ATOM_SITE_DISPLACE_FOURIER +save_ATOM_SITE_ANHARMONIC_ADP - _definition.id ATOM_SITE_DISPLACE_FOURIER - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text -; - - Data items in the ATOM_SITE_DISPLACE_FOURIER category record - details about the Fourier components of the displacive modulation - of an atom site in a modulated structure. In the case of rigid - groups, items in this category would only include the - translational part of the modulation. The rotational part would - appear in a separate list of items belonging to the - ATOM_SITE_ROT_FOURIER category. The (in general complex) - coefficients of each Fourier component belong to the child category - ATOM_SITE_DISPLACE_FOURIER_PARAM and may be listed separately. + _definition.id ATOM_SITE_ANHARMONIC_ADP + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text ; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_FOURIER - loop_ - _category_key.name '_atom_site_displace_Fourier.id' + Data items in the ATOM_SITE_ANHARMONIC_ADP category record details + about the anharmonic corrections of ADPs of an atom site. + Among the different expansions used to handle those corrections + (see for example, Kuznetsov, 1960, Kuhs, 1992, Brown et al., 2014 + and references therein) the Gram-Charlier parameterization has been + chosen, as it is the one implemented in the package JANA (Petricek et al., + 2014, Petricek et al., 2023). Within this approximation the generalized + ADPs are written as: + + T(H) = Ta(H)[1 - iC^jkl h_jh_kh_l + D^jklm h_jh_kh_lh_m + + + i E^jklmn h_jh_kh_lh_mh_n - F^jklmnp h_jh_kh_lh_mh_nh_p ...] + + where Ta(H) is the ADP in the harmonic approximation. C^jkl, D^jklm, + D^jklm, F^jklmn, ... are the contravariant components of the + corresponding symmetrical (for all permutations of indices) tensors + of order 3, 4, 5, 6, ... h_j represents the Miller indices, with j=1,2,3. + + In this version of the dictionary, by practical reasons, tensors + of order higher than 6 have not been considered. Owing to the atomic + environment variation induced by the modulation, the components of + the tensors describing the anharmonicity could become also modulated. + In that case, the additional modulation parameters would be + described by items belong to the _ATOM_SITE_ANHARMONIC_ADP_FOURIER + category. -save_ + References: Kuznetsov, P.I., Stratonovich, R.L. & Tikhonov, V.I. (1960). + Theory of Probability & Its Applications 5(1), 80-97. + DOI 10.1137/1105007 + Quasi-Moment Functions in the Theory of Random Processes + Kuhs, W.F. (1998). Acta Cryst. A 48(2), 80-98. + DOI 10.1107/S0108767391009510 + Generalized atomic displacements in crystallographic + structure analysis -save_atom_site_displace_Fourier.atom_site_label + Brown, P.J., Fox, A.G., Maslen, E.N., O'Keefe, M.A. & + Willis, B.T.M. (2014). International Tables for + Crystallography Volume C: Mathematical, physical and + chemical tables. Edited by E. Prince, 554-585, + DOI 10.1107/97809553602060000600 + Intensity of diffracted intensities + + Petricek, V., Dusek, M. & Palatinus, L. (2014). + Z. Kristallogr. 229(5), 345-352. DOI 10.1515/zkri-2014-1737 + Crystallographic Computing System JANA2006: General features + + Petricek, V., Palatinus, L., Plasil, J. & Dusek, M. (2023). + Z. Kristallogr. 238(7-8), 271-282. DOI 10.1515/zkri-2023-0005 + Jana2020 - a new version of the crystallographic computing + system Jana - _definition.id '_atom_site_displace_Fourier.atom_site_label' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_atom_site_label' - _description.text ; + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_ANHARMONIC_ADP - Modulation parameters are usually looped in separate lists. - Modulated parameters are the atom positions (displacive - modulation), the atomic occupation (occupational modulation) - and/or the anisotropic (or isotropic) ADP. - _atom_site_displace_Fourier.atom_site_label is the - code that identifies an atom or rigid group in a loop in which - the Fourier components of its displacive modulation are listed. - In the case of a rigid group, this list would only include the - translational part of its displacive modulation. The rotational - part (if any) would appear in a separate list (see - _atom_site_rot_Fourier.atom_site_label). This code must match - the _atom_site.label of the associated coordinate list and - conform to the rules described in _atom_site.label. + loop_ + _category_key.name + '_atom_site_anharmonic_ADP.atom_site_label' + '_atom_site_anharmonic_ADP.tens_elem' + + loop_ + _description_example.case ; - _name.category_id atom_site_displace_Fourier - _name.object_id atom_site_label - _name.linked_item_id '_atom_site.label' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + #\#CIF_2.0 + + # - - - - data truncated for brevity - - - - + + _cell.modulation_dimension 1 + + loop_ + _atom_site.label + _atom_site.type_symbol + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.U_iso_or_equiv + _atom_site.site_symmetry_multiplicity + _atom_site.occupancy + _atom_site.calc_flag + Co1 Co 0.5 0 0 0.0259(10) 4 1 d + O1 O 0.59580(13) -0.07083(9) -0.21413(13) 0.0280(4) 8 1 d + O2 O 0.77265(13) -0.05973(9) -0.41846(12) 0.0272(3) 8 1 d + O3 O 0.47451(14) 0.15486(9) -0.12793(12) 0.0274(3) 8 1 d + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_anharmonic_ADP.atom_site_label + _atom_site_anharmonic_ADP.tens_elem + _atom_site_anharmonic_ADP.coeff + Co1 C111 0 + Co1 C112 0 + Co1 C113 0 + Co1 C122 0 + Co1 C123 0 + Co1 C133 0 + Co1 C222 0 + Co1 C223 0 + Co1 C233 0 + Co1 C333 0 + O2 C111 -0.0014(13) + O2 C112 -0.0008(4) + O2 C113 -0.0002(7) + O2 C122 0.0002(3) + O2 C123 0.0002(2) + O2 C133 -0.0011(6) + O2 C222 0.0001(4) + O2 C223 0.0002(3) + O2 C233 0.0005(3) + O2 C333 0.0016(10) + O1 C111 0.0045(9) + O1 C112 -0.0003(3) + O1 C113 -0.0011(5) + O1 C122 0.0010(3) + O1 C123 -0.0006(2) + O1 C133 0.0012(6) + O1 C222 -0.0001(4) + O1 C223 -0.0006(3) + O1 C233 -0.0001(4) + O1 C333 -0.0039(13) + O3 C111 0.0011(9) + O3 C112 0.0008(3) + O3 C113 0.0006(5) + O3 C122 0.0000(3) + O3 C123 0.0006(2) + O3 C133 0.0007(5) + O3 C222 0.0002(5) + O3 C223 0.0003(3) + O3 C233 0.0003(4) + O3 C333 0.0004(10) + N2 C111 0.0030(12) + N2 C112 0 + N2 C113 0.0004(8) + N2 C122 0.0009(4) + N2 C123 0 + N2 C133 0.0017(10) + N2 C222 0 + N2 C223 0.0005(4) + N2 C233 0 + N2 C333 0.0006(17) + + # - - - - data truncated for brevity - - - - + + #======================================================================= + + Example based on the article: + Laura Canadillas-Delgado, Lidia Mazzuca, Oscar Fabelo and + Juan Rodriguez-Carvajal (2019) IUCrJ. 6, 105-115. doi:10.1107/S2052252518015026 + Incommensurate structures of the [CH~3~NH~3~][Co(COOH)~3~] compound +; +; + #\#CIF_2.0 + + # - - - - data truncated for brevity - - - - + + _cell.modulation_dimension 1 + + loop_ + _atom_site.label + _atom_site.type_symbol + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.adp_type + _atom_site.U_iso_or_equiv + _atom_site.site_symmetry_multiplicity + _atom_site.occupancy + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.disorder_assembly + _atom_site.disorder_group + Pr1 Pr 0.16224(4) 0.5 0 Uani 0.00926(12) 4 1 d . . . + Sb1 Sb 0.5 0.5 0.0234(5) Uani 0.0511(8) 4 0.5 d . . . + O1 O 0.2504(3) 0 0 Uani 0.0112(9) 4 1 d . . . + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_anharmonic_ADP.atom_site_label + _atom_site_anharmonic_ADP.tens_elem + _atom_site_anharmonic_ADP.coeff + Sb D1111 0.00057(8) + Sb D1112 0 + Sb D1113 0 + Sb D1122 0.0072(7) + Sb D1123 0 + Sb D1133 0.008(2) + Sb D1222 0 + Sb D1223 0 + Sb D1233 0 + Sb D1333 0 + Sb D2222 0.98(6) + Sb D2223 0 + Sb D2233 -0.82(9) + Sb D2333 0 + Sb D3333 0.24(12) + + # - - - - data truncated for brevity - - - - + + #===================================================================== + + Example based on the article: + Oxana V. Magdysyuk, Jurgen Nuss and Martin Jansen (2013) + Acta Cryst. B 69, 547-555. doi:10.1107/S2052519213029436 + Modulated crystal structure of Pr~2~SbO~2~ +; +; + #\#CIF_2.0 + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site.label + _atom_site.type_symbol + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.adp_type + _atom_site.U_iso_or_equiv + _atom_site.site_symmetry_multiplicity + _atom_site.occupancy + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.disorder_assembly + _atom_site.disorder_group + Hf1 Hf 0 0 0 Uani 0.012(4) 4 1 d ? ? ? + Pb1 Pb 0.0292(5) 0.75 0.50222(6) Uani 0.0220(6) 8 0.5 d ? ? ? + O1 O 0 0.75 0.0467(11) Uani 0.009(3) 4 1 d ? ? ? + O2 O 0.25 0.0227(6) 0.25 Uani 0.0197(19) 8 1 d ? ? ? + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_anharmonic_ADP.atom_site_label + _atom_site_anharmonic_ADP.tens_elem + _atom_site_anharmonic_ADP.coeff + Hf1 F111111 0.13(5) + Hf1 F111112 0 + Hf1 F111113 0 + Hf1 F111122 0.005(5) + Hf1 F111123 -0.0012(6) + Hf1 F111133 -0.007(8) + Hf1 F111222 0 + Hf1 F111223 0 + Hf1 F111233 0 + Hf1 F111333 0 + Hf1 F112222 0.018(8) + Hf1 F112223 0.0000(3) + Hf1 F112233 0.0002(15) + Hf1 F112333 0.0000(4) + Hf1 F113333 0.003(8) + Hf1 F122222 0 + Hf1 F122223 0 + Hf1 F122233 0 + Hf1 F122333 0 + Hf1 F123333 0 + Hf1 F133333 0 + Hf1 F222222 0.08(6) + Hf1 F222223 0.045(5) + Hf1 F222233 0.004(4) + Hf1 F222333 0.0003(8) + Hf1 F223333 0.005(5) + Hf1 F233333 0.003(2) + Hf1 F333333 0.09(2) + + # - - - - data truncated for brevity - - - - + + #====================================================================== + + Example based on the article: + Alexei Bosak, Volodymir Svitlyk, Alla Arakcheeva, Roman Burkovskiy, + Vadim Diadkin, Krystian Roleder and Dmitry Chernyshov (2020) + Acta Cryst. B 76, 7-12. doi:10.1107/S205252061901494X + Incommensurate crystal structure of PbHfO~3~ +; + +save_ + +save_atom_site_anharmonic_adp.atom_site_label + + _definition.id '_atom_site_anharmonic_ADP.atom_site_label' + _definition.update 2024-05-02 + _description.text +; + The code that identifies an atom in a loop in which the Gram-Charlier + tensor components describing the anharmonic corrections of ADPs + are listed. This code must match the _atom_site.label of the + associated coordinate list and conform to the rules described in + _atom_site.label. +; + _name.category_id atom_site_anharmonic_ADP + _name.object_id atom_site_label + _name.linked_item_id '_atom_site.label' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ +save_atom_site_anharmonic_adp.coeff -save_atom_site_displace_Fourier.axis - - _definition.id '_atom_site_displace_Fourier.axis' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_axis' - _description.text + _definition.id '_atom_site_anharmonic_ADP.coeff' + _definition.update 2024-04-11 + _description.text +; + The contravariant component of the symmetric tensor given by + _atom_site_anharmonic_ADP.tens_elem, appearing in the Gram-Charlier + expansion of the atomic anharmonic ADPs. ; + _name.category_id atom_site_anharmonic_ADP + _name.object_id coeff + _units.code none - A label identifying the displacement component of a given atom - or rigid group that is being parameterized by Fourier series. a, - b and c are the basic lattice vectors of the reference structure. - For composites they refer to the reference structure of each - subsystem. a~1~, a~2~ and a~3~ are defined by the - items belonging to the ATOM_SITES_AXES category, through - _atom_site_displace_Fourier.matrix_seq_id. - Use of _atom_sites_displace_Fourier.axes_description is deprecated - and retained only for backward compatibility. + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] +save_ + +save_atom_site_anharmonic_adp.coeff_su + + _definition.id '_atom_site_anharmonic_ADP.coeff_su' + _definition.update 2024-08-02 + _description.text ; - _name.category_id atom_site_displace_Fourier - _name.object_id axis - _type.purpose State - _type.source Assigned - _type.container Single - _type.contents Code - loop_ - _enumeration_set.state - _enumeration_set.detail - x 'displacement along the a axis' - y 'displacement along the b axis' - z 'displacement along the c axis' - a1 'displacement along an arbitrary a1 axis' - a2 'displacement along an arbitrary a2 axis' - a3 'displacement along an arbitrary a3 axis' + Standard uncertainty of _atom_site_anharmonic_ADP.coeff +; + _name.category_id atom_site_anharmonic_ADP + _name.object_id coeff_su + _name.linked_item_id '_atom_site_anharmonic_ADP.coeff' + _units.code none + + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ +save_atom_site_anharmonic_adp.tens_elem -save_atom_site_displace_Fourier.id + _definition.id '_atom_site_anharmonic_ADP.tens_elem' + _definition.update 2024-08-06 + _description.text +; + A label identifying each anharmonic ADP tensor element of a given + atom. +; + _name.category_id atom_site_anharmonic_ADP + _name.object_id tens_elem + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code - _definition.id '_atom_site_displace_Fourier.id' - _definition.update 2014-06-27 loop_ - _alias.definition_id - '_atom_site_displace_Fourier_id' - _description.text + _enumeration_set.state + _enumeration_set.detail + C111 'average value or modulation components of C111' + C112 'average value or modulation components of C112' + C113 'average value or modulation components of C113' + C122 'average value or modulation components of C122' + C123 'average value or modulation components of C123' + C133 'average value or modulation components of C133' + C222 'average value or modulation components of C222' + C223 'average value or modulation components of C223' + C233 'average value or modulation components of C233' + C333 'average value or modulation components of C333' + D1111 'average value or modulation components of D1111' + D1112 'average value or modulation components of D1112' + D1113 'average value or modulation components of D1113' + D1122 'average value or modulation components of D1122' + D1123 'average value or modulation components of D1123' + D1133 'average value or modulation components of D1133' + D1222 'average value or modulation components of D1222' + D1223 'average value or modulation components of D1223' + D1233 'average value or modulation components of D1233' + D1333 'average value or modulation components of D1333' + D2222 'average value or modulation components of D2222' + D2223 'average value or modulation components of D2223' + D2233 'average value or modulation components of D2233' + D2333 'average value or modulation components of D2333' + D3333 'average value or modulation components of D3333' + E11111 'average value or modulation components of E11111' + E11112 'average value or modulation components of E11112' + E11113 'average value or modulation components of E11113' + E11122 'average value or modulation components of E11122' + E11123 'average value or modulation components of E11123' + E11133 'average value or modulation components of E11133' + E11222 'average value or modulation components of E11222' + E11223 'average value or modulation components of E11223' + E11233 'average value or modulation components of E11233' + E11333 'average value or modulation components of E11333' + E12222 'average value or modulation components of E12222' + E12223 'average value or modulation components of E12223' + E12233 'average value or modulation components of E12233' + E12333 'average value or modulation components of E12333' + E13333 'average value or modulation components of E13333' + E22222 'average value or modulation components of E22222' + E22223 'average value or modulation components of E22223' + E22233 'average value or modulation components of E22233' + E22333 'average value or modulation components of E22333' + E23333 'average value or modulation components of E23333' + F111111 'average value or modulation components of F111111' + F111112 'average value or modulation components of F111112' + F111113 'average value or modulation components of F111113' + F111122 'average value or modulation components of F111122' + F111123 'average value or modulation components of F111123' + F111133 'average value or modulation components of F111133' + F111222 'average value or modulation components of F111222' + F111223 'average value or modulation components of F111223' + F111233 'average value or modulation components of F111233' + F111333 'average value or modulation components of F111333' + F112222 'average value or modulation components of F112222' + F112223 'average value or modulation components of F112223' + F112233 'average value or modulation components of F112233' + F112333 'average value or modulation components of F112333' + F113333 'average value or modulation components of F113333' + F122222 'average value or modulation components of F122222' + F122223 'average value or modulation components of F122223' + F122233 'average value or modulation components of F122233' + F122333 'average value or modulation components of F122333' + F123333 'average value or modulation components of F123333' + F133333 'average value or modulation components of F133333' + F222222 'average value or modulation components of F222222' + F222223 'average value or modulation components of F222223' + F222233 'average value or modulation components of F222233' + F222333 'average value or modulation components of F222333' + F223333 'average value or modulation components of F223333' + F233333 'average value or modulation components of F233333' + F333333 'average value or modulation components of F333333' + +save_ + +save_ATOM_SITE_ANHARMONIC_ADP_FOURIER + + _definition.id ATOM_SITE_ANHARMONIC_ADP_FOURIER + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text ; - - A code identifying each component of the displacive modulation of - a given atom or rigid group when the modulation is expressed in - terms of Fourier series. In the case of a rigid group, it - applies only to the translational part of the distortion. + Data items in the ATOM_SITE_ANHARMONIC_ADP_FOURIER category record + details about the Fourier components of the tensors that describe + the modulation of the anharmonic ADPs in a modulated structure. +; + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_ANHARMONIC_ADP_FOURIER + _category_key.name '_atom_site_anharmonic_ADP_Fourier.id' + _description_example.case +; + #\#CIF_2.0 + + # - - - - data truncated for brevity - - - - + + _cell.modulation_dimension 1 + + loop_ + _cell_wave_vector.seq_id + _cell_wave_vector.x + _cell_wave_vector.y + _cell_wave_vector.z + 1 0.000000 0.000000 0.143000 + + loop_ + _atom_site.label + _atom_site.type_symbol + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.adp_type + _atom_site.U_iso_or_equiv + _atom_site.site_symmetry_multiplicity + _atom_site.occupancy + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.disorder_assembly + _atom_site.disorder_group + Co1 Co 0.5 0 0 Uani 0.0259(10) 4 1 d ? ? ? + O1 O 0.59580(13) -0.07083(9) -0.21413(13) Uani 0.0280(4) 8 1 d ? ? ? + O2 O 0.77265(13) -0.05973(9) -0.41846(12) Uani 0.0272(3) 8 1 d ? ? ? + O3 O 0.47451(14) 0.15486(9) -0.12793(12) Uani 0.0274(3) 8 1 d ? ? ? + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_Fourier_wave_vector.seq_id + _atom_site_Fourier_wave_vector.q1_coeff + 1 1 + 2 2 + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_anharmonic_ADP_Fourier.id + _atom_site_anharmonic_ADP_Fourier.atom_site_label + _atom_site_anharmonic_ADP_Fourier.tens_elem + _atom_site_anharmonic_ADP_Fourier.wave_vector_seq_id + _atom_site_anharmonic_ADP_Fourier_param.cos + _atom_site_anharmonic_ADP_Fourier_param.sin + 1 Co1 C111 1 0 -0.008(4) + 2 Co1 C112 1 0 0.0031(15) + 3 Co1 C113 1 0 0.0012(19) + 4 Co1 C122 1 0 -0.0018(11) + 5 Co1 C123 1 0 0.0009(9) + 6 Co1 C133 1 0 0.0004(19) + 7 Co1 C222 1 0 0.0013(17) + 8 Co1 C223 1 0 -0.0002(11) + 9 Co1 C233 1 0 0.0027(13) + 10 Co1 C333 1 0 0.005(3) + 11 O2 C111 1 -0.0016(13) 0.0020(14) + 12 O2 C112 1 -0.0001(5) 0.0003(5) + + #====================================================================== + + Example based on the article: + Laura Canadillas-Delgado, Lidia Mazzuca, Oscar Fabelo and + Juan Rodriguez-Carvajal (2019) IUCrJ. 6, 105-115. + doi:10.1107/S2052252518015026 + Incommensurate structures of the [CH~3~NH~3~][Co(COOH)~3~] compound +; + +save_ + +save_atom_site_anharmonic_adp_fourier.atom_site_label + + _definition.id + '_atom_site_anharmonic_ADP_Fourier.atom_site_label' + _definition.update 2024-04-13 + _description.text +; + The code the that identifies an atom in a loop in which the Fourier + components of the tensors that parameterize its anharmonic ADP + modulation are listed. This code must match the _atom_site.label of + the associated coordinate list and conform to the rules described + in _atom_site.label. ; - _name.category_id atom_site_displace_Fourier - _name.object_id id - _type.purpose Key - _type.source Assigned - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_Fourier + _name.object_id atom_site_label + _name.linked_item_id '_atom_site.label' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_Fourier.matrix_seq_id +save_atom_site_anharmonic_adp_fourier.id - _definition.id '_atom_site_displace_Fourier.matrix_seq_id' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_anharmonic_ADP_Fourier.id' + _definition.update 2024-04-13 + _description.text ; - - A numeric code identifying the transformation matrix that defines - the arbitrary axes a1, a2 and a3 in terms of the crystallographic axes. - This code must match _atom_sites_axes.matrix_seq_id. + A code identifying each Fourier component used to describe + the modulation of the tensors that parameterize an anharmonic + ADP. ; - _name.category_id atom_site_displace_Fourier - _name.object_id matrix_seq_id - _name.linked_item_id '_atom_sites_axes.matrix_seq_id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_Fourier + _name.object_id id + _type.purpose Key + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_Fourier.wave_vector_seq_id +save_atom_site_anharmonic_adp_fourier.tens_elem - _definition.id '_atom_site_displace_Fourier.wave_vector_seq_id' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_wave_vector_seq_id' - _description.text + _definition.id '_atom_site_anharmonic_ADP_Fourier.tens_elem' + _definition.update 2024-08-06 + _description.text +; + A label identifying the anharmonic ADP tensor elements of a given + atom whose modulation is being parameterized by Fourier series. This + code must match one of the codes listed in 'atom_site_anharmonic_ADP.tens_elem. ; + _name.category_id atom_site_anharmonic_ADP_Fourier + _name.object_id tens_elem + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code - A numeric code identifying the wave vectors of the Fourier terms - used in the structural model to describe the displacive - modulation of an atom or rigid group. In the case of a rigid - group, it applies only to the translational part of the - distortion. This code must match - _atom_site_Fourier_wave_vector.seq_id. + loop_ + _enumeration_set.state + _enumeration_set.detail + C111 'average value or modulation components of C111' + C112 'average value or modulation components of C112' + C113 'average value or modulation components of C113' + C122 'average value or modulation components of C122' + C123 'average value or modulation components of C123' + C133 'average value or modulation components of C133' + C222 'average value or modulation components of C222' + C223 'average value or modulation components of C223' + C233 'average value or modulation components of C233' + C333 'average value or modulation components of C333' + D1111 'average value or modulation components of D1111' + D1112 'average value or modulation components of D1112' + D1113 'average value or modulation components of D1113' + D1122 'average value or modulation components of D1122' + D1123 'average value or modulation components of D1123' + D1133 'average value or modulation components of D1133' + D1222 'average value or modulation components of D1222' + D1223 'average value or modulation components of D1223' + D1233 'average value or modulation components of D1233' + D1333 'average value or modulation components of D1333' + D2222 'average value or modulation components of D2222' + D2223 'average value or modulation components of D2223' + D2233 'average value or modulation components of D2233' + D2333 'average value or modulation components of D2333' + D3333 'average value or modulation components of D3333' + E11111 'average value or modulation components of E11111' + E11112 'average value or modulation components of E11112' + E11113 'average value or modulation components of E11113' + E11122 'average value or modulation components of E11122' + E11123 'average value or modulation components of E11123' + E11133 'average value or modulation components of E11133' + E11222 'average value or modulation components of E11222' + E11223 'average value or modulation components of E11223' + E11233 'average value or modulation components of E11233' + E11333 'average value or modulation components of E11333' + E12222 'average value or modulation components of E12222' + E12223 'average value or modulation components of E12223' + E12233 'average value or modulation components of E12233' + E12333 'average value or modulation components of E12333' + E13333 'average value or modulation components of E13333' + E22222 'average value or modulation components of E22222' + E22223 'average value or modulation components of E22223' + E22233 'average value or modulation components of E22233' + E22333 'average value or modulation components of E22333' + E23333 'average value or modulation components of E23333' + F111111 'average value or modulation components of F111111' + F111112 'average value or modulation components of F111112' + F111113 'average value or modulation components of F111113' + F111122 'average value or modulation components of F111122' + F111123 'average value or modulation components of F111123' + F111133 'average value or modulation components of F111133' + F111222 'average value or modulation components of F111222' + F111223 'average value or modulation components of F111223' + F111233 'average value or modulation components of F111233' + F111333 'average value or modulation components of F111333' + F112222 'average value or modulation components of F112222' + F112223 'average value or modulation components of F112223' + F112233 'average value or modulation components of F112233' + F112333 'average value or modulation components of F112333' + F113333 'average value or modulation components of F113333' + F122222 'average value or modulation components of F122222' + F122223 'average value or modulation components of F122223' + F122233 'average value or modulation components of F122233' + F122333 'average value or modulation components of F122333' + F123333 'average value or modulation components of F123333' + F133333 'average value or modulation components of F133333' + F222222 'average value or modulation components of F222222' + F222223 'average value or modulation components of F222223' + F222233 'average value or modulation components of F222233' + F222333 'average value or modulation components of F222333' + F223333 'average value or modulation components of F223333' + F233333 'average value or modulation components of F233333' + F333333 'average value or modulation components of F333333' + +save_ + +save_atom_site_anharmonic_adp_fourier.wave_vector_seq_id + + _definition.id + '_atom_site_anharmonic_ADP_Fourier.wave_vector_seq_id' + _definition.update 2024-04-13 + _description.text ; - _name.category_id atom_site_displace_Fourier - _name.object_id wave_vector_seq_id - _name.linked_item_id '_atom_site_Fourier_wave_vector.seq_id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + A numeric code identifying the wave vectors of the Fourier terms + used to describe the modulation functions corresponding to the + anharmonic ADP tensors of an atom. This code must match + _atom_site_Fourier_wave_vector.seq_id. +; + _name.category_id atom_site_anharmonic_ADP_Fourier + _name.object_id wave_vector_seq_id + _name.linked_item_id '_atom_site_Fourier_wave_vector.seq_id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ +save_ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM -save_ATOM_SITE_DISPLACE_FOURIER_PARAM - - _definition.id ATOM_SITE_DISPLACE_FOURIER_PARAM - _definition.scope Category - _definition.class Loop - _definition.update 2014-06-27 - _description.text + _definition.id ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-02 + _description.text ; - - Data items in the ATOM_SITE_DISPLACE_FOURIER_PARAM category - record details about the coefficients of the Fourier series - used to describe the displacive modulation of an atom or rigid - group. In the case of rigid groups, items in this category would - only include the translational part of the modulation. The - rotational part would appear in a separate list of items - belonging to the ATOM_SITE_ROT_FOURIER_PARAM category. The - Fourier components are defined in the parent category - ATOM_SITE_DISPLACE_FOURIER. Notice that items in this category - may be listed together with those of the ATOM_SITE_DISPLACE_FOURIER - category. + Data items in the ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM category + record details about the coefficients of the Fourier series used to + describe the modulation of the anharmonic ADP tensor components + in a modulated structure. The Fourier components are defined in + the parent category ATOM_SITE_ANHARMONIC_ADP_FOURIER. Notice that + items in this category may be listed together with those of the + ATOM_SITE_ANHARMONIC_ADP_FOURIER category. To simplify the + description, below is explained the one-dimensional case. + + The modulation of the anharmonic ADP tensor elements (listed under + _atom_site_anharmonic_ADP_Fourier.tens_elem) are parameterized by + Fourier series. Each term of the series commonly adopts two + different representations: the sine-cosine form, + T(j...)cn cos(2\\p n x4)+T(j...)sn sin(2\\p n x4), + and the modulus-argument form, + |T(j...)n| cos[2\\p n x4+\\q(j...l)n], + where x4=q*(r+T)+t. q is the modulation wave vector and r and T + stand for a phase reference position and a lattice translation of + the reference structure, respectively. The phase reference position + can be chosen as the average position of the modulated atom, if + not in a rigid group or, in case of rigid groups a common point + for all atoms in the group. t is an arbitrary phase, irrelevant for + incommensurate modulated structures, but essential in the + commensurate case (see _atom_sites_modulation_global_phase_t_). +; + _name.category_id ATOM_SITE_ANHARMONIC_ADP_FOURIER + _name.object_id ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM + _category_key.name '_atom_site_anharmonic_ADP_Fourier_param.id' + _description_example.case ; - _name.category_id ATOM_SITE_DISPLACE_FOURIER - _name.object_id ATOM_SITE_DISPLACE_FOURIER_PARAM - loop_ - _category_key.name '_atom_site_displace_Fourier_param.id' - -save_ + #\#CIF_2.0 + + # - - - - data truncated for brevity - - - - + + _cell.modulation_dimension 1 + + loop_ + _cell_wave_vector.seq_id + _cell_wave_vector.x + _cell_wave_vector.y + _cell_wave_vector.z + 1 0.000000 0.000000 0.143000 + + loop_ + _atom_site.label + _atom_site.type_symbol + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.adp_type + _atom_site.U_iso_or_equiv + _atom_site.site_symmetry_multiplicity + _atom_site.occupancy + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.disorder_assembly + _atom_site.disorder_group + Co1 Co 0.5 0 0 Uani 0.0259(10) 4 1 d ? ? ? + O1 O 0.59580(13) -0.07083(9) -0.21413(13) Uani 0.0280(4) 8 1 d ? ? ? + O2 O 0.77265(13) -0.05973(9) -0.41846(12) Uani 0.0272(3) 8 1 d ? ? ? + O3 O 0.47451(14) 0.15486(9) -0.12793(12) Uani 0.0274(3) 8 1 d ? ? ? + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_Fourier_wave_vector.seq_id + _atom_site_Fourier_wave_vector.q1_coeff + 1 1 + 2 2 + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_anharmonic_ADP_Fourier.id + _atom_site_anharmonic_ADP_Fourier.atom_site_label + _atom_site_anharmonic_ADP_Fourier.tens_elem + _atom_site_anharmonic_ADP_Fourier.wave_vector_seq_id + 1 Co1 C111 1 + 2 Co1 C112 1 + 3 Co1 C113 1 + 4 Co1 C122 1 + 5 Co1 C123 1 + 6 Co1 C133 1 + 7 Co1 C222 1 + 8 Co1 C223 1 + 9 Co1 C233 1 + 10 Co1 C333 1 + 11 O2 C111 1 + 12 O2 C112 1 + + loop_ + _atom_site_anharmonic_ADP_Fourier_param.id + _atom_site_anharmonic_ADP_Fourier_param.cos + _atom_site_anharmonic_ADP_Fourier_param.sin + 1 0 -0.008(4) + 2 0 0.0031(15) + 3 0 0.0012(19) + 4 0 -0.0018(11) + 5 0 0.0009(9) + 6 0 0.0004(19) + 7 0 0.0013(17) + 8 0 -0.0002(11) + 9 0 0.0027(13) + 10 0 0.005(3) + 11 -0.0016(13) 0.0020(14) + 12 -0.0001(5) 0.0003(5) + + # - - - - data truncated for brevity - - - - + + #====================================================================== + + Example based on the article: + Laura Canadillas-Delgado, Lidia Mazzuca, Oscar Fabelo and + Juan Rodriguez-Carvajal (2019) IUCrJ. 6, 105-115. + doi:10.1107/S2052252518015026 + Incommensurate structures of the [CH~3~NH~3~][Co(COOH)~3~] compound +; + +save_ + +save_atom_site_anharmonic_adp_fourier_param.cos + + _definition.id '_atom_site_anharmonic_ADP_Fourier_param.cos' + _definition.update 2024-04-13 + _description.text +; + The cosine coefficient [T(j...)c], corresponding to the Fourier term + defined by _atom_site_anharmonic_ADP_Fourier.atom_site_label, + _atom_site_anharmonic_ADP_Fourier.tens_elem and + _atom_site_anharmonic_ADP_Fourier.wave_vector_seq_id. +; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id cos + _units.code none + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] -save_atom_site_displace_Fourier_param.cos + _method.purpose Evaluation + _method.expression +; + With p as atom_site_anharmonic_ADP_Fourier_param - _definition.id '_atom_site_displace_Fourier_param.cos' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_param_cos' - _description.text + atom_site_anharmonic_ADP_Fourier_param.cos = p.modulus*Cos(TwoPi*p.phase) ; - The displacive distortion of a given atom or rigid group (see - also _atom_site_rot_Fourier_param.cos) is usually parameterized - by Fourier series. Each term of the series commonly adopts two - different representations: the sine-cosine form, - Ac cos(2\\p k r)+As sin(2\\p k r), - and the modulus-argument form, - |A| cos(2\\p k r+\\f), - where k is the wave vector of the term and r is the atomic - average position. _atom_site_displace_Fourier_param.cos is the - cosine coefficient (Ac) corresponding to the Fourier term defined - _atom_site_displace_Fourier.atom_site_label, - _atom_site_displace_Fourier.axis and - _atom_site_displace_Fourier.wave_vector.seq_id. Atomic or rigid-group - displacements must be expressed as fractions of the unit - cell or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the ATOM_SITES_AXES - category, through _atom_site_displace_Fourier.matrix_seq_id. - Use of _atom_sites_displace_Fourier.axes_description is deprecated - and retained only for backward compatibility. +save_ +save_atom_site_anharmonic_adp_fourier_param.cos_su + + _definition.id + '_atom_site_anharmonic_ADP_Fourier_param.cos_su' + _definition.update 2024-08-02 + _description.text ; - _name.category_id atom_site_displace_Fourier_param - _name.object_id cos - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + Standard uncertainty of _atom_site_anharmonic_ADP_Fourier_param.cos ; - With p as atom_site_displace_Fourier_param - - atom_site_displace_Fourier_param.cos = p.modulus*Cos(TwoPi*p.phase) -; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id cos_su + _name.linked_item_id '_atom_site_anharmonic_ADP_Fourier_param.cos' + _units.code none + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ +save_atom_site_anharmonic_adp_fourier_param.id -save_atom_site_displace_Fourier_param.id - - _definition.id '_atom_site_displace_Fourier_param.id' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_param_id' - _description.text + _definition.id '_atom_site_anharmonic_ADP_Fourier_param.id' + _definition.update 2024-04-13 + _description.text ; - - A code identifying the (in general complex) coefficient of each - term present in the Fourier series describing the displacive - modulation of a given atom or rigid group. In the case of a rigid - group, it applies only to the translational part of the - distortion. This code must match _atom_site_displace_Fourier.id. + A code identifying the (in general complex) coefficient of each + term present in the Fourier series describing the modulation of + the ADP. This code must match _atom_site_anharmonic_ADP_Fourier.id. ; - _name.category_id atom_site_displace_Fourier_param - _name.object_id id - _name.linked_item_id '_atom_site_displace_Fourier.id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id id + _name.linked_item_id '_atom_site_anharmonic_ADP_Fourier.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ +save_atom_site_anharmonic_adp_fourier_param.modulus -save_atom_site_displace_Fourier_param.modulus - - _definition.id '_atom_site_displace_Fourier_param.modulus' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_param_modulus' - _description.text + _definition.id + '_atom_site_anharmonic_ADP_Fourier_param.modulus' + _definition.update 2024-04-13 + _description.text +; + The modulus [|T(j...)n|] of the complex amplitudes corresponding to + the Fourier term defined by + _atom_site_anharmonic_ADP_Fourier.atom_site_label, + _atom_site_anharmonic_ADP_Fourier.tens_elem and + _atom_site_anharmonic_ADP_Fourier.wave_vector_seq_id. ; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id modulus + _enumeration.range 0.0: + _units.code none - The displacive distortion of a given atom or rigid group (see - also _atom_site_rot_Fourier_param.modulus) is usually - parameterized by Fourier series. Each term of the series commonly - adopts two different representations: the sine-cosine form, - Ac cos(2\\p k r)+As sin(2\\p k r), - and the modulus-argument form, - |A| cos(2\\p k r+\\f), - where k is the wave vector of the term and r is the atomic - average position. _atom_site_displace_Fourier_param.modulus is - the modulus (|A|) of the complex amplitude corresponding to the - Fourier term defined by - _atom_site_displace_Fourier.atom_site_label, - _atom_site_displace_Fourier.axis and - _atom_site_displace_Fourier.wave_vector_seq_id. Atomic or rigid-group - displacements must be expressed as fractions of the unit - cell or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the ATOM_SITES_AXES - category, through _atom_site_displace_Fourier.matrix_seq_id. - Use of _atom_sites_displace_Fourier.axes_description is deprecated - and retained only for backward compatibility. + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] + + _method.purpose Evaluation + _method.expression ; - _name.category_id atom_site_displace_Fourier_param - _name.object_id modulus - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - _enumeration.range 0.0: - loop_ - _method.purpose - _method.expression - Evaluation + With p as atom_site_anharmonic_ADP_Fourier_param + + atom_site_anharmonic_ADP_Fourier_param.modulus = Sqrt(p.cos**2+p.sin**2) ; - With p as atom_site_displace_Fourier_param - atom_site_displace_Fourier_param.modulus = Sqrt(p.cos**2 + p.sin**2) -; +save_ +save_atom_site_anharmonic_adp_fourier_param.modulus_su -save_ + _definition.id + '_atom_site_anharmonic_ADP_Fourier_param.modulus_su' + _definition.update 2024-08-02 + _description.text +; + Standard uncertainty of _atom_site_anharmonic_ADP_Fourier_param.modulus +; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id modulus_su + _name.linked_item_id + '_atom_site_anharmonic_ADP_Fourier_param.modulus' + _units.code none + _import.get [{'file':templ_attr.cif 'save':general_su}] -save_atom_site_displace_Fourier_param.phase +save_ - _definition.id '_atom_site_displace_Fourier_param.phase' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_param_phase' - _description.text -; +save_atom_site_anharmonic_adp_fourier_param.phase - The displacive distortion of a given atom or rigid group (see - also _atom_site_rot_Fourier_param.phase) is usually parameterized - by Fourier series. Each term of the series commonly adopts two - different representations: the sine-cosine form, - Ac cos(2\\p k r)+As sin(2\\p k r), - and the modulus-argument form, - |A| cos(2\\p k r+\\f), - where k is the wave vector of the term and r is the atomic - average position. _atom_site_displace_Fourier_param.phase is the - phase (\f/2\\p) in cycles of the complex amplitude corresponding\ - to the Fourier term defined by - _atom_site_displace_Fourier.atom_site_label, - _atom_site_displace_Fourier.axis and - _atom_site_displace_Fourier.wave_vector_seq_id. + _definition.id + '_atom_site_anharmonic_ADP_Fourier_param.phase' + _definition.update 2024-04-13 + _description.text ; - _name.category_id atom_site_displace_Fourier_param - _name.object_id phase - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - _enumeration.range -1.0:1.0 - _units.code cycles - loop_ - _method.purpose - _method.expression - Evaluation + _The phase [\q(j...)n/2\\p], in cycles, of the complex amplitude + corresponding to the Fourier term defined by + _atom_site_anharmonic_ADP_Fourier.atom_site_label, + _atom_site_anharmonic_ADP_Fourier.tens_elem and + _atom_site_anharmonic_ADP_Fourier.wave_vector_seq_id. ; - With p as atom_site_displace_Fourier_param - - atom_site_displace_Fourier_param.phase = Phase(Complex(p.cos,-p.sin)/2/Pi -; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id phase + _enumeration.range -1.0:1.0 + _units.code cycles + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] -save_ + _method.purpose Evaluation + _method.expression +; + With p as atom_site_anharmonic_ADP_Fourier_param + atom_site_anharmonic_ADP_Fourier_param.phase = Phase(Complex(p.cos,-p.sin))/TwoPi +; -save_atom_site_displace_Fourier_param.sin +save_ - _definition.id '_atom_site_displace_Fourier_param.sin' - _definition.update 2017-09-28 - loop_ - _alias.definition_id - '_atom_site_displace_Fourier_param_sin' - _description.text -; +save_atom_site_anharmonic_adp_fourier_param.phase_su - The displacive distortion of a given atom or rigid group (see - also _atom_site_rot_Fourier_param.sin) is usually parameterized - by Fourier series. Each term of the series commonly adopts two - different representations: the sine-cosine form, - Ac cos(2\\p k r)+As sin(2\\p k r), - and the modulus-argument form, - |A| cos(2\\p k r+\\f), - where k is the wave vector of the term and r is the atomic - average position. _atom_site_displace_Fourier_param.sin is the - sine coefficient (As) corresponding to the Fourier term defined - _atom_site_displace_Fourier.atom_site_label, - _atom_site_displace_Fourier.axis, and - _atom_site_displace_Fourier.wave_vector_seq_id. Atomic or rigid-group - displacements must be expressed as fractions of the unit - cell or in angstroms if the modulations are referred to some - special axes defined by - the items belonging to the ATOM_SITES_AXES - category, through _atom_site_displace_Fourier.matrix_seq_id. - Use of _atom_sites_displace_Fourier.axes_description is deprecated - and retained only for backward compatibility. + _definition.id + '_atom_site_anharmonic_ADP_Fourier_param.phase_su' + _definition.update 2024-08-02 + _description.text ; - _name.category_id atom_site_displace_Fourier_param - _name.object_id sin - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + Standard uncertainty of _atom_site_anharmonic_ADP_Fourier_param.phase ; - With p as atom_site_displace_Fourier_param - - atom_site_displace_Fourier_param.sin = -p.modulus*Sin(TwoPi*p.phase) -; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id phase_su + _name.linked_item_id + '_atom_site_anharmonic_ADP_Fourier_param.phase' + _units.code cycles + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_ATOM_SITE_DISPLACE_LEGENDRE +save_atom_site_anharmonic_adp_fourier_param.sin - _definition.id ATOM_SITE_DISPLACE_LEGENDRE - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text + _definition.id '_atom_site_anharmonic_ADP_Fourier_param.sin' + _definition.update 2024-04-13 + _description.text ; - - The set of harmonic functions used in the Fourier series describing the - Modulation functions is orthogonal and complete in the interval [0,1). - However within the x4 interval defined by a Crenel function orthogonality - is no longer preserved and therefore the Fourier coefficients are correlated - and the refinement becomes fragile. There are several ways to avoid this - technical problem (see Petricek et al., 2016). One of them is to use - orthogonal or orthogonalized sets of functions defined within the Crenel - interval. This procedure is more robust than the orthogonalization of harmonics - described in *_ORTHO. categories. Moreover these sets of functions are - complete. Two different sets of orthogonal or orthogonalized functions have - been implemented in JANA2006: Legendre polynomials and the so-called X- - harmonics. Legendre polynomials are orthogonal in the Crenel interval and can - be easily calculated by the recurrence relation: - - P~0~(x) = 1 - P~1~(x) (x) = x - (n+1)P~n+1~(x) = (2n+1)x P~n~(x) - nP~n-1~(x) - - Notice that Legendre polynomials are restricted to one-dimensional cases and - include as a particular case the sawtooth modulation. + The sine coefficient [T(j...)sn] corresponding to the Fourier term + defined by _atom_site_anharmonic_ADP_Fourier.atom_site_label, + _atom_site_anharmonic_ADP_Fourier.tens_elem and + _atom_site_anharmonic_AD_Fourier.wave_vector_seq_id. +; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id sin + _units.code none - Data items in the ATOM_SITE_DISPLACE_LEGENDRE category record - details about the Legendre polynomials used to describe the displacive - modulations when the atomic domain of a given atom is restricted - by a Crenel function. In the case of rigid groups, items in this category would - only include the translational part of the modulation. The rotational - part would appear in a separate list of items belonging to the - ATOM_SITE_ROT_LEGENDRE category. The coefficients of each Legendre function - belong to the category ATOM_SITE_DISPLACE_LEGENDRE_PARAM and are listed - separately. + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] - References: Petricek, V., Van Der Lee & Evain, M. (1995). - Acta Cryst. A51, 529-535. DOI 10.1107/S0108767395000365 - On the Use of Crenel Functions for Occupationally Modulated - Structures + _method.purpose Evaluation + _method.expression +; + With p as atom_site_anharmonic_ADP_Fourier_param - Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. - Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 - Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system JANA2006 + atom_site_anharmonic_ADP_Fourier_param.sin = -p.modulus*Sin(TwoPi*p.phase) ; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_LEGENDRE - loop_ - _category_key.name '_atom_site_displace_Legendre.id' - + save_ -save_atom_site_displace_Legendre.atom_site_label +save_atom_site_anharmonic_adp_fourier_param.sin_su - _definition.id '_atom_site_displace_Legendre.atom_site_label' - _definition.update 2017-09-28 - _description.text + _definition.id + '_atom_site_anharmonic_ADP_Fourier_param.sin_su' + _definition.update 2024-08-02 + _description.text ; + Standard uncertainty of _atom_site_anharmonic_ADP_Fourier_param.sin +; + _name.category_id atom_site_anharmonic_ADP_Fourier_param + _name.object_id sin_su + _name.linked_item_id '_atom_site_anharmonic_ADP_Fourier_param.sin' + _units.code none - Modulation parameters are usually looped in separate lists. - Modulated parameters are the atom positions (displacive - modulation), the atomic occupation (occupational modulation) - and/or the anisotropic (or isotropic) ADP. - _atom_site_displace_Legendre.atom_site_label is the - code that identifies an atom or rigid group in a loop in which - the Legendre components of its displacive modulation are listed. - In the case of a rigid group, this list would only include the - translational part of its displacive modulation. The rotational - part (if any) would appear in a separate list (see - _atom_site_rot_Legendre.atom_site_label). This code must match - the _atom_site.label of the associated coordinate list and - conform to the rules described in _atom_site.label. -; - _name.category_id atom_site_displace_Legendre - _name.object_id atom_site_label - _name.linked_item_id '_atom_site.label' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_atom_site_displace_Legendre.axis +save_ATOM_SITE_ANHARMONIC_ADP_LEGENDRE - _definition.id '_atom_site_displace_Legendre.axis' - _definition.update 2017-09-28 - _description.text + _definition.id ATOM_SITE_ANHARMONIC_ADP_LEGENDRE + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text ; - - A label identifying the displacement component of a given atom - or rigid group that is being parameterized by Legendre polynomials. - a, b and c are the basic lattice vectors of the reference - structure. For composites they refer to the reference structure of - each subsystem. a~1~, a~2~ and a~3~ are defined by the - items belonging to the ATOM_SITES_AXES category, through - _atom_site_displace_Legendre.matrix_seq_id. + Data items in the ATOM_SITE_ANHARMONIC_ADP_LEGENDRE category record + details about the Legendre polynomials used to describe the + modulations of the anharmonic ADP tensor elements when the atomic + domain of a given atom is restricted by a crenel function. ; - _name.category_id atom_site_displace_Legendre - _name.object_id axis - _type.purpose State - _type.source Assigned - _type.container Single - _type.contents Code - loop_ - _enumeration_set.state - _enumeration_set.detail - x 'displacement along the a axis' - y 'displacement along the b axis' - z 'displacement along the c axis' - a1 'displacement along an arbitrary a1 axis' - a2 'displacement along an arbitrary a2 axis' - a3 'displacement along an arbitrary a3 axis' + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_ANHARMONIC_ADP_LEGENDRE + _category_key.name '_atom_site_anharmonic_ADP_legendre.id' save_ -save_atom_site_displace_Legendre.coeff +save_atom_site_anharmonic_adp_legendre.atom_site_label - _definition.id '_atom_site_displace_Legendre.coeff' - _definition.update 2017-09-28 - _description.text + _definition.id + '_atom_site_anharmonic_ADP_legendre.atom_site_label' + _definition.update 2024-05-02 + _description.text ; - The coefficient corresponding to the Legendre function - defined by _atom_site_displace_Legendre.atom_site_label, - _atom_site_displace_Legendre.axis and _atom_site_displace_Legendre.order. - Atomic or rigid-group displacements must be expressed as fractions - of the unit cell or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the - ATOM_SITES_AXES category, through _atom_site_rot_Legendre.matrix_seq_id. + The code the identifies an atom in a loop in which the Legendre + components of the tensors that parameterize its anharmonic ADP + modulation are listed. This code must match the _atom_site.label of + the associated coordinate list and conform to the rules described + in _atom_site.label. ; - _name.category_id atom_site_displace_Legendre - _name.object_id coeff - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 + _name.category_id atom_site_anharmonic_ADP_Legendre + _name.object_id atom_site_label + _name.linked_item_id '_atom_site.label' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_Legendre.id - _definition.id '_atom_site_displace_Legendre.id' - _definition.update 2017-09-28 - _description.text -; +save_atom_site_anharmonic_adp_legendre.coeff - A code identifying each component of the displacive modulation of - a given atom or rigid group when the modulation is expressed in - terms of Legendre polynomials. In the case of a rigid group, it - applies only to the translational part of the distortion. + _definition.id '_atom_site_anharmonic_ADP_Legendre.coeff' + _definition.update 2024-05-02 + _description.text +; + The coefficient corresponding to the Legendre polynomial defined by + _atom_site_anharmonic_ADP_Legendre.atom_site_label, + _atom_site_anharmonic_ADP_Legendre.tens_elem and + _atom_site_anharmonic_ADP_Legendre.order. ; - _name.category_id atom_site_displace_Legendre - _name.object_id id - _type.purpose Key - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_Legendre + _name.object_id coeff + _units.code none + + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] save_ -save_atom_site_displace_Legendre.matrix_seq_id +save_atom_site_anharmonic_adp_legendre.coeff_su - _definition.id '_atom_site_displace_Legendre.matrix_seq_id' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_anharmonic_ADP_Legendre.coeff_su' + _definition.update 2024-08-02 + _description.text ; - - A numeric code identifying the transformation matrix that defines - the arbitrary axes a1, a2 and a3 in terms of the crystallographic axes. - This code must match _atom_sites_axes.matrix_seq_id. + Standard uncertainty of _atom_site_anharmonic_ADP_Legendre.coeff ; - _name.category_id atom_site_displace_Legendre - _name.object_id matrix_seq_id - _name.linked_item_id '_atom_sites_axes.matrix_seq_id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_Legendre + _name.object_id coeff_su + _name.linked_item_id '_atom_site_anharmonic_ADP_Legendre.coeff' + _units.code none + + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_atom_site_displace_Legendre.order +save_atom_site_anharmonic_adp_legendre.id - _definition.id '_atom_site_displace_Legendre.order' - _definition.update 2019-09-25 - _description.text + _definition.id '_atom_site_anharmonic_ADP_Legendre.id' + _definition.update 2024-05-02 + _description.text ; - - The order of the Legendre polynomial. + A code identifying each component used to describe the modulation + of the tensors, expressed in terms of Legendre polynomials, that + parameterize an anharmonic ADP. ; - _name.category_id atom_site_displace_Legendre - _name.object_id order - _type.purpose Key - _type.source Assigned - _type.container Single - _type.contents Integer - _enumeration.range 0: + _name.category_id atom_site_anharmonic_ADP_Legendre + _name.object_id id + _type.purpose Key + _type.source Related + _type.container Single + _type.contents Code save_ -save_ATOM_SITE_DISPLACE_LEGENDRE_PARAM +save_atom_site_anharmonic_adp_legendre.order - _definition.id ATOM_SITE_DISPLACE_LEGENDRE_PARAM - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text + _definition.id '_atom_site_anharmonic_ADP_Legendre.order' + _definition.update 2024-05-02 + _description.text ; - - Data items in the ATOM_SITE_DISPLACE_LEGENDRE_PARAM category - record details about the coefficients of the Legendre polynomials - functions defined in ATOM_SITE_DISPLACE_LEGENDRE and used to - describe the displacive modulation of an atom or rigid group. - In the case of rigid groups, items in this category would - only include the translational part of the modulation. The - rotational part would appear in a separate list of items - belonging to the ATOM_SITE_ROT_LEGENDRE_PARAM category. + The order of the Legendre polynomial. ; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_LEGENDRE_PARAM - loop_ - _category_key.name '_atom_site_displace_Legendre_param.id' + _name.category_id atom_site_anharmonic_ADP_Legendre + _name.object_id order + _type.purpose Number + _type.source Assigned + _type.container Single + _type.contents Integer + _enumeration.range 0: save_ -### JRH Notes: is there any reason to have this as a separate category -### if there is a one-to-one relationship between the id of this category -### and the id of the parent category? +save_atom_site_anharmonic_adp_legendre.tens_elem -save_atom_site_displace_Legendre_param.coeff - - _definition.id '_atom_site_displace_Legendre_param.coeff' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_anharmonic_ADP_Legendre.tens_elem' + _definition.update 2024-05-02 + _description.text ; + A label identifying the anharmonic ADP tensor elements of a given + atom whose modulation is being parameterized by Legendre polynomials. + This code must match one of the codes listed in + 'atom_site_anharmonic_ADP.tens_elem. +; + _name.category_id atom_site_anharmonic_ADP_Legendre + _name.object_id tens_elem + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code - The coefficient corresponding to the Legendre function - defined by _atom_site_displace_Legendre.atom_site_label, - _atom_site_displace_Legendre.axis and _atom_site_displace_Legendre.order. - Atomic or rigid-group displacements must be expressed as fractions - of the unit cell or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the - ATOM_SITES_AXES category, through _atom_site_rot_Legendre.matrix_seq_id. + loop_ + _enumeration_set.state + _enumeration_set.detail + C111 'average value or modulation components of C111' + C112 'average value or modulation components of C112' + C113 'average value or modulation components of C113' + C122 'average value or modulation components of C122' + C123 'average value or modulation components of C123' + C133 'average value or modulation components of C133' + C222 'average value or modulation components of C222' + C223 'average value or modulation components of C223' + C233 'average value or modulation components of C233' + C333 'average value or modulation components of C333' + D1111 'average value or modulation components of D1111' + D1112 'average value or modulation components of D1112' + D1113 'average value or modulation components of D1113' + D1122 'average value or modulation components of D1122' + D1123 'average value or modulation components of D1123' + D1133 'average value or modulation components of D1133' + D1222 'average value or modulation components of D1222' + D1223 'average value or modulation components of D1223' + D1233 'average value or modulation components of D1233' + D1333 'average value or modulation components of D1333' + D2222 'average value or modulation components of D2222' + D2223 'average value or modulation components of D2223' + D2233 'average value or modulation components of D2233' + D2333 'average value or modulation components of D2333' + D3333 'average value or modulation components of D3333' + E11111 'average value or modulation components of E11111' + E11112 'average value or modulation components of E11112' + E11113 'average value or modulation components of E11113' + E11122 'average value or modulation components of E11122' + E11123 'average value or modulation components of E11123' + E11133 'average value or modulation components of E11133' + E11222 'average value or modulation components of E11222' + E11223 'average value or modulation components of E11223' + E11233 'average value or modulation components of E11233' + E11333 'average value or modulation components of E11333' + E12222 'average value or modulation components of E12222' + E12223 'average value or modulation components of E12223' + E12233 'average value or modulation components of E12233' + E12333 'average value or modulation components of E12333' + E13333 'average value or modulation components of E13333' + E22222 'average value or modulation components of E22222' + E22223 'average value or modulation components of E22223' + E22233 'average value or modulation components of E22233' + E22333 'average value or modulation components of E22333' + E23333 'average value or modulation components of E23333' + F111111 'average value or modulation components of F111111' + F111112 'average value or modulation components of F111112' + F111113 'average value or modulation components of F111113' + F111122 'average value or modulation components of F111122' + F111123 'average value or modulation components of F111123' + F111133 'average value or modulation components of F111133' + F111222 'average value or modulation components of F111222' + F111223 'average value or modulation components of F111223' + F111233 'average value or modulation components of F111233' + F111333 'average value or modulation components of F111333' + F112222 'average value or modulation components of F112222' + F112223 'average value or modulation components of F112223' + F112233 'average value or modulation components of F112233' + F112333 'average value or modulation components of F112333' + F113333 'average value or modulation components of F113333' + F122222 'average value or modulation components of F122222' + F122223 'average value or modulation components of F122223' + F122233 'average value or modulation components of F122233' + F122333 'average value or modulation components of F122333' + F123333 'average value or modulation components of F123333' + F133333 'average value or modulation components of F133333' + F222222 'average value or modulation components of F222222' + F222223 'average value or modulation components of F222223' + F222233 'average value or modulation components of F222233' + F222333 'average value or modulation components of F222333' + F223333 'average value or modulation components of F223333' + F233333 'average value or modulation components of F233333' + F333333 'average value or modulation components of F333333' + +save_ + +save_ATOM_SITE_ANHARMONIC_ADP_ORTHO + + _definition.id ATOM_SITE_ANHARMONIC_ADP_ORTHO + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text ; - _name.category_id atom_site_displace_Legendre_param - _name.object_id coeff - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 + Data items in the ATOM_SITE_ANHARMONIC_ADP_ORTHO category record + details about the orthogonalized functions defined to solve + correlation problems during the refinement of the modulations of the + anharmonic ADP tensor elements, when the atomic domain of a given + atom is restricted by a crenel function. The functions are constructed + selecting Fourier harmonics until the desired degree of orthogonality + and completeness is reached (see + _atom_site_occ_special_func.crenel_ortho_eps). +; + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_ANHARMONIC_ADP_ORTHO + _category_key.name '_atom_site_anharmonic_ADP_ortho.id' save_ -save_atom_site_displace_Legendre_param.id +save_atom_site_anharmonic_adp_ortho.atom_site_label - _definition.id '_atom_site_displace_Legendre_param.id' - _definition.update 2017-09-28 - _description.text + _definition.id + '_atom_site_anharmonic_ADP_ortho.atom_site_label' + _definition.update 2024-04-17 + _description.text ; + The code that identifies an atom in a loop in which the ortho + components of the tensors that parameterize its anharmonic ADP + modulation are listed. This code must match the _atom_site.label of + the associated coordinate list and conform to the rules described + in _atom_site.label. - A code identifying the coefficient of each Legendre polynomial describing the displacive - modulation of a given atom or rigid group. In the case of a rigid - group, it applies only to the translational part of the - distortion. This code must match _atom_site_displace_Legendre.id. + Notice that the global results could also be expressed (losing + information about the orthogonalized functions )using the data items + defined in the categories ATOM_SITE_ANHARMONIC_ADP_FOURIER and + ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM. ; - _name.category_id atom_site_displace_Legendre_param - _name.object_id id - _name.linked_item_id '_atom_site_displace_Legendre.id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_ortho + _name.object_id atom_site_label + _name.linked_item_id '_atom_site.label' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ -save_ATOM_SITE_DISPLACE_ORTHO +save_atom_site_anharmonic_adp_ortho.coeff - _definition.id ATOM_SITE_DISPLACE_ORTHO - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text + _definition.id '_atom_site_anharmonic_ADP_ortho.coeff' + _definition.update 2024-04-17 + _description.text ; - - Data items in the ATOM_SITE_DISPLACE_ORTHO category record - details about the orthogonalized functions defined to solve - correlation problems during the refinement of displacive - modulations when the atomic domain of a given atom is restricted - by a Crenel function. The functions are constructed selecting - Fourier harmonics until the desired degree of orthogonality and - completeness is reached (see - _atom_site_occ_special_func.crenel_ortho_eps). - In the case of rigid groups, items in this category would only - include the translational part of the modulation. The rotational - part would appear in a separate list of items belonging to the - ATOM_SITE_ROT_ORTHO category. The coefficients of each - orthogonalized function belong to the category - ATOM_SITE_DISPLACE_ORTHO_PARAM and are listed separately. - - Notice that the global results could also be expressed (losing - information) using the data items defined in the categories - ATOM_SITE_DISPLACE_FOURIER and ATOM_SITE_DISPLACE_FOURIER_PARAM. + The coefficient, corresponding to the orthogonalized function + defined by _atom_site_anharmonic_ADP_ortho.atom_site_label, + _atom_site_anharmonic_ADP_ortho.tens_elem and + _atom_site_anharmonic_ADP_ortho.func_id. ; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_ORTHO - loop_ - _category_key.name '_atom_site_displace_ortho.id' - + _name.category_id atom_site_anharmonic_ADP_ortho + _name.object_id coeff + _units.code none + + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] + save_ -save_atom_site_displace_ortho.atom_site_label +save_atom_site_anharmonic_adp_ortho.coeff_su - _definition.id '_atom_site_displace_ortho.atom_site_label' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_anharmonic_ADP_ortho.coeff_su' + _definition.update 2024-08-02 + _description.text ; - - Modulation parameters are usually looped in separate lists. - Modulated parameters are the atom positions (displacive - modulation), the atomic occupation (occupational modulation) - and/or the anisotropic (or isotropic) ADP. - _atom_site_displace_ortho.atom_site_label is the - code that identifies an atom or rigid group in a loop in which - the ortho components of its displacive modulation are listed. - In the case of a rigid group, this list would only include the - translational part of its displacive modulation. The rotational - part (if any) would appear in a separate list (see - _atom_site_rot_ortho.atom_site_label). This code must match - the _atom_site.label of the associated coordinate list and - conform to the rules described in _atom_site.label. + Standard uncertainty of _atom_site_anharmonic_ADP_ortho.coeff ; - _name.category_id atom_site_displace_ortho - _name.object_id atom_site_label - _name.linked_item_id '_atom_site.label' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_ortho + _name.object_id coeff_su + _name.linked_item_id '_atom_site_anharmonic_ADP_ortho.coeff' + _units.code none + + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_atom_site_displace_ortho.axis +save_atom_site_anharmonic_adp_ortho.func_id - _definition.id '_atom_site_displace_ortho.axis' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_anharmonic_ADP_ortho.func_id' + _definition.update 2024-04-17 + _description.text ; - - A label identifying the displacement component of a given atom - or rigid group that is being parameterized by orthogonalized - functions. a, b and c are the basic lattice vectors of the reference - structure. For composites they refer to the reference structure of - each subsystem. a~1~, a~2~ and a~3~ are defined by the - items belonging to the ATOM_SITES_AXES category, through - _atom_site_displace_ortho.matrix_seq_id. + A code identifying the orthogonalized function used in the structural + model to describe the anharmonic tensor elements modulation + of an atom, when orthogonalized functions are used. This code must + match _atom_sites_ortho.func_id. ; - _name.category_id atom_site_displace_ortho - _name.object_id axis - _type.purpose State - _type.source Assigned - _type.container Single - _type.contents Code - loop_ - _enumeration_set.state - _enumeration_set.detail - x 'displacement along the a axis' - y 'displacement along the b axis' - z 'displacement along the c axis' - a1 'displacement along an arbitrary a1 axis' - a2 'displacement along an arbitrary a2 axis' - a3 'displacement along an arbitrary a3 axis' + _name.category_id atom_site_anharmonic_ADP_ortho + _name.object_id func_id + _name.linked_item_id '_atom_sites_ortho.func_id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_ortho.coeff +save_atom_site_anharmonic_adp_ortho.id - _definition.id '_atom_site_displace_ortho.coeff' - _definition.update 2014-06-27 - _description.text + _definition.id '_atom_site_anharmonic_ADP_ortho.id' + _definition.update 2024-04-17 + _description.text ; - - The coefficient corresponding to the orthogonalized function - Defined by _atom_site_displace_ortho.atom_site_label, - _atom_site_displace_ortho.axis and _atom_site_displace_ortho.func_id. - Atomic or rigid-group displacements must be expressed as fractions - of the unit cell or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the - ATOM_SITES_AXES category, through _atom_site_rot_ortho.matrix_seq_id. + A code identifying each component of the ADP modulation of + a given atom when the modulation is expressed in terms of ortho + series. ; - _name.category_id atom_site_displace_ortho - _name.object_id coeff - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 + _name.category_id atom_site_anharmonic_ADP_ortho + _name.object_id id + _type.purpose Key + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_ortho.func_id +save_atom_site_anharmonic_adp_ortho.tens_elem - _definition.id '_atom_site_displace_ortho.func_id' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_anharmonic_ADP_ortho.tens_elem' + _definition.update 2024-04-17 + _description.text +; + A code identifying each component used to describe the modulation + of the tensors, expressed in terms of orthogonalized functions, that + parameterize an anharmonic ADP. ; + _name.category_id atom_site_anharmonic_ADP_ortho + _name.object_id tens_elem + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code - A code identifying the orthogonalized function used in the - structural model to describe the displacive modulation of an atom - or rigid group. In the case of a rigid group, it applies only - to the translational part of the distortion. This code must match - _atom_sites_ortho_func_id. + loop_ + _enumeration_set.state + _enumeration_set.detail + C111 'average value or modulation components of C111' + C112 'average value or modulation components of C112' + C113 'average value or modulation components of C113' + C122 'average value or modulation components of C122' + C123 'average value or modulation components of C123' + C133 'average value or modulation components of C133' + C222 'average value or modulation components of C222' + C223 'average value or modulation components of C223' + C233 'average value or modulation components of C233' + C333 'average value or modulation components of C333' + D1111 'average value or modulation components of D1111' + D1112 'average value or modulation components of D1112' + D1113 'average value or modulation components of D1113' + D1122 'average value or modulation components of D1122' + D1123 'average value or modulation components of D1123' + D1133 'average value or modulation components of D1133' + D1222 'average value or modulation components of D1222' + D1223 'average value or modulation components of D1223' + D1233 'average value or modulation components of D1233' + D1333 'average value or modulation components of D1333' + D2222 'average value or modulation components of D2222' + D2223 'average value or modulation components of D2223' + D2233 'average value or modulation components of D2233' + D2333 'average value or modulation components of D2333' + D3333 'average value or modulation components of D3333' + E11111 'average value or modulation components of E11111' + E11112 'average value or modulation components of E11112' + E11113 'average value or modulation components of E11113' + E11122 'average value or modulation components of E11122' + E11123 'average value or modulation components of E11123' + E11133 'average value or modulation components of E11133' + E11222 'average value or modulation components of E11222' + E11223 'average value or modulation components of E11223' + E11233 'average value or modulation components of E11233' + E11333 'average value or modulation components of E11333' + E12222 'average value or modulation components of E12222' + E12223 'average value or modulation components of E12223' + E12233 'average value or modulation components of E12233' + E12333 'average value or modulation components of E12333' + E13333 'average value or modulation components of E13333' + E22222 'average value or modulation components of E22222' + E22223 'average value or modulation components of E22223' + E22233 'average value or modulation components of E22233' + E22333 'average value or modulation components of E22333' + E23333 'average value or modulation components of E23333' + F111111 'average value or modulation components of F111111' + F111112 'average value or modulation components of F111112' + F111113 'average value or modulation components of F111113' + F111122 'average value or modulation components of F111122' + F111123 'average value or modulation components of F111123' + F111133 'average value or modulation components of F111133' + F111222 'average value or modulation components of F111222' + F111223 'average value or modulation components of F111223' + F111233 'average value or modulation components of F111233' + F111333 'average value or modulation components of F111333' + F112222 'average value or modulation components of F112222' + F112223 'average value or modulation components of F112223' + F112233 'average value or modulation components of F112233' + F112333 'average value or modulation components of F112333' + F113333 'average value or modulation components of F113333' + F122222 'average value or modulation components of F122222' + F122223 'average value or modulation components of F122223' + F122233 'average value or modulation components of F122233' + F122333 'average value or modulation components of F122333' + F123333 'average value or modulation components of F123333' + F133333 'average value or modulation components of F133333' + F222222 'average value or modulation components of F222222' + F222223 'average value or modulation components of F222223' + F222233 'average value or modulation components of F222233' + F222333 'average value or modulation components of F222333' + F223333 'average value or modulation components of F223333' + F233333 'average value or modulation components of F233333' + F333333 'average value or modulation components of F333333' + +save_ + +save_ATOM_SITE_ANHARMONIC_ADP_XHARM + + _definition.id ATOM_SITE_ANHARMONIC_ADP_XHARM + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text +; + Data items in the ATOM_SITE_ANHARMONIC_ADP_XHARM category record + details about the x-harmonics used to describe the modulations of + the anharmonic ADP tensor elements when the atomic domain of a + given atom is restricted by a crenel function. ; - _name.category_id atom_site_displace_ortho - _name.object_id func_id - _name.linked_item_id '_atom_sites_ortho.func_id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_ANHARMONIC_ADP_XHARM + _category_key.name '_atom_site_anharmonic_ADP_xharm.id' save_ -save_atom_site_displace_ortho.id +save_atom_site_anharmonic_adp_xharm.atom_site_label - _definition.id '_atom_site_displace_ortho.id' - _definition.update 2014-06-27 - _description.text + _definition.id + '_atom_site_anharmonic_ADP_xharm.atom_site_label' + _definition.update 2024-05-02 + _description.text ; - - A code identifying each component of the displacive modulation of - a given atom or rigid group when the modulation is expressed in - terms of ortho series. In the case of a rigid group, it - applies only to the translational part of the distortion. + The code the identifies an atom in a loop in which the x-harmonics + components of the tensors that parameterize its anharmonic ADP + modulation are listed. This code must match the _atom_site.label of + the associated coordinate list and conform to the rules described + in _atom_site.label. ; - _name.category_id atom_site_displace_ortho - _name.object_id id - _type.purpose Key - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_xharm + _name.object_id atom_site_label + _name.linked_item_id '_atom_site.label' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_ortho.matrix_seq_id +save_atom_site_anharmonic_adp_xharm.coeff - _definition.id '_atom_site_displace_ortho.matrix_seq_id' - _definition.update 2014-06-27 - _description.text + _definition.id '_atom_site_anharmonic_ADP_xharm.coeff' + _definition.update 2024-05-02 + _description.text ; - - A numeric code identifying the transformation matrix that defines - the arbitrary axes a1, a2 and a3 in terms of the crystallographic axes. - This code must match _atom_sites_axes.matrix_seq_id. + The coefficient, corresponding to the x-harmonic defined by + _atom_site_anharmonic_ADP_xharm.atom_site_label, + _atom_site_anharmonic_ADP_xharm.tens_elem and + _atom_site_anharmonic_ADP_xharm.order. ; - _name.category_id atom_site_displace_ortho - _name.object_id matrix_seq_id - _name.linked_item_id '_atom_sites_axes.matrix_seq_id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_xharm + _name.object_id coeff + _units.code none + + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] save_ -save_ATOM_SITE_DISPLACE_ORTHO_PARAM +save_atom_site_anharmonic_adp_xharm.coeff_su - _definition.id ATOM_SITE_DISPLACE_ORTHO_PARAM - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text + _definition.id '_atom_site_anharmonic_ADP_xharm.coeff_su' + _definition.update 2024-08-02 + _description.text ; - - Data items in the ATOM_SITE_DISPLACE_ORTHO_PARAM category - record details about the coefficients of the orthogonolized - functions defined in ATOM_SITE_DISPLACE_ORTHO and used to - describe the displacive modulation of an atom or rigid group. - In the case of rigid groups, items in this category would - only include the translational part of the modulation. The - rotational part would appear in a separate list of items - belonging to the ATOM_SITE_ROT_ORTHO_PARAM category. - + Standard uncertainty of _atom_site_anharmonic_ADP_xharm.coeff ; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_ORTHO_PARAM - loop_ - _category_key.name '_atom_site_displace_ortho_param.id' + _name.category_id atom_site_anharmonic_ADP_xharm + _name.object_id coeff_su + _name.linked_item_id '_atom_site_anharmonic_ADP_xharm.coeff' + _units.code none + + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_atom_site_displace_ortho_param.coeff +save_atom_site_anharmonic_adp_xharm.id - _definition.id '_atom_site_displace_ortho_param.coeff' - _definition.update 2014-06-27 - _description.text + _definition.id '_atom_site_anharmonic_ADP_xharm.id' + _definition.update 2024-05-02 + _description.text ; - - The coefficient corresponding to the orthogonalized function - Defined by _atom_site_displace_ortho.atom_site_label, - _atom_site_displace_ortho.axis and _atom_site_displace_ortho.func_id. - Atomic or rigid-group displacements must be expressed as fractions - of the unit cell or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the - ATOM_SITES_AXES category, through _atom_site_rot_ortho.matrix_seq_id. + A code identifying each component used to describe the modulation + of the tensors, expressed in terms of x-harmonics, that + parameterize an anharmonic ADP. ; - _name.category_id atom_site_displace_ortho_param - _name.object_id coeff - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 + _name.category_id atom_site_anharmonic_ADP_xharm + _name.object_id id + _type.purpose Key + _type.source Related + _type.container Single + _type.contents Code save_ -save_atom_site_displace_ortho_param.id +save_atom_site_anharmonic_adp_xharm.order - _definition.id '_atom_site_displace_ortho_param.id' - _definition.update 2014-06-27 - _description.text + _definition.id '_atom_site_anharmonic_ADP_xharm.order' + _definition.update 2024-05-02 + _description.text ; - - A code identifying the coefficient of each term present in the - series of orthogonalized functions describing the displacive - modulation of a given atom or rigid group. In the case of a rigid - group, it applies only to the translational part of the - distortion. This code must match _atom_site_displace_ortho.id. + The order of each x-harmonic function. ; - _name.category_id atom_site_displace_ortho_param - _name.object_id id - _name.linked_item_id '_atom_site_displace_ortho.id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_anharmonic_ADP_xharm + _name.object_id order + _type.purpose Number + _type.source Assigned + _type.container Single + _type.contents Integer + _enumeration.range 0: save_ -save_ATOM_SITE_DISPLACE_SPECIAL_FUNC +save_atom_site_anharmonic_adp_xharm.tens_elem - _definition.id ATOM_SITE_DISPLACE_SPECIAL_FUNC - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text + _definition.id '_atom_site_anharmonic_ADP_xharm.tens_elem' + _definition.update 2024-08-06 + _description.text ; + A label identifying the anharmonic ADP tensor elements of a given + atom whose modulation is being parameterized by x-harmonics. +; + _name.category_id atom_site_anharmonic_ADP_xharm + _name.object_id tens_elem + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code - Data items in the ATOM_SITE_DISPLACE_SPECIAL_FUNC category record - details about the displacive modulation of an atom site in a - modulated structure when it is not described by Fourier series. - Special functions are effective in some cases where the - modulations are highly anharmonic, since the number of parameters - is drastically reduced. However, they are in general - discontinuous or with discontinuous derivatives and therefore - these functions describe an ideal situation that never occurs - in a real modulated crystal. Up to now, only a few types of - special functions have been used and all of them come from the - JANA2006 suite of programs (Petricek, Dusek & Palatinus, 2014). - Although this approach is far from - being general, it has the advantage that the functions are - tightly defined and therefore the atomic displacements and - occupations can be calculated easily. In this dictionary, - only the special functions available in JANA2006 have been - included. These are: - (1) Sawtooth functions for the displacive modulation of atoms and - rigid groups. - (2) Zig-Zag functions for the displacive modulation of atoms and - rigid groups. - (3) Crenel functions for the occupational modulation of atoms - and rigid groups. Both of these only apply to - one-dimensional modulated structures. + loop_ + _enumeration_set.state + _enumeration_set.detail + C111 'average value or modulation components of C111' + C112 'average value or modulation components of C112' + C113 'average value or modulation components of C113' + C122 'average value or modulation components of C122' + C123 'average value or modulation components of C123' + C133 'average value or modulation components of C133' + C222 'average value or modulation components of C222' + C223 'average value or modulation components of C223' + C233 'average value or modulation components of C233' + C333 'average value or modulation components of C333' + D1111 'average value or modulation components of D1111' + D1112 'average value or modulation components of D1112' + D1113 'average value or modulation components of D1113' + D1122 'average value or modulation components of D1122' + D1123 'average value or modulation components of D1123' + D1133 'average value or modulation components of D1133' + D1222 'average value or modulation components of D1222' + D1223 'average value or modulation components of D1223' + D1233 'average value or modulation components of D1233' + D1333 'average value or modulation components of D1333' + D2222 'average value or modulation components of D2222' + D2223 'average value or modulation components of D2223' + D2233 'average value or modulation components of D2233' + D2333 'average value or modulation components of D2333' + D3333 'average value or modulation components of D3333' + E11111 'average value or modulation components of E11111' + E11112 'average value or modulation components of E11112' + E11113 'average value or modulation components of E11113' + E11122 'average value or modulation components of E11122' + E11123 'average value or modulation components of E11123' + E11133 'average value or modulation components of E11133' + E11222 'average value or modulation components of E11222' + E11223 'average value or modulation components of E11223' + E11233 'average value or modulation components of E11233' + E11333 'average value or modulation components of E11333' + E12222 'average value or modulation components of E12222' + E12223 'average value or modulation components of E12223' + E12233 'average value or modulation components of E12233' + E12333 'average value or modulation components of E12333' + E13333 'average value or modulation components of E13333' + E22222 'average value or modulation components of E22222' + E22223 'average value or modulation components of E22223' + E22233 'average value or modulation components of E22233' + E22333 'average value or modulation components of E22333' + E23333 'average value or modulation components of E23333' + F111111 'average value or modulation components of F111111' + F111112 'average value or modulation components of F111112' + F111113 'average value or modulation components of F111113' + F111122 'average value or modulation components of F111122' + F111123 'average value or modulation components of F111123' + F111133 'average value or modulation components of F111133' + F111222 'average value or modulation components of F111222' + F111223 'average value or modulation components of F111223' + F111233 'average value or modulation components of F111233' + F111333 'average value or modulation components of F111333' + F112222 'average value or modulation components of F112222' + F112223 'average value or modulation components of F112223' + F112233 'average value or modulation components of F112233' + F112333 'average value or modulation components of F112333' + F113333 'average value or modulation components of F113333' + F122222 'average value or modulation components of F122222' + F122223 'average value or modulation components of F122223' + F122233 'average value or modulation components of F122233' + F122333 'average value or modulation components of F122333' + F123333 'average value or modulation components of F123333' + F133333 'average value or modulation components of F133333' + F222222 'average value or modulation components of F222222' + F222223 'average value or modulation components of F222223' + F222233 'average value or modulation components of F222233' + F222333 'average value or modulation components of F222333' + F223333 'average value or modulation components of F223333' + F233333 'average value or modulation components of F233333' + F333333 'average value or modulation components of F333333' - References: Petricek, V., Dusek, M. & Palatinus, L. (2014). - Z. Kristallogr. 229(5), 345-352. DOI 10.1515/zkri-2014-1737 - Crystallographic Computing System JANA2006: General features +save_ - Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. - Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 - Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system JANA2006 +save_ATOM_SITE_DISPLACE_FOURIER + + _definition.id ATOM_SITE_DISPLACE_FOURIER + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text ; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_SPECIAL_FUNC - loop_ - _category_key.name '_atom_site_displace_special_func.atom_site_label' + Data items in the ATOM_SITE_DISPLACE_FOURIER category record + details about the Fourier components of the displacive modulation + of an atom site in a modulated structure. In the case of rigid + groups, items in this category would only include the + translational part of the modulation. The rotational part would + appear in a separate list of items belonging to the + ATOM_SITE_ROT_FOURIER category. The (in general complex) + coefficients of each Fourier component belong to the child category + ATOM_SITE_DISPLACE_FOURIER_PARAM and may be listed separately. +; + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_DISPLACE_FOURIER + _category_key.name '_atom_site_displace_Fourier.id' + _description_example.case +; + #\#CIF_2.0 + + data_I + + # - - - - data truncated for brevity - - - - + + loop_ + _cell_wave_vector.seq_id + _cell_wave_vector.xyz + 1 [0.00338(6),0.15278(14),-0.0138(3)] + 2 [0.63105(7),1.07460(17),-0.4438(3)] + + loop_ + _atom_site.type_symbol + _atom_site.label + _atom_site.subsystem_code + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.U_iso_or_equiv + _atom_site.adp_type + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.occupancy + _atom_site.disorder_assembly + _atom_site.disorder_group + Sn Sn H 0 0 0 0.01480(12) Uani d . 0.851(2) . . + Cu Cu H 0.0029(9) 0.0057(5) 0.1147(3) 0.0229(11) Uani d . 0.149(2) . . + S S1 H 0.5033(2) 0.84278(12) 0.12342(7) 0.0177(3) Uani d . 1 . . + Pb Pb Q 0.05541(5) 0.24113(4) 0.36783(2) 0.03573(12) Uani d . 0.701(10) . . + Sb Sb Q 0.055408 0.241132 0.367832 0.03573(12) Uani d . 0.299(10) . . + S S2 Q -0.0402(3) 0.2583(2) 0.59639(13) 0.0310(4) Uani d . 1 . . + + loop_ + _atom_site_Fourier_wave_vector.seq_id + _atom_site_Fourier_wave_vector.xyz + _atom_site_Fourier_wave_vector.q_coeff_seq_id + _atom_site_Fourier_wave_vector.q_coeff + 1 [0.00338,0.15278,-0.0138] [1] [1] + 2 [0.63105,1.07460,-0.4438] [2] [1] + 3 [0.00676,0.30556,-0.0276] [1] [2] + 4 [0.01014,0.45834,-0.0414] [1] [2] + 5 [0.01352,0.61112,-0.0552] [1] [2] + 6 [0.63443,1.22738,-0.4576] [1,2] [1,1] + + loop_ + _atom_site_displace_Fourier.id + _atom_site_displace_Fourier.atom_site_label + _atom_site_displace_Fourier.axis + _atom_site_displace_Fourier.wave_vector_seq_id + _atom_site_displace_Fourier_param.cos + _atom_site_displace_Fourier_param.sin + Sn_x_1 Sn x 1 0 -0.00159(16) + Sn_y_1 Sn y 1 0 -0.00481(8) + Sn_z_1 Sn z 1 0 -0.06455(5) + Sn_x_3 Sn x 3 0 0.00004(18) + Sn_y_3 Sn y 3 0 -0.00395(8) + Sn_z_3 Sn z 3 0 -0.00108(5) + Sn_x_4 Sn x 4 0 0.0003(2) + Sn_y_4 Sn y 4 0 -0.00075(10) + Sn_z_4 Sn z 4 0 0.00042(6) + Cu_x_1 Cu x 1 0.0018(11) -0.0012(13) + Cu_y_1 Cu y 1 0.0184(6) -0.0092(6) + Cu_z_1 Cu z 1 -0.0013(4) -0.0611(4) + Sb_x_5 Sb x 5 -0.00129(15) -0.00043(15) + Sb_y_5 Sb y 5 -0.00002(10) 0.00106(10) + Sb_z_5 Sb z 5 0.00023(6) 0.00015(6) + Sb_x_6 Sb x 6 -0.0053(3) 0.0022(3) + Sb_y_6 Sb y 6 0.00496(16) -0.00435(17) + Sb_z_6 Sb z 6 0.00287(9) 0.00189(9) + # - - - - data truncated for brevity - - - - + + #====================================================================== + + Example based on the article: + Michel Evain, Vaclav Petricek, Yves Moelo and Colette Maurel (2006) + Acta Cryst. B62, 775-789. doi:10.1107/S010876810602547X + First (3 + 2)-dimensional superspace approach to the structure of + levyclaudite-(Sb), a member of the cylindrite-type minerals +; + +save_ + +save_atom_site_displace_fourier.atom_site_label + + _definition.id '_atom_site_displace_Fourier.atom_site_label' + _alias.definition_id '_atom_site_displace_Fourier_atom_site_label' + _definition.update 2024-07-31 + _description.text +; + Modulation parameters are usually looped in separate lists. + Modulated parameters are the atom positions (displacive + modulation), the atomic occupation (occupational modulation) + and the isotropic or anisotropic (harmonic or anharmonic) ADPs. + _atom_site_displace_Fourier.atom_site_label is the code that + identifies an atom or rigid group in a loop in which the Fourier + components of its displacive modulation are listed. In the case + of a rigid group, this list would only include the translational + part of its displacive modulation. The rotational part (if any) + would appear in a separate list (see + _atom_site_rot_Fourier.atom_site_label). This code must match + the _atom_site.label of the associated coordinate list and + conform to the rules described in _atom_site.label. +; + _name.category_id atom_site_displace_Fourier + _name.object_id atom_site_label + _name.linked_item_id '_atom_site.label' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ +save_atom_site_displace_fourier.axis -save_atom_site_displace_special_func.atom_site_label + _definition.id '_atom_site_displace_Fourier.axis' + _alias.definition_id '_atom_site_displace_Fourier_axis' + _definition.update 2024-07-27 + _description.text +; + A label identifying the displacement component of a given atom + or rigid group that is being parameterized by Fourier series. a, + b and c are the basic lattice vectors of the reference structure. + For composites they refer to the reference structure of each + subsystem. a~1~, a~2~ and a~3~ are defined by the + items belonging to the ATOM_SITES_AXES category, through + _atom_site_displace_Fourier.matrix_seq_id. + Use of _atom_sites_displace_Fourier.axes_description is DEPRECATED + and retained only for backward compatibility. - _definition.id '_atom_site_displace_special_func.atom_site_label' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_special_func_atom_site_label' - _description.text ; + _name.category_id atom_site_displace_Fourier + _name.object_id axis + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Code - The code that identifies an atom or rigid group in a loop in which - the special function that describes its displacive modulation is being - defined. This code must match the _atom_site.label of the - associated coordinate list and conform to the rules described in - _atom_site.label. + loop_ + _enumeration_set.state + _enumeration_set.detail + x +; + displacement along the a axis +; + y +; + displacement along the b axis +; + z +; + displacement along the c axis +; + a1 +; + displacement along the first axis after applying + _atom_sites_axes.matrix +; + a2 +; + displacement along the second axis after applying + _atom_sites_axes.matrix +; + a3 +; + displacement along the third axis after applying + _atom_sites_axes.matrix ; - _name.category_id atom_site_displace_special_func - _name.object_id atom_site_label - _name.linked_item_id '_atom_site.label' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code save_ -save_atom_site_displace_special_func.matrix_seq_id +save_atom_site_displace_fourier.id - _definition.id '_atom_site_displace_special_func.matrix_seq_id' - _definition.update 2017-09-28 - _description.text + _definition.id '_atom_site_displace_Fourier.id' + _alias.definition_id '_atom_site_displace_Fourier_id' + _definition.update 2014-06-27 + _description.text ; - - A numeric code identifying the transformation matrix that defines - the arbitrary axes a1, a2 and a3 in terms of the crystallographic axes. - This code must match _atom_sites_axes.matrix_seq_id. + A code identifying each component of the displacive modulation of + a given atom or rigid group when the modulation is expressed in + terms of Fourier series. In the case of a rigid group, it + applies only to the translational part of the distortion. ; - _name.category_id atom_site_displace_special_func - _name.object_id matrix_seq_id - _name.linked_item_id '_atom_sites_axes.matrix_seq_id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id atom_site_displace_Fourier + _name.object_id id + _type.purpose Key + _type.source Assigned + _type.container Single + _type.contents Code save_ -save_atom_site_displace_special_func.sawtooth +save_atom_site_displace_fourier.matrix_seq_id - _definition.id '_atom_site_displace_special_func.sawtooth' - _definition.update 2019-04-01 - _description.text -; + _definition.id '_atom_site_displace_Fourier.matrix_seq_id' + _definition.update 2024-08-01 + _name.category_id atom_site_displace_Fourier + _name.object_id matrix_seq_id - _atom_site_displace_special_func_sawtooth_ items are the - adjustable parameters of a sawtooth function. - A displacive sawtooth function along the internal space is - defined as follows: - [ux, uy, uz] = 2* [ax, ay, az] * ((x4-c)/w) + _import.get + [{'file':templ_attr.cif 'save':transf_matrix_id}] - for x4 belonging to the interval [c-(w/2), c+(w/2)], where ax, - ay and az are the amplitudes (maximum displacements) - along each crystallographic axis, w is its width, x4 is the - internal coordinate and c is the centre of the function in - internal space. ux, uy and uz must be expressed in relative - units or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the ATOM_SITES_AXES - category, through _atom_site_displace_special_funcs.matrix_seq_id. - - The use of this function is restricted to - one-dimensional modulated structures. For more details, see - the manual for JANA2006 (Petricek, Dusek & Palatinus, 2014) and - (Petricek, Eigner, Dusek & Cejchan, 2016). In the case of rigid groups, - items in this - category would only include the translational part of the modulation. - The rotational part would appear in a separate list of items belonging - to the ATOM_SITE_ROT_SPECIAL_FUNC category. +save_ - References: Petricek, V., Dusek, M. & Palatinus, L. (2014). - Z. Kristallogr. 229(5), 345-352. DOI 10.1515/zkri-2014-1737 - Crystallographic Computing System JANA2006: General features +save_atom_site_displace_fourier.wave_vector_seq_id - Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. - Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 - Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system JANA2006 + _definition.id + '_atom_site_displace_Fourier.wave_vector_seq_id' + _alias.definition_id + '_atom_site_displace_Fourier_wave_vector_seq_id' + _definition.update 2024-04-28 + _description.text ; - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth - _type.purpose Measurand - _type.source Assigned - _type.container Matrix - _type.contents Real - _type.dimension '[3]' - _enumeration.default [0.0 0.0 0.0] -# JRH notes -# Does the dREL below take into account the use of matrix_seq_id? -# - loop_ - _method.purpose - _method.expression - Evaluation + A numeric code identifying the wave vectors of the Fourier terms + used in the structural model to describe the displacive + modulation of an atom or rigid group. In the case of a rigid + group, it applies only to the translational part of the + distortion. This code must match + _atom_site_Fourier_wave_vector.seq_id. ; - With f as atom_site_displace_special_func - - _atom_site_displace_special_func.sawtooth = [ - - 2 * [f.sawtooth_ax, f.sawtooth_ay, f.sawtooth_az] * - (( f.sawtooth_x4 - f.sawtooth_c) / f.sawtooth_w )] -; + _name.category_id atom_site_displace_Fourier + _name.object_id wave_vector_seq_id + _name.linked_item_id '_atom_site_Fourier_wave_vector.seq_id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Integer save_ -save_atom_site_displace_special_func.sawtooth_axyz +save_ATOM_SITE_DISPLACE_FOURIER_PARAM - _definition.id '_atom_site_displace_special_func.sawtooth_axyz' - _definition.update 2019-04-01 + _definition.id ATOM_SITE_DISPLACE_FOURIER_PARAM + _definition.scope Category + _definition.class Loop + _definition.update 2024-07-31 _description.text ; + Data items in the ATOM_SITE_DISPLACE_FOURIER_PARAM category + record details about the coefficients of the Fourier series + used to describe the displacive modulation of an atom or rigid + group. In the case of rigid groups, items in this category would + only include the translational part of the modulation. The + rotational part would appear in a separate list of items + belonging to the ATOM_SITE_ROT_FOURIER_PARAM category. The + Fourier components are defined in the parent category + ATOM_SITE_DISPLACE_FOURIER. Notice that items in this category + may be listed together with those of the ATOM_SITE_DISPLACE_FOURIER + category. To simplify the description, below is explained the + one-dimensional case. - The vector of amplitudes (maximum displacements) along the a (or a1), - b (or a2) and c (or a3) axis of the sawtooth function described in - _atom_site_displace_special_func.sawtooth -; - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth_axyz - _type.purpose Measurand - _type.source Assigned - _type.container Array - _type.contents Real - _type.dimension '[3]' - _enumeration.default [0.0 0.0 0.0] - loop_ - _method.purpose - _method.expression - Evaluation -; - With s as atom_site_displace_special_func - atom_site_displace_special_func.sawtooth_axyz = - [ s.sawtooth_ax, s.sawtooth_ay, s.sawtooth_az ] -; - -save_ - -save_atom_site_displace_special_func.sawtooth_ax - - _definition.id '_atom_site_displace_special_func.sawtooth_ax' - _definition.update 2017-09-28 - loop_ - _alias.definition_id - '_atom_site_displace_special_func_sawtooth_ax' - _description.text + The displacive distortion of a given atom or rigid group is usually + parameterized by Fourier series. The n-th term of the series commonly + adopts two different representations: the sine-cosine form, + Acn cos(2\\p n x4)+Asn sin(2\\p n x4), + and the modulus-argument form, + |An| cos(2\\p n x4+\\fn), + where x4=q*(r+T)+t. q is the modulation wave vector and r and T + stand for a phase reference position and a lattice translation of + the reference structure, respectively. The phase reference position + can be chosen as the average position of the modulated atom, if + not in a rigid group or, in case of rigid groups a common point + for all atoms in the group. t is an arbitrary phase, irrelevant for + incommensurate modulated structures, but essential in the commensurate + case (see _atom_sites_modulation_global_phase_t_). + + Atomic or rigid-group displacements must be + expressed as fractions, either of the unit cell axes or of the + axes defined by the items belonging to the ATOM_SITES_AXES category, + through _atom_site_displace_Fourier.matrix_seq_id. + + Use of _atom_sites_displace_Fourier.axes_description is DEPRECATED + and retained only for backward compatibility. Notice that in this + case displacements were expressed in angstroms. +; + _name.category_id ATOM_SITE_DISPLACE_FOURIER + _name.object_id ATOM_SITE_DISPLACE_FOURIER_PARAM + _category_key.name '_atom_site_displace_Fourier_param.id' + _description_example.case ; - - The amplitude (maximum displacement) along the a (or a1) axis of the - sawtooth function described in _atom_site_displace_special_func.sawtooth + #\#CIF_2.0 + + data_I + + # - - - - data truncated for brevity - - - - + + loop_ + _cell_wave_vector.seq_id + _cell_wave_vector.xyz + 1 [0.00338(6),0.15278(14),-0.0138(3)] + 2 [0.63105(7),1.07460(17),-0.4438(3)] + + loop_ + _atom_site.type_symbol + _atom_site.label + _atom_site.subsystem_code + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.U_iso_or_equiv + _atom_site.adp_type + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.occupancy + _atom_site.disorder_assembly + _atom_site.disorder_group + Sn Sn H 0 0 0 0.01480(12) Uani d . 0.851(2) . . + Cu Cu H 0.0029(9) 0.0057(5) 0.1147(3) 0.0229(11) Uani d . 0.149(2) . . + S S1 H 0.5033(2) 0.84278(12) 0.12342(7) 0.0177(3) Uani d . 1 . . + Pb Pb Q 0.05541(5) 0.24113(4) 0.36783(2) 0.03573(12) Uani d . 0.701(10) . . + Sb Sb Q 0.055408 0.241132 0.367832 0.03573(12) Uani d . 0.299(10) . . + S S2 Q -0.0402(3) 0.2583(2) 0.59639(13) 0.0310(4) Uani d . 1 . . + + loop_ + _atom_site_Fourier_wave_vector.seq_id + _atom_site_Fourier_wave_vector.xyz + _atom_site_Fourier_wave_vector.q_coeff_seq_id + _atom_site_Fourier_wave_vector.q_coeff + 1 [0.00338,0.15278,-0.0138] [1] [1] + 2 [0.63105,1.07460,-0.4438] [2] [1] + 3 [0.00676,0.30556,-0.0276] [1] [2] + 4 [0.01014,0.45834,-0.0414] [1] [2] + 5 [0.01352,0.61112,-0.0552] [1] [2] + 6 [0.63443,1.22738,-0.4576] [1,2] [1,1] + + loop_ + _atom_site_displace_Fourier.id + _atom_site_displace_Fourier.atom_site_label + _atom_site_displace_Fourier.axis + _atom_site_displace_Fourier.wave_vector_seq_id + Sn_x_1 Sn x 1 + Sn_y_1 Sn y 1 + Sn_z_1 Sn z 1 + Sn_x_3 Sn x 3 + Sn_y_3 Sn y 3 + Sn_z_3 Sn z 3 + Sn_x_4 Sn x 4 + Sn_y_4 Sn y 4 + Sn_z_4 Sn z 4 + Cu_x_1 Cu x 1 + Cu_y_1 Cu y 1 + Cu_z_1 Cu z 1 + Sb_x_5 Sb x 5 + Sb_y_5 Sb y 5 + Sb_z_5 Sb z 5 + Sb_x_6 Sb x 6 + Sb_y_6 Sb y 6 + Sb_z_6 Sb z 6 + + loop_ + _atom_site_displace_Fourier_param.id + _atom_site_displace_Fourier_param.cos + _atom_site_displace_Fourier_param.sin + Sn_x_1 0 -0.00159(16) + Sn_y_1 0 -0.00481(8) + Sn_z_1 0 -0.06455(5) + Sn_x_3 0 0.00004(18) + Sn_y_3 0 -0.00395(8) + Sn_z_3 0 -0.00108(5) + Sn_x_4 0 0.0003(2) + Sn_y_4 0 -0.00075(10) + Sn_z_4 0 0.00042(6) + Cu_x_1 0.0018(11) -0.0012(13) + Cu_y_1 0.0184(6) -0.0092(6) + Cu_z_1 -0.0013(4) -0.0611(4) + Sb_x_5 -0.00129(15) -0.00043(15) + Sb_y_5 -0.00002(10) 0.00106(10) + Sb_z_5 0.00023(6) 0.00015(6) + Sb_x_6 -0.0053(3) 0.0022(3) + Sb_y_6 0.00496(16) -0.00435(17) + Sb_z_6 0.00287(9) 0.00189(9) + + # - - - - data truncated for brevity - - - - + + #====================================================================== + + Example based on the article: + Michel Evain, Vaclav Pericek, Yves Moelo and Colette Maurel (2006) + Acta Cryst. B62, 775-789. doi:10.1107/S010876810602547X + First (3 + 2)-dimensional superspace approach to the structure of + levyclaudite-(Sb), a member of the cylindrite-type minerals +; + +save_ + +save_atom_site_displace_fourier_param.cos + + _definition.id '_atom_site_displace_Fourier_param.cos' + _alias.definition_id '_atom_site_displace_Fourier_param_cos' + _definition.update 2024-08-01 + _description.text ; - - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth_ax - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + The cosine coefficient (Acn) corresponding to the Fourier term defined + by _atom_site_displace_Fourier.atom_site_label, + _atom_site_displace_Fourier.axis and + _atom_site_displace_Fourier.wave_vector.seq_id. ; - With s as atom_site_displace_special_func - - atom_site_displace_special_func.sawtooth_ax = s.sawtooth_axyz[0] -; + _name.category_id atom_site_displace_Fourier_param + _name.object_id cos + _units.code none -save_ - - -save_atom_site_displace_special_func.sawtooth_ay + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] - _definition.id '_atom_site_displace_special_func.sawtooth_ay' - _definition.update 2017-09-28 - loop_ - _alias.definition_id - '_atom_site_displace_special_func_sawtooth_ay' - _description.text + _method.purpose Evaluation + _method.expression ; + With p as atom_site_displace_Fourier_param - The amplitude (maximum displacement) along the b (or a2) axis of the - sawtooth function described in _atom_site_displace_special_func.sawtooth -; - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth_ay - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + _atom_site_displace_Fourier_param.cos = p.modulus*Cos(TwoPi*p.phase) ; - With s as atom_site_displace_special_func - - atom_site_displace_special_func.sawtooth_ay = s.sawtooth_axyz[1] -; - save_ +save_atom_site_displace_fourier_param.cos_su -save_atom_site_displace_special_func.sawtooth_az - - _definition.id '_atom_site_displace_special_func.sawtooth_az' - _definition.update 2017-09-28 - loop_ - _alias.definition_id - '_atom_site_displace_special_func_sawtooth_az' - _description.text -; - - The amplitude (maximum displacement) along the c (or a3) axis of the - sawtooth function described in _atom_site_displace_special_func.sawtooth + _definition.id '_atom_site_displace_Fourier_param.cos_su' + _definition.update 2024-08-01 + _description.text ; - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth_az - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + Standard uncertainty of _atom_site_displace_Fourier_param.cos ; - With s as atom_site_displace_special_func + _name.category_id atom_site_displace_Fourier_param + _name.object_id cos_su + _name.linked_item_id '_atom_site_displace_Fourier_param.cos' + _units.code none - atom_site_displace_special_func.sawtooth_az = s.sawtooth_axyz[2] -; + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ +save_atom_site_displace_fourier_param.id -save_atom_site_displace_special_func.sawtooth_c - - _definition.id '_atom_site_displace_special_func.sawtooth_c' - _definition.update 2017-09-28 - loop_ - _alias.definition_id - '_atom_site_displace_special_func_sawtooth_c' - _description.text + _definition.id '_atom_site_displace_Fourier_param.id' + _alias.definition_id '_atom_site_displace_Fourier_param_id' + _definition.update 2024-07-31 + _description.text ; - - The centre of the sawtooth function described in - _atom_site_displace_special_func.sawtooth + A code identifying the (in general complex) coefficient of each + term present in the Fourier series describing the displacive + modulation of a given atom or rigid group. In the case of a rigid + group, it applies only to the translational part of the + distortion. This code must match _atom_site_displace_Fourier.id. ; - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth_c - _type.purpose Measurand - _type.source Derived - _type.container Single - _type.contents Real - _enumeration.default 0.0 - _enumeration.range 0.0:1.0 + _name.category_id atom_site_displace_Fourier_param + _name.object_id id + _name.linked_item_id '_atom_site_displace_Fourier.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Code save_ +save_atom_site_displace_fourier_param.modulus -save_atom_site_displace_special_func.sawtooth_w - - _definition.id '_atom_site_displace_special_func.sawtooth_w' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_atom_site_displace_special_func_sawtooth_w' - _description.text + _definition.id '_atom_site_displace_Fourier_param.modulus' + _alias.definition_id '_atom_site_displace_Fourier_param_modulus' + _definition.update 2024-08-01 + _description.text ; - - The width of the sawtooth function described in - _atom_site_displace_special_func.sawtooth + The modulus (|An|) of the complex amplitude corresponding to the + Fourier term defined by _atom_site_displace_Fourier.atom_site_label, + _atom_site_displace_Fourier.axis and + _atom_site_displace_Fourier.wave_vector_seq_id. ; - _name.category_id atom_site_displace_special_func - _name.object_id sawtooth_w - _type.purpose Measurand - _type.source Derived - _type.container Single - _type.contents Real - _enumeration.default 0.0 - _enumeration.range 0.0:1.0 -save_ + _name.category_id atom_site_displace_Fourier_param + _name.object_id modulus + _enumeration.range 0.0: + _units.code none -save_atom_site_displace_special_func.zigzag + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] - _definition.id '_atom_site_displace_special_func.zigzag' - _definition.update 2019-04-01 - _description.text + _method.purpose Evaluation + _method.expression ; + With p as atom_site_displace_Fourier_param - _atom_site_displace_special_func.zigzag_ items are the - adjustable parameters of a zigzag function. - A displacive zigzag function along the internal space is - defined as follows: - - 2*[ax,ay,az]*(x4-c)/w for x4 in [c-(w/2),c+(w/2)] - [ux,uy,uz] = - -2*[ax,ay,az]*(x4-c)/w for x4 in [c+1/2-(w/2),c+1/2+(w/2)] + _atom_site_displace_Fourier_param.modulus = Sqrt(p.cos**2 + p.sin**2) +; - where ax,ay and az are the amplitudes (maximum displacements) - along each crystallographic axis, w is its width, x4 is the - internal coordinate and c is the centre of the function in - internal space. ux, uy and uz must be expressed in relative - units or in angstroms if the modulations are referred to some - special axes defined by the items belonging to the ATOM_SITES_AXES - category, through _atom_site_displace_Fourier.matrix_seq_id. - The use of this function is restricted to one-dimensional - modulated structures. For more details, see (Elcoro et al., 2008; - Petricek, Dusek & Palatinus, 2014 and Petricek, Eigner, Dusek - & Cejchan, 2016). In the case of rigid groups, items in this - category would only include the translational part of the modulation. - The rotational part would appear in a separate list of items belonging - to the ATOM_SITE_ROT_SPECIAL_FUNC category. - - References: Luis Elcoro, J.M. Perez-Mato, Karen Friese, Vaclav Petricek, - Tonci Balic-Zunic & Lars Arnskov Olsen (2008) - Acta Cryst. B64, 684-701. doi:10.1107/S0108768108031492 - Modular crystals as modulated structures: the case of the - lillianite homologous series +save_ - Petricek, V., Dusek, M. & Palatinus, L. (2014). - Z. Kristallogr. 229(5), 345-352. DOI 10.1515/zkri-2014-1737 - Crystallographic Computing System JANA2006: General features +save_atom_site_displace_fourier_param.modulus_su - Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. - Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 - Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system - JANA2006 + _definition.id '_atom_site_displace_Fourier_param.modulus_su' + _definition.update 2024-08-01 + _description.text ; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag - _type.purpose Measurand - _type.source Assigned - _type.container Matrix - _type.contents Real - _type.dimension '[3]' - _enumeration.default [0.0 0.0 0.0] - loop_ - _method.purpose - _method.expression - Evaluation + Standard uncertainty of _atom_site_displace_Fourier_param.modulus ; - With f as atom_site_displace_special_func + _name.category_id atom_site_displace_Fourier_param + _name.object_id modulus_su + _name.linked_item_id '_atom_site_displace_Fourier_param.modulus' + _units.code none - atom_site_displace_special_func.zigzag = [ - - 2 * [f.zigzag_ax, f.zigzag_ay, f.zigzag_az] * - (( zigzag_x4 – f.zigzag_c) / f.zigzag_w )] -; + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_atom_site_displace_special_func.zigzag_axyz - - _definition.id '_atom_site_displace_special_func.zigzag_axyz' - _definition.update 2019-04-01 - _description.text -; +save_atom_site_displace_fourier_param.phase - The vector of amplitudes (maximum displacements) along the a (or a1), - b (or a2) and c (or a3) axis of the zigzag function described in - _atom_site_displace_special_func.zigzag + _definition.id '_atom_site_displace_Fourier_param.phase' + _alias.definition_id '_atom_site_displace_Fourier_param_phase' + _definition.update 2024-08-01 + _description.text ; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag_axyz - _type.purpose Measurand - _type.source Assigned - _type.container Array - _type.contents Real - _type.dimension '[3]' - _enumeration.default [0.0 0.0 0.0] - loop_ - _method.purpose - _method.expression - Evaluation + The phase (\fn/2\\p), in cycles, of the complex amplitude corresponding + to the Fourier term defined by _atom_site_displace_Fourier.atom_site_label, + _atom_site_displace_Fourier.axis and + _atom_site_displace_Fourier.wave_vector_seq_id. ; - With s as atom_site_displace_special_func - atom_site_displace_special_func.zigzag_axyz = - [ s.zigzag_ax, s.zigzag_ay, s.zigzag_az ] -; - -save_ + _name.category_id atom_site_displace_Fourier_param + _name.object_id phase + _enumeration.range -1.0:1.0 + _units.code cycles -save_atom_site_displace_special_func.zigzag_ax + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] - _definition.id '_atom_site_displace_special_func.zigzag_ax' - _definition.update 2014-06-27 - _description.text + _method.purpose Evaluation + _method.expression ; + With p as atom_site_displace_Fourier_param - The amplitude (maximum displacement) along the a (or a1) axis of the - zigzag function described in _atom_site_displace_special_func.zigzag -; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag_ax - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + _atom_site_displace_Fourier_param.phase = Phase(Complex(p.cos,-p.sin))/TwoPi ; - With s as atom_site_displace_special_func - - atom_site_displace_special_func.zigzag_ax = s.zigzag_axyz[0] -; save_ -save_atom_site_displace_special_func.zigzag_ay +save_atom_site_displace_fourier_param.phase_su - _definition.id '_atom_site_displace_special_func.zigzag_ay' - _definition.update 2014-06-27 - _description.text -; - - The amplitude (maximum displacement) along the b (or a2) axis of the - zigzag function described in _atom_site_displace_special_func.zigzag + _definition.id '_atom_site_displace_Fourier_param.phase_su' + _definition.update 2024-08-01 + _description.text ; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag_ay - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + Standard uncertainty of _atom_site_displace_Fourier_param.phase ; - With s as atom_site_displace_special_func + _name.category_id atom_site_displace_Fourier_param + _name.object_id phase_su + _name.linked_item_id '_atom_site_displace_Fourier_param.phase' + _units.code cycles - atom_site_displace_special_func.zigzag_ay = s.zigzag_axyz[1] -; + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_atom_site_displace_special_func.zigzag_az - - _definition.id '_atom_site_displace_special_func.zigzag_az' - _definition.update 2014-06-27 - _description.text -; +save_atom_site_displace_fourier_param.sin - The amplitude (maximum displacement) along the c (or a3) axis of the - zigzag function described in _atom_site_displace_special_func.zigzag + _definition.id '_atom_site_displace_Fourier_param.sin' + _alias.definition_id '_atom_site_displace_Fourier_param_sin' + _definition.update 2024-08-01 + _description.text ; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag_az - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - loop_ - _method.purpose - _method.expression - Evaluation + The sine coefficient (Asn) corresponding to the Fourier term defined + by _atom_site_displace_Fourier.atom_site_label, + _atom_site_displace_Fourier.axis, and + _atom_site_displace_Fourier.wave_vector_seq_id. ; - With s as atom_site_displace_special_func + _name.category_id atom_site_displace_Fourier_param + _name.object_id sin + _units.code none - atom_site_displace_special_func.zigzag_az = s.zigzag_axyz[2] -; - -save_ - -save_atom_site_displace_special_func.zigzag_c + _import.get + [{'file':templ_attr.cif 'save':general_mod_param}] - _definition.id '_atom_site_displace_special_func.zigzag_c' - _definition.update 2014-06-27 - _description.text + _method.purpose Evaluation + _method.expression ; + With p as atom_site_displace_Fourier_param - The centre of the zigzag function described in - _atom_site_displace_special_func.zigzag + _atom_site_displace_Fourier_param.sin = -p.modulus*Sin(TwoPi*p.phase) ; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag_c - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - _enumeration.range 0.0:1.0 - save_ -save_atom_site_displace_special_func.zigzag_w +save_atom_site_displace_fourier_param.sine_su - _definition.id '_atom_site_displace_special_func.zigzag_w' - _definition.update 2014-06-27 - _description.text + _definition.id '_atom_site_displace_Fourier_param.sine_su' + _definition.update 2024-08-01 + _description.text ; - - The width of the zigzag function described in - _atom_site_displace_special_func.zigzag + Standard uncertainty of _atom_site_displace_Fourier_param.sin ; - _name.category_id atom_site_displace_special_func - _name.object_id zigzag_w - _type.purpose Measurand - _type.source Assigned - _type.container Single - _type.contents Real - _enumeration.default 0.0 - _enumeration.range 0.0:1.0 + _name.category_id atom_site_displace_Fourier_param + _name.object_id sin_su + _name.linked_item_id '_atom_site_displace_Fourier_param.sin' + _units.code none + + _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_ATOM_SITE_DISPLACE_XHARM +save_ATOM_SITE_DISPLACE_LEGENDRE - _definition.id ATOM_SITE_DISPLACE_XHARM - _definition.scope Category - _definition.class Loop - _definition.update 2024-05-17 - _description.text + _definition.id ATOM_SITE_DISPLACE_LEGENDRE + _definition.scope Category + _definition.class Loop + _definition.update 2024-08-09 + _description.text ; - - The set of harmonic functions used in the Fourier series describing the - Modulation functions is orthogonal and complete in the interval [0,1). - However within of the x4 interval defined by a Crenel function orthogonality + The set of harmonic functions used in the Fourier series describing the + Modulation functions is orthogonal and complete in the interval [0,1). + However within the x4 interval defined by a Crenel function orthogonality is no longer preserved and therefore the Fourier coefficients are correlated and the refinement becomes fragile. There are several ways to avoid this technical problem (see Petricek et al., 2016). One of them is to use orthogonal or orthogonalized sets of functions defined within the Crenel - interval. This procedure is more robust than the orthogonalization of harmonics - described in *_ORTHO. categories. Moreover these sets of functions are - complete. Two different sets of orthogonal or orthogonalized functions have - been implemented in JANA2006: Legendre polynomials and the so-called - x-harmonics. x-harmonic functions are defined from the set (Petricek, Eigner, - Dusek & Cejchan, 2016): + interval. This procedure is more robust than the orthogonalization of harmonics + described in *_ORTHO. categories. Moreover these sets of functions are + complete. Two different sets of orthogonal or orthogonalized functions have + been implemented in the package JANA (Petricek et al., 2016, Petricek et al., + 2023): Legendre polynomials and the so-called x-harmonics. Legendre + polynomials are orthogonal in the Crenel interval and can be easily + calculated by the recurrence relation: - {1, x, sin(\p x), cos(\p x), ... , sin(n\p x), cos(n\p x)} + P~0~(x) = 1 + P~1~(x) = x + (n+1)P~n+1~(x) = (2n+1)x P~n~(x) - nP~n-1~(x) - and a subsequent orthogonalization (see the above reference and the - supplementary material) owing to the presence of x which is not orthogonal to - sin(n\p x) (for any n). Notice that x-harmonics are restricted to one- - dimensional cases and include as a particular case the sawtooth modulation. + Notice that Legendre polynomials are restricted to one-dimensional cases and + include as a particular case the sawtooth modulation. - Data items in the ATOM_SITE_DISPLACE_XHARM category record details about the - x-harmonic functions used to describe the displacive modulations when the - atomic domain of a given atom is restricted by a crenel function. In the case - of rigid groups, items in this category would only include the translational - part of the modulation. The rotational part would appear in a separate list of - items belonging to the ATOM_SITE_ROT_XHARM category. The coefficients of each - x-harmonic function belong to the category ATOM_SITE_DISPLACE_XHARM_PARAM and - are listed separately. + Data items in the ATOM_SITE_DISPLACE_LEGENDRE category record + details about the Legendre polynomials used to describe the displacive + modulations when the atomic domain of a given atom is restricted + by a Crenel function. In the case of rigid groups, items in this category would + only include the translational part of the modulation. The rotational + part would appear in a separate list of items belonging to the + ATOM_SITE_ROT_LEGENDRE category. + + Atomic or rigid-group displacements must be expressed as fractions, + either of the unit cell axes or of the axes defined by the items + belonging to the ATOM_SITES_AXES category, through + _atom_site_displace_Legendre.matrix_seq_id. References: Petricek, V., Van Der Lee & Evain, M. (1995). Acta Cryst. A51, 529-535. DOI 10.1107/S0108767395000365 - On the Use of Crenel Functions for Occupationally Modulated - Structures - - Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. - Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 - Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system JANA2006 -; - _name.category_id CIF_MS_HEAD - _name.object_id ATOM_SITE_DISPLACE_XHARM - loop_ - _category_key.name '_atom_site_displace_xharm.id' - -save_ + On the Use of Crenel Functions for Occupationally Modulated + Structures -save_atom_site_displace_xharm.atom_site_label + Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. + Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 + Discontinuous modulation functions and their application for + analysis of modulated structures with the computing system JANA2006 - _definition.id '_atom_site_displace_xharm.atom_site_label' - _definition.update 2014-06-27 - _description.text + Petricek, V., Palatinus, L., Plasil, J. & Dusek, M. (2023). + Z. Kristallogr. 238(7-8), 271-282. DOI 10.1515/zkri-2023-0005 + Jana2020 - a new version of the crystallographic computing + system Jana ; - - Modulation parameters are usually looped in separate lists. - Modulated parameters are the atom positions (displacive - modulation), the atomic occupation (occupational modulation) - and/or the anisotropic (or isotropic) ADP. - _atom_site_displace_xharm.atom_site_label is the code that identifies - an atom or rigid group in a loop in which the x-harmonics components - of its displacive modulation are listed. In the case of a rigid group, - this list would only include the translational part of its displacive - modulation. The rotational part (if any) would appear in a separate list - (see _atom_site_rot_xharm.atom_site_label). This code must match the - _atom_site.label of the associated coordinate list and conform to the - rules described in _atom_site.label. -; - _name.category_id atom_site_displace_xharm - _name.object_id atom_site_label - _name.linked_item_id '_atom_site.label' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code + _name.category_id CIF_MS_HEAD + _name.object_id ATOM_SITE_DISPLACE_LEGENDRE + _category_key.name '_atom_site_displace_Legendre.id' + _description_example.case +; + #\#CIF_2.0 + + # - - - - data truncated for brevity - - - - + + _cell.modulation_dimension 1 + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site.label + _atom_site.type_symbol + _atom_site.fract_x + _atom_site.fract_y + _atom_site.fract_z + _atom_site.adp_type + _atom_site.U_iso_or_equiv + _atom_site.symmetry_multiplicity + _atom_site.occupancy + _atom_site.calc_flag + _atom_site.refinement_flags_posn + _atom_site.disorder_assembly + _atom_site.disorder_group + Sr Sr 0 0 0 Uani 0.0097(3) 4 0.225 d . . . + Bi Bi 0 0 0 Uani 0.0097(3) 8 0.075 d . . . + Fe Fe 0 0 0 Uani 0.0097(3) 4 0.125 d . . . + O1 O 0 0.451(3) 0 Uiso 0.024(3) 4 0.375 d . . . + O2 O 0.238(4) 0.243(3) 0.266(4) Uiso 0.018(3) 8 0.1375 d . . . + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_occ_special_func.atom_site_label + _atom_site_occ_special_func.crenel_c + _atom_site_occ_special_func.crenel_w + Sr 0.75 0.225 + Bi 0.9 0.075 + Fe 0 0.125 + O1 0.25 0.375 + O2 -0.0080(15) 0.1375 + + # - - - - data truncated for brevity - - - - + + loop_ + _atom_site_displace_legendre.id + _atom_site_displace_legendre.atom_site_label + _atom_site_displace_legendre.axis + _atom_site_displace_legendre.order + _atom_site_displace_legendre.coeff + O1_L_x_1 O1 x 1 0.180(6) + O1_L_y_1 O1 y 1 0 + O1_L_z_1 O1 z 1 0.000(6) + O1_L_x_2 O1 x 2 0 + O1_L_y_2 O1 y 2 -0.070(6) + O1_L_z_2 O1 z 2 0 + O1_L_x_3 O1 x 3 0.262(9) + # - - - - data truncated for brevity - - - - + + #====================================================================== + + Example based on the article: + Luis Elcoro, Olivier P\'erez, J. M. Perez-Mato and V\'aclav + Pet\ 3. ; - _name.category_id CIF_MS_HEAD - _name.object_id SPACE_GROUP_SYMOP - _category_key.name '_space_group_symop.ssg_id' - -save_ + _name.category_id CIF_MS_HEAD + _name.object_id SPACE_GROUP_SYMOP + _category_key.name '_space_group_symop.ssg_id' + _description_example.case +; + #\#CIF_2.0 + # - - - - data truncated for brevity - - - - -save_space_group_symop.ssg_id + _space_group.crystal_system trigonal + _space_group.ssg_name 'R-3m(00\g)0s' - _definition.id '_space_group_symop.ssg_id' - _definition.update 2014-06-27 loop_ - _alias.definition_id - '_space_group_symop_ssg_id' - _description.text + _space_group_symop.ssg_id + _space_group_symop.ssg_operation_algebraic + 1 x1,x2,x3,x4 + 2 -x2,x1-x2,x3,x4 + 3 -x1+x2,-x1,x3,x4 + 4 x2,x1,-x3,-x4+1/2 + 5 x1-x2,-x2,-x3,-x4+1/2 + 6 -x1,-x1+x2,-x3,-x4+1/2 + 7 -x1,-x2,-x3,-x4 + 8 x2,-x1+x2,-x3,-x4 + 9 x1-x2,x1,-x3,-x4 + 10 -x2,-x1,x3,x4+1/2 + 11 -x1+x2,x2,x3,x4+1/2 + 12 x1,x1-x2,x3,x4+1/2 + 13 x1+2/3,x2+1/3,x3+1/3,x4 + 14 -x2+2/3,x1-x2+1/3,x3+1/3,x4 + 15 -x1+x2+2/3,-x1+1/3,x3+1/3,x4 + 16 x2+2/3,x1+1/3,-x3+1/3,-x4+1/2 + 17 x1-x2+2/3,-x2+1/3,-x3+1/3,-x4+1/2 + 18 -x1+2/3,-x1+x2+1/3,-x3+1/3,-x4+1/2 + 19 -x1+2/3,-x2+1/3,-x3+1/3,-x4 + + # - - - - data truncated for brevity - - - - + + #======================================================================= + + Example based on the article: + O. Gourdon, V. Petricek, M. Dusek, P. Bezdicka, S. Durovic, D. Gyepesovad and M. Evain (1999) + Acta Cryst. B55, 841-848. doi:10.1107/S0108768199006485 + Determination of the modulated structure of Sr~14/11~CoO~3~ through a (3 + 1)-dimensional + space description and using non-harmonic ADPs ; +save_ + +save_space_group_symop.ssg_id + + _definition.id '_space_group_symop.ssg_id' + _alias.definition_id '_space_group_symop_ssg_id' + _definition.update 2014-06-27 + _description.text +; A numeric code identifying each entry in the _space_group_symop_ssg_operation_algebraic list. ; - _name.category_id space_group_symop - _name.object_id ssg_id - _type.purpose Key - _type.source Assigned - _type.container Single - _type.contents Code + _name.category_id space_group_symop + _name.object_id ssg_id + _type.purpose Key + _type.source Assigned + _type.container Single + _type.contents Code save_ - save_space_group_symop.ssg_operation_algebraic - _definition.id '_space_group_symop.ssg_operation_algebraic' - _definition.update 2014-06-27 - loop_ - _alias.definition_id - '_space_group_symop_ssg_operation_algebraic' - _description.text + _definition.id '_space_group_symop.ssg_operation_algebraic' + _alias.definition_id '_space_group_symop_ssg_operation_algebraic' + _definition.update 2014-06-27 + _description.text ; - A parsable string giving one of the symmetry operations of the superspace group in algebraic form. These data will generally be repeated in a loop. Use symbols as necessary according to @@ -12611,262 +17926,345 @@ save_space_group_symop.ssg_operation_algebraic _space_group_symop_ssg_operation_algebraic must always be present in a CIF corresponding to a modulated structure. ; - _name.category_id space_group_symop - _name.object_id ssg_operation_algebraic - _type.purpose Composite - _type.source Assigned - _type.container Single - _type.contents Code - loop_ - _description_example.case - "x1,-x2,x3,1/2+x4" - -save_ - -save_geom_angle.distances - -_definition.id '_geom_angle.distances' -_definition.update 2019-04-01 -_description.text -; - The pair of distances between sites 1 - 2 and 2 - 3. -; -_name.category_id geom_angle -_name.object_id distances -_type.purpose Measurand -_type.source Derived -_type.container List -_type.contents Real -_type.dimension '[2]' -_units.code angstroms - -save_ - -save_geom_angle.value - -_definition.id '_geom_angle.value' -_definition.update 2016-11-17 -_description.text -; - Angle defined by the atoms located at atom_site_x/site_symmetry_x for - x = 1,2,3. The vertex atom is at site x = 2. -; -_name.category_id geom_angle -_name.object_id value -_type.purpose Measurand -_type.source Derived -_type.container Single -_type.contents Real -_enumeration.range -180.:180. -_units.code degrees - -save_ - -save_geom_angle.value_su - -_definition.id '_geom_angle.value_su' -loop_ - _alias.definition_id - '_geom_angle_su' - '_geom_angle.value_esd' -_definition.update 2016-11-17 -_description.text -; - Standard Uncertainty of the - angle defined by the sites identified by _geom_angle.id -; -_name.category_id geom_angle -_name.object_id value_su -_name.linked_item_id '_geom_angle.value' -_type.purpose SU -_type.source Related -_type.container Single -_type.contents Real -_units.code degrees - -save_ - -save_geom_bond.distance - -_definition.id '_geom_bond.distance' -loop_ - _alias.definition_id - '_geom_bond_distance' - '_geom_bond.dist' -_definition.update 2012-12-14 -_description.text -; - Intramolecular bond distance between the sites identified -; -_name.category_id geom_bond -_name.object_id distance -_type.purpose Measurand -_type.source Derived -_type.container Single -_type.contents Real -_enumeration.range 0.: -_units.code angstroms - -save_ - -save_geom_bond.distance_su - -_definition.id '_geom_bond.distance_su' -loop_ - _alias.definition_id - '_geom_bond.distance_su' - '_geom_bond_distance_su' - '_geom_bond.dist_esd' -_definition.update 2012-12-14 -_description.text -; - Standard Uncertainty of the intramolecular bond distance - between the sites identified by _geom_bond.id -; -_name.category_id geom_bond -_name.object_id distance_su -_name.linked_item_id '_geom_bond.distance' -_type.purpose SU -_type.source Related -_type.container Single -_type.contents Real -_enumeration.range 0.: -_units.code angstroms - -save_ - - - -save_geom_contact.distance - -_definition.id '_geom_contact.distance' -loop_ - _alias.definition_id - '_geom_contact_distance' - '_geom_contact.dist' -_definition.update 2016-11-17 -_description.text -; - Intermolecular distance between the atomic sites -; -_name.category_id geom_contact -_name.object_id distance -_type.purpose Measurand -_type.source Derived -_type.container Single -_type.contents Real -_enumeration.range 0.: -_units.code angstroms -save_ - -save_geom_contact.distance_su - -_definition.id '_geom_contact.distance_su' -loop_ - _alias.definition_id - '_geom_contact.distance_su' - '_geom_contact_distance_su' - '_geom_contact.dist_esd' -_definition.update 2012-12-14 -_description.text -; - Standard Uncertainty of the intermolecular distance between - the atomic sites identified by _geom_contact.id -; -_name.category_id geom_contact -_name.object_id distance_su -_name.linked_item_id '_geom_contact.distance' -_type.purpose SU -_type.source Related -_type.container Single -_type.contents Real -_enumeration.range 0.: -_units.code angstroms - -save_ - -save_geom_torsion.angle - -_definition.id '_geom_torsion.angle' -loop_ - _alias.definition_id - '_geom_torsion' - '_geom_torsion.value' -_definition.update 2019-07-25 -_description.text -; - Angle defined by the sites identified by _geom_torsion.id. - The torsion-angle definition should be that of Klyne and Prelog. - The vector direction *_label_2 to *_label_3 is the viewing - direction, and the torsion angle is the angle of twist required - to superimpose the projection of the vector between site 2 and - site 1 onto the projection of the vector between site 3 and - site 4. Clockwise torsions are positive, anticlockwise torsions - are negative. - Ref: Klyne, W. & Prelog, V. (1960). Experientia, 16, 521-523. -; -_name.category_id geom_torsion -_name.object_id angle -_type.purpose Measurand -_type.source Derived -_type.container Single -_type.contents Real -_enumeration.range -180.:180. -_units.code degrees - + _name.category_id space_group_symop + _name.object_id ssg_operation_algebraic + _type.purpose Composite + _type.source Assigned + _type.container Single + _type.contents Code + save_ -save_geom_torsion.angle_su - -_definition.id '_geom_torsion.angle_su' -loop_ - _alias.definition_id - '_geom_torsion.angle_su' - '_geom_torsion_su' - '_geom_torsion.value_esd' -_definition.update 2012-11-22 -_description.text -; - Standard Uncertainty of the torsion angle. -; -_name.category_id geom_torsion -_name.object_id angle_su -_name.linked_item_id '_geom_torsion.angle' -_type.purpose SU -_type.source Related -_type.container Single -_type.contents Real -_units.code degrees + loop_ + _dictionary_audit.version + _dictionary_audit.date + _dictionary_audit.revision + 3.0.0 2014-06-27 +; + Initial conversion to DDLm (Syd Hall) +; + 3.1.0 2016-11-17 +; + Substantial edits to conform to current DDLm, CIF2 syntax (James Hester). +; + 3.2.0 2017-03-11 +; + Returned all additional indices to main dictionary, removed category_id + from templates(James Hester) +; + 3.2.1 2019-09-25 +; + Corrected a typo in the definition of the _geom_torsion.angle data item. + + Changed the content type of multiple data items from 'Count' to 'Integer' + and assigned the appropriate enumeration range if needed. +; + 3.2.2 2022-01-15 +; + Corrected some typos in *.id data items, they included a trailing blank. + Changed save_save_geom_angle.site_ssg_symmetry_1 to + save_geom_angle.site_ssg_symmetry_1 + Changed _atom_site_sites_axes.matrix_seq_id to _atom_sites_axes.matrix_seq_id +; + 3.2.3 2023-07-08 +; + Added for completitude _atom_site_rot_Fourier.id as the key for the category + _ATOM_SITE_ROT_FOURIER. +; + 3.2.4 2024-12-12 +; + Added for back compatibility: + + _cell.commen_supercell_matrix_1_1 to _cell.commen_supercell_matrix_3_3. + Aliased to _jana_cell_commen_supercell_matrix_ tags. + + _atom_site_Fourier_wave_vector.q1_coeff to _atom_site_Fourier_wave_vector.q3_coeff + (These tgas are also present in cif_mag.dic) + Aliased to _jana_atom_site_Fourier_wave_vector_q1_coeff, etc. + + Added the aliases: + + _jana_atom_site_crenel_ortho_func_c + _jana_atom_site_crenel_ortho_func_eps + _jana_atom_site_crenel_ortho_func_w + _jana_atom_site_displace_crenel_ortho_atom_site_label + _jana_atom_site_displace_crenel_ortho_axis + _jana_atom_site_displace_crenel_ortho_id + _jana_atom_site_displace_crenel_ortho_param_coeff + _jana_atom_site_displace_Legendre_atom_site_label + _jana_atom_site_displace_Legendre_axis + _jana_atom_site_displace_Legendre_param_order + _jana_atom_site_displace_Legendre_param_coeff + _jana_atom_site_occ_crenel_ortho_atom_site_label + _jana_atom_site_occ_crenel_ortho_id + _jana_atom_site_occ_crenel_ortho_param_coeff + _jana_atom_site_occ_Legendre_atom_site_label + _jana_atom_site_occ_Legendre_param_order + _jana_atom_site_occ_Legendre_param_coeff + _jana_atom_site_U_crenel_ortho_atom_site_label + _jana_atom_site_U_crenel_ortho_tens_elem + _jana_atom_site_U_crenel_ortho_id + _jana_atom_site_U_crenel_ortho_param_coeff + _jana_atom_site_U_Legendre_atom_site_label + _jana_atom_site_U_Legendre_tens_elem + _jana_atom_site_U_Legendre_param_order + _jana_atom_site_U_Legendre_param_coeff + _jana_atom_site_displace_XHarm_site_label + _jana_atom_site_displace_XHarm_axis + _jana_atom_site_displace_XHarm_param_order + _jana_atom_site_displace_XHarm_param_coeff + _jana_atom_site_occ_XHarm_atom_site_label + _jana_atom_site_occ_XHarm_param_order + _jana_atom_site_occ_XHarm_param_coeff + _jana_atom_site_U_XHarm_atom_site_label + _jana_atom_site_U_XHarm_tens_elem + _jana_atom_site_U_XHarm_param_order + _jana_atom_site_U_XHarm_param_coeff + + Added units (cycles) to: + + _atom_site_displace_special_func.sawtooth_c + _atom_site_displace_special_func.sawtooth_w + _atom_site_displace_special_func.zigzag_c + _atom_site_displace_special_func.zigzag_w + _atom_site_occ_special_func.crenel_c + _atom_site_occ_special_func.crenel_w + _atom_sites_modulation.global_phase_list + _atom_sites_modulation.global_phase_t_ + + Added units (none) to: + + _atom_site_displace_Fourier_param.cos + _atom_site_displace_Fourier_param.modulus + _atom_site_displace_Fourier_param.sin + _atom_site_displace_Legendre.coeff + _atom_site_displace_special_func.sawtooth + _atom_site_displace_special_func.sawtooth_axyz + _atom_site_displace_special_func.sawtooth_ax + _atom_site_displace_special_func.sawtooth_ay + _atom_site_displace_special_func.sawtooth_az + _atom_site_displace_special_func.zigzag_axyz + _atom_site_displace_xharm.coeff + _atom_site_occ_Fourier_param.cos + _atom_site_occ_Fourier_param.modulus + _atom_site_occ_Fourier_param.sin + _atom_site_occ_Legendre.coeff + _atom_site_occ_xharm.coeff + _atom_site_phason.coeff OJO + _cell_wave_vector.x + _cell_wave_vector.xyz + _cell_wave_vector.y + _cell_wave_vector.z + + Added the SU items: + + _atom_site_displace_Fourier_param.cos_su + _atom_site_displace_Fourier_param.modulus_su + _atom_site_displace_Fourier_param.sin_su + _atom_site_displace_Legendre.coeff_su + _atom_site_displace_ortho.coeff_su + _atom_site_displace_special_func.sawtooth_su + _atom_site_displace_special_func.sawtooth_axyz_su + _atom_site_displace_special_func.sawtooth_ax_su + _atom_site_displace_special_func.sawtooth_ay_su + _atom_site_displace_special_func.sawtooth_az_su + _atom_site_displace_special_func.sawtooth_c_su + _atom_site_displace_special_func.sawtooth_w_su + _atom_site_displace_special_func.zigzag_axyz_su + _atom_site_displace_special_func.zigzag_c_su + _atom_site_displace_special_func.zigzag_w_su + _atom_site_displace_xharm.coeff_su + _atom_site_occ_Fourier_param.cos_su + _atom_site_occ_Fourier_param.modulus_su + _atom_site_occ_Fourier_param.sin_su + _atom_site_occ_Legendre.coeff_su + _atom_site_occ_ortho.coeff_su + _atom_site_occ_special_func.crenel_c_su + _atom_site_occ_special_func.crenel_w_su + _atom_site_occ_xharm.coeff_su + _atom_site_phason.coeff_su OJO + _atom_site_rot_Fourier_param.cos_su + _atom_site_rot_Fourier_param.modulus_su + _atom_site_rot_Fourier_param.sin_su + _atom_site_rot_Legendre.coeff_su + _atom_site_rot_ortho.coeff_su + _atom_site_rot_special_func.sawtooth_su + _atom_site_rot_special_func.sawtooth_axyz_su + _atom_site_rot_special_func.sawtooth_ax_su + _atom_site_rot_special_func.sawtooth_ay_su + _atom_site_rot_special_func.sawtooth_az_su + _atom_site_rot_special_func.sawtooth_c_su + _atom_site_rot_special_func.sawtooth_w_su + _atom_site_rot_special_func.zigzag_axyz_su + _atom_site_rot_special_func.zigzag_c_su + _atom_site_rot_special_func.zigzag_w_su + _atom_site_rot_xharm.coeff_su + _atom_site_U_Fourier_param.cos_su + _atom_site_U_Fourier_param.modulus_su + _atom_site_U_Fourier_param.sin_su + _atom_site_U_Legendre.coeff_su + _atom_site_U_ortho.coeff_su + _atom_site_U_xharm.coeff_su + _cell_wave_vector.x_su + _cell_wave_vector.xyz_su + _cell_wave_vector.y_su + _cell_wave_vector.z_su + _cell_wave_vectors.pressure_max_su + _cell_wave_vectors.pressure_min_su + _cell_wave_vectors.temp_max_su + _cell_wave_vectors.temp_min_su + _geom_angle.av_su + _geom_angle.max_su + _geom_angle.min_su + _geom_bond.distance_av_su + _geom_bond.distance_max_su + _geom_bond.distance_min_su + _geom_contact.distance_av_su + _geom_contact.distance_max_su + _geom_contact.distance_min_su + _geom_torsion.av_su + _geom_torsion.max_su + _geom_torsion.min_su + + Added a complete description (including modulation) of the Gram-Charlier + expansion (up to 6th order) describing anharmonic ADPs. Too long + to list here. + + Examples added to categories: + + ATOM_SITE_DISPLACE_FOURIER + ATOM_SITE_DISPLACE_LEGENDRE + ATOM_SITE_DISPLACE_ORTHO + ATOM_SITE_OCC_FOURIER + ATOM_SITE_ROT_FOURIER + ATOM_SITE_U_FOURIER + + 2024-04-28: + Removed _enumeration_default for _atom_site_Fourier_wave_vector.seq_id. + It is a key for loops of the category _ATOM_SITE_FOURIER_WAVE_VECTOR, + so it must be always present. + + Where appropriate, _type.contents of numeric codes, changed from Code + to Integer. + + Added the average, maximum and minimum distances within the categories + GEOM_ANGLE and GEOM_TORSION. + + 2024-04-29: + Added _atom_site_Fourier_wave_vector.q1_coeff_seq_id, + _atom_site_Fourier_wave_vector.q2_coeff_seq_id and + _atom_site_Fourier_wave_vector.q3_coeff_seq_id + + Without these items _atom_site_Fourier_wave_vector.q1_coeff, etc. are + sensitive to the order of _cell_wave_vector_ irrespective of the + values of _cell_wave_vector_seq_id. + + 2024-05-05: + _name.object_id changed in some data names belonging to the GEOM_ + categories, according to the definitions in cif_core. + + Extended to 8, for consistency, the number of components in + _atom_site_Fourier_wave_vector.q_coeff_seq_id and + _atom_site_Fourier_wave_vector.q_coeff. + + 2024-05-06: + Revision of the examples syntax. + + 2024-07-26: + Revision of methods syntax + Minor updates of some tags. _definition.update modified in + templ_attr.cif file. + + 2024-07-27: + Revision of the definitions of transformed axes for translations and + rotations + + Added GEOM_HBOND category. + + 2024-07-28: + Added category.id to the individual elements of the W matrix, as it has + been removed from templ_attr.cif (1.4.11) + + Modified the functions Sawtooth and Zigzag, to cover translations and + rotations + + 2024-07-31: + Added _import.get [{"file":'templ_attr.cif' "save":'general_su'}] to + all single SU items. + + Common attributes of *.matrix_seq_id items included in templ_attr.cif + file, in save_transf_matrix_id + + Common attributes of modulation parameters items included in + templ_attr.cif file, in save_general_mod_param + + Large rewording of _description.text of many items to avoid excesive + verbosity. + + Modified the definitions of GEOM_HBOND category, according the the core. + + 2024-08-01: + Deployment of the new save frames of templ_attr.cif. + + 2024-08-06: + Added the categories: + ATOM_SITE_ANHARMONIC_ADP + ATOM_SITE_ANHARMONIC_ADP_FOURIER + ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM + ATOM_SITE_ANHARMONIC_ADP_LEGENDRE + ATOM_SITE_ANHARMONIC_ADP_ORTHO + ATOM_SITE_ANHARMONIC_ADP_XHARM + + Common attributes of *.ssg_symmetry_ items included in templ_attr.cif + file, in save_site_ssg_symmetry + + Common attributes of _atom_site_Fourier_wave_vector.q_coeff and + _atom_site_Fourier_wave_vector.q_coeff_seq_id items included in + templ_attr.cif + file, in save_q_coeff_element and save_q_coeff_seq_element, respectively. + + Changed _type.container List to Matrix to reinforce the numeric contents. + The fixed upper limit of dimensions, is calculated trough methods, where + necessary, defining _type.dimension in terms of _cell.modulation_dimension. + + Affected items: -save_ + _atom_site_Fourier_wave_vector.q_coeff, + _atom_site_Fourier_wave_vector.q_coeff_seq_id, + _atom_sites_modulation.global_phase_list, _cell_subsystem.matrix_W, + _diffrn_refln.index_m_list, _diffrn_reflns.limit_index_m_max_list, + _diffrn_reflns.limit_index_m_min_list, _exptl_crystal_face.index_m_list, + _refln.index_m_list, _reflns.limit_index_m_max_list and + _reflns.limit_index_m_min_list + Changed _type.purpose to Number (it was erroneusly assigned to Key) in + the following items: + + _atom_site_displace_Legendre.order', _atom_site_displace_xharm.order, + _atom_site_occ_Legendre.order, _atom_site_occ_xharm.order, + _atom_site_rot_Legendre.order, _atom_site_rot_xharm.order, + _atom_site_U_Legendre.order,_atom_site_U_xharm.order -loop_ - _dictionary_audit.version - _dictionary_audit.date - _dictionary_audit.revision - 3.0 2014-06-27 -; - Initial conversion to DDLm (Syd Hall) -; - 3.1 2016-11-17 -; - Substantial edits to conform to current DDLm, CIF2 syntax (James Hester). -; - 3.2 2017-03-11 -; - Returned all additional indices to main dictionary, removed category_id - from templates(James Hester) -; - 3.2.1 2024-05-17 -; - Corrected a typo in the definition of the _geom_torsion.angle data item. + 2024-08-07 + Removed methods for _atom_site_displace_special_func.sawtooth, + _atom_site_displace_special_func.zigzag, _atom_site_rot_special_func.sawtooth, + _atom_site_rot_special_func.zigzag and _atom_site_occ_special_func.crenel. + Evaluation methods compute missing tags in terms of present tags, + never define functions of undefined variables... + + Now the attributes of those items are: + _type_purpose Describe + _type_source Recorded + _type.container Single + _type.contents Text - Changed the content type of multiple data items from 'Count' to 'Integer' - and assigned the appropriate enumeration range if needed. + Revised the common exampe of categories ATOM_SITE_ROT_FOURIER and + ATOM_SITE_ROT_FOURIER_PARAM. Now translations are fractions of the + axes. - Updated the CIF_CORE dictionary import statement with the new Head - category name. + 2024-08-09 + Changed MS_GROUP to CIF_MS_HEAD. - Renamed the head category from 'MS_GROUP' to 'CIF_MS_HEAD'. + 2024-12-12 + Technical fixes (JRH) ; From cc9a0194ef722ac33ebf14c2bd88f571b27f5f46 Mon Sep 17 00:00:00 2001 From: "James.Hester" Date: Fri, 13 Dec 2024 15:57:52 +1100 Subject: [PATCH 2/4] Formatting fixes. --- cif_ms.dic | 470 ++++++++++++++++++++++++++++------------------------- 1 file changed, 249 insertions(+), 221 deletions(-) diff --git a/cif_ms.dic b/cif_ms.dic index 60136c1..1c3f94a 100644 --- a/cif_ms.dic +++ b/cif_ms.dic @@ -320,7 +320,8 @@ save_ATOM_SITE_ANHARMONIC_ADP Example based on the article: Laura Canadillas-Delgado, Lidia Mazzuca, Oscar Fabelo and - Juan Rodriguez-Carvajal (2019) IUCrJ. 6, 105-115. doi:10.1107/S2052252518015026 + Juan Rodriguez-Carvajal (2019) IUCrJ. 6, 105-115. + doi:10.1107/S2052252518015026 Incommensurate structures of the [CH~3~NH~3~][Co(COOH)~3~] compound ; ; @@ -395,13 +396,10 @@ save_ATOM_SITE_ANHARMONIC_ADP _atom_site.site_symmetry_multiplicity _atom_site.occupancy _atom_site.calc_flag - _atom_site.refinement_flags_posn - _atom_site.disorder_assembly - _atom_site.disorder_group - Hf1 Hf 0 0 0 Uani 0.012(4) 4 1 d ? ? ? - Pb1 Pb 0.0292(5) 0.75 0.50222(6) Uani 0.0220(6) 8 0.5 d ? ? ? - O1 O 0 0.75 0.0467(11) Uani 0.009(3) 4 1 d ? ? ? - O2 O 0.25 0.0227(6) 0.25 Uani 0.0197(19) 8 1 d ? ? ? + Hf1 Hf 0 0 0 Uani 0.012(4) 4 1 d + Pb1 Pb 0.0292(5) 0.75 0.50222(6) Uani 0.0220(6) 8 0.5 d + O1 O 0 0.75 0.0467(11) Uani 0.009(3) 4 1 d + O2 O 0.25 0.0227(6) 0.25 Uani 0.0197(19) 8 1 d # - - - - data truncated for brevity - - - - @@ -640,18 +638,14 @@ save_ATOM_SITE_ANHARMONIC_ADP_FOURIER _atom_site.fract_x _atom_site.fract_y _atom_site.fract_z - _atom_site.adp_type _atom_site.U_iso_or_equiv _atom_site.site_symmetry_multiplicity _atom_site.occupancy _atom_site.calc_flag - _atom_site.refinement_flags_posn - _atom_site.disorder_assembly - _atom_site.disorder_group - Co1 Co 0.5 0 0 Uani 0.0259(10) 4 1 d ? ? ? - O1 O 0.59580(13) -0.07083(9) -0.21413(13) Uani 0.0280(4) 8 1 d ? ? ? - O2 O 0.77265(13) -0.05973(9) -0.41846(12) Uani 0.0272(3) 8 1 d ? ? ? - O3 O 0.47451(14) 0.15486(9) -0.12793(12) Uani 0.0274(3) 8 1 d ? ? ? + Co1 Co 0.5 0 0 0.0259(10) 4 1 d + O1 O 0.59580(13) -0.07083(9) -0.21413(13) 0.0280(4) 8 1 d + O2 O 0.77265(13) -0.05973(9) -0.41846(12) 0.0272(3) 8 1 d + O3 O 0.47451(14) 0.15486(9) -0.12793(12) 0.0274(3) 8 1 d # - - - - data truncated for brevity - - - - @@ -742,9 +736,10 @@ save_atom_site_anharmonic_adp_fourier.tens_elem _definition.update 2024-08-06 _description.text ; - A label identifying the anharmonic ADP tensor elements of a given - atom whose modulation is being parameterized by Fourier series. This - code must match one of the codes listed in 'atom_site_anharmonic_ADP.tens_elem. + A label identifying the anharmonic ADP tensor elements of a + given atom whose modulation is being parameterized by Fourier + series. This code must match one of the codes listed in + _atom_site_anharmonic_ADP.tens_elem. ; _name.category_id atom_site_anharmonic_ADP_Fourier _name.object_id tens_elem @@ -911,18 +906,14 @@ save_ATOM_SITE_ANHARMONIC_ADP_FOURIER_PARAM _atom_site.fract_x _atom_site.fract_y _atom_site.fract_z - _atom_site.adp_type _atom_site.U_iso_or_equiv _atom_site.site_symmetry_multiplicity _atom_site.occupancy _atom_site.calc_flag - _atom_site.refinement_flags_posn - _atom_site.disorder_assembly - _atom_site.disorder_group - Co1 Co 0.5 0 0 Uani 0.0259(10) 4 1 d ? ? ? - O1 O 0.59580(13) -0.07083(9) -0.21413(13) Uani 0.0280(4) 8 1 d ? ? ? - O2 O 0.77265(13) -0.05973(9) -0.41846(12) Uani 0.0272(3) 8 1 d ? ? ? - O3 O 0.47451(14) 0.15486(9) -0.12793(12) Uani 0.0274(3) 8 1 d ? ? ? + Co1 Co 0.5 0 0 0.0259(10) 4 1 d + O1 O 0.59580(13) -0.07083(9) -0.21413(13) 0.0280(4) 8 1 d + O2 O 0.77265(13) -0.05973(9) -0.41846(12) 0.0272(3) 8 1 d + O3 O 0.47451(14) 0.15486(9) -0.12793(12) 0.0274(3) 8 1 d # - - - - data truncated for brevity - - - - @@ -1005,7 +996,8 @@ save_atom_site_anharmonic_adp_fourier_param.cos ; With p as atom_site_anharmonic_ADP_Fourier_param - atom_site_anharmonic_ADP_Fourier_param.cos = p.modulus*Cos(TwoPi*p.phase) + atom_site_anharmonic_ADP_Fourier_param.cos = + p.modulus*Cos(TwoPi*p.phase) ; save_ @@ -1124,7 +1116,8 @@ save_atom_site_anharmonic_adp_fourier_param.phase ; With p as atom_site_anharmonic_ADP_Fourier_param - atom_site_anharmonic_ADP_Fourier_param.phase = Phase(Complex(p.cos,-p.sin))/TwoPi + atom_site_anharmonic_ADP_Fourier_param.phase = + Phase(Complex(p.cos,-p.sin))/TwoPi ; save_ @@ -1171,7 +1164,8 @@ save_atom_site_anharmonic_adp_fourier_param.sin ; With p as atom_site_anharmonic_ADP_Fourier_param - atom_site_anharmonic_ADP_Fourier_param.sin = -p.modulus*Sin(TwoPi*p.phase) + atom_site_anharmonic_ADP_Fourier_param.sin = + -p.modulus*Sin(TwoPi*p.phase) ; save_ @@ -1885,18 +1879,14 @@ save_ATOM_SITE_DISPLACE_FOURIER _atom_site.fract_y _atom_site.fract_z _atom_site.U_iso_or_equiv - _atom_site.adp_type _atom_site.calc_flag - _atom_site.refinement_flags_posn _atom_site.occupancy - _atom_site.disorder_assembly - _atom_site.disorder_group - Sn Sn H 0 0 0 0.01480(12) Uani d . 0.851(2) . . - Cu Cu H 0.0029(9) 0.0057(5) 0.1147(3) 0.0229(11) Uani d . 0.149(2) . . - S S1 H 0.5033(2) 0.84278(12) 0.12342(7) 0.0177(3) Uani d . 1 . . - Pb Pb Q 0.05541(5) 0.24113(4) 0.36783(2) 0.03573(12) Uani d . 0.701(10) . . - Sb Sb Q 0.055408 0.241132 0.367832 0.03573(12) Uani d . 0.299(10) . . - S S2 Q -0.0402(3) 0.2583(2) 0.59639(13) 0.0310(4) Uani d . 1 . . + Sn Sn H 0 0 0 0.01480(12) d 0.851(2) + Cu Cu H 0.0029(9) 0.0057(5) 0.1147(3) 0.0229(11) d 0.149(2) + S S1 H 0.5033(2) 0.84278(12) 0.12342(7) 0.0177(3) d 1 + Pb Pb Q 0.05541(5) 0.24113(4) 0.36783(2) 0.03573(12) d 0.701(10) + Sb Sb Q 0.055408 0.241132 0.367832 0.03573(12) d 0.299(10) + S S2 Q -0.0402(3) 0.2583(2) 0.59639(13) 0.0310(4) d 1 loop_ _atom_site_Fourier_wave_vector.seq_id @@ -2166,18 +2156,14 @@ save_ATOM_SITE_DISPLACE_FOURIER_PARAM _atom_site.fract_y _atom_site.fract_z _atom_site.U_iso_or_equiv - _atom_site.adp_type _atom_site.calc_flag - _atom_site.refinement_flags_posn _atom_site.occupancy - _atom_site.disorder_assembly - _atom_site.disorder_group - Sn Sn H 0 0 0 0.01480(12) Uani d . 0.851(2) . . - Cu Cu H 0.0029(9) 0.0057(5) 0.1147(3) 0.0229(11) Uani d . 0.149(2) . . - S S1 H 0.5033(2) 0.84278(12) 0.12342(7) 0.0177(3) Uani d . 1 . . - Pb Pb Q 0.05541(5) 0.24113(4) 0.36783(2) 0.03573(12) Uani d . 0.701(10) . . - Sb Sb Q 0.055408 0.241132 0.367832 0.03573(12) Uani d . 0.299(10) . . - S S2 Q -0.0402(3) 0.2583(2) 0.59639(13) 0.0310(4) Uani d . 1 . . + Sn Sn H 0 0 0 0.01480(12) d 0.851(2) + Cu Cu H 0.0029(9) 0.0057(5) 0.1147(3) 0.0229(11) d 0.149(2) + S S1 H 0.5033(2) 0.84278(12) 0.12342(7) 0.0177(3) d 1 + Pb Pb Q 0.05541(5) 0.24113(4) 0.36783(2) 0.03573(12) d 0.701(10) + Sb Sb Q 0.055408 0.241132 0.367832 0.03573(12) d 0.299(10) + S S2 Q -0.0402(3) 0.2583(2) 0.59639(13) 0.0310(4) d 1 loop_ _atom_site_Fourier_wave_vector.seq_id @@ -2374,8 +2360,9 @@ save_atom_site_displace_fourier_param.phase _definition.update 2024-08-01 _description.text ; - The phase (\fn/2\\p), in cycles, of the complex amplitude corresponding - to the Fourier term defined by _atom_site_displace_Fourier.atom_site_label, + The phase (\fn/2\\p), in cycles, of the complex amplitude + corresponding to the Fourier term defined by + _atom_site_displace_Fourier.atom_site_label, _atom_site_displace_Fourier.axis and _atom_site_displace_Fourier.wave_vector_seq_id. ; @@ -2392,7 +2379,8 @@ save_atom_site_displace_fourier_param.phase ; With p as atom_site_displace_Fourier_param - _atom_site_displace_Fourier_param.phase = Phase(Complex(p.cos,-p.sin))/TwoPi + _atom_site_displace_Fourier_param.phase = + Phase(Complex(p.cos,-p.sin))/TwoPi ; save_ @@ -2468,35 +2456,40 @@ save_ATOM_SITE_DISPLACE_LEGENDRE _definition.update 2024-08-09 _description.text ; - The set of harmonic functions used in the Fourier series describing the - Modulation functions is orthogonal and complete in the interval [0,1). - However within the x4 interval defined by a Crenel function orthogonality - is no longer preserved and therefore the Fourier coefficients are correlated - and the refinement becomes fragile. There are several ways to avoid this - technical problem (see Petricek et al., 2016). One of them is to use - orthogonal or orthogonalized sets of functions defined within the Crenel - interval. This procedure is more robust than the orthogonalization of harmonics - described in *_ORTHO. categories. Moreover these sets of functions are - complete. Two different sets of orthogonal or orthogonalized functions have - been implemented in the package JANA (Petricek et al., 2016, Petricek et al., - 2023): Legendre polynomials and the so-called x-harmonics. Legendre - polynomials are orthogonal in the Crenel interval and can be easily - calculated by the recurrence relation: + The set of harmonic functions used in the Fourier series + describing the Modulation functions is orthogonal and complete + in the interval [0,1). However within the x4 interval defined + by a Crenel function orthogonality is no longer preserved and + therefore the Fourier coefficients are correlated and the + refinement becomes fragile. There are several ways to avoid this + technical problem (see Petricek et al., 2016). One of them is to + use orthogonal or orthogonalized sets of functions defined + within the Crenel interval. This procedure is more robust than + the orthogonalization of harmonics described in + *_ORTHO. categories. Moreover these sets of functions are + complete. Two different sets of orthogonal or orthogonalized + functions have been implemented in the package JANA (Petricek et + al., 2016, Petricek et al., 2023): Legendre polynomials and the + so-called x-harmonics. Legendre polynomials are orthogonal in + the Crenel interval and can be easily calculated by the + recurrence relation: P~0~(x) = 1 P~1~(x) = x (n+1)P~n+1~(x) = (2n+1)x P~n~(x) - nP~n-1~(x) - Notice that Legendre polynomials are restricted to one-dimensional cases and - include as a particular case the sawtooth modulation. + Notice that Legendre polynomials are restricted to + one-dimensional cases and include as a particular case the + sawtooth modulation. Data items in the ATOM_SITE_DISPLACE_LEGENDRE category record - details about the Legendre polynomials used to describe the displacive - modulations when the atomic domain of a given atom is restricted - by a Crenel function. In the case of rigid groups, items in this category would - only include the translational part of the modulation. The rotational - part would appear in a separate list of items belonging to the - ATOM_SITE_ROT_LEGENDRE category. + details about the Legendre polynomials used to describe the + displacive modulations when the atomic domain of a given atom is + restricted by a Crenel function. In the case of rigid groups, + items in this category would only include the translational part + of the modulation. The rotational part would appear in a + separate list of items belonging to the ATOM_SITE_ROT_LEGENDRE + category. Atomic or rigid-group displacements must be expressed as fractions, either of the unit cell axes or of the axes defined by the items @@ -2511,7 +2504,8 @@ save_ATOM_SITE_DISPLACE_LEGENDRE Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system JANA2006 + analysis of modulated structures with the computing system + JANA2006 Petricek, V., Palatinus, L., Plasil, J. & Dusek, M. (2023). Z. Kristallogr. 238(7-8), 271-282. DOI 10.1515/zkri-2023-0005 @@ -3125,7 +3119,8 @@ save_ATOM_SITE_DISPLACE_SPECIAL_FUNC Petricek, V., Eigner, V., Dusek, M. & Cejchan, A. (2016). Z. Kristallogr. 231(5), 301-312. DOI 10.1515/zkri-2015-1913 Discontinuous modulation functions and their application for - analysis of modulated structures with the computing system JANA2006 + analysis of modulated structures with the computing system + JANA2006 Petricek, V., Palatinus, L., Plasil, J. & Dusek, M. (2023). Z. Kristallogr. 238(7-8), 271-282. DOI 10.1515/zkri-2023-0005 @@ -3155,14 +3150,14 @@ save_ATOM_SITE_DISPLACE_SPECIAL_FUNC _atom_site.U_iso_or_equiv _atom_site.site_symmetry_multiplicity _atom_site.occupancy - Bi1 Bi -0.00100(5) 0.27368(5) 0.065418(11) 0.01539(8) 8 1 - Sr1 Sr 0.49973(10) 0.24779(9) 0.17907(3) 0.01935(19) 8 0.865(3) - Bi2 Bi 0.499728 0.247792 0.179067 0.01935(19) 8 0.135(3) - Cu Cu 0 0.25 0.25 0.0078(2) 4 1 - O1 O 0.2505(8) 0.5014(8) 0.2488(2) 0.0138(11) 8 1 - O2 O 0.0005(15) 0.2231(11) 0.1465(2) 0.0176(14) 8 1 - O3 O 0.510(2) 0.3424(11) 0.0694(3) 0.0261(18) 8 1 - O4 O 0.236(4) 0.519(7) 0.0873(13) 0.060(13) 8 0.123(12) + Bi1 Bi -0.00100(5) 0.27368(5) 0.065418(11) 0.01539(8) 8 1 + Sr1 Sr 0.49973(10) 0.24779(9) 0.17907(3) 0.01935(19) 8 0.865(3) + Bi2 Bi 0.499728 0.247792 0.179067 0.01935(19) 8 0.135(3) + Cu Cu 0 0.25 0.25 0.0078(2) 4 1 + O1 O 0.2505(8) 0.5014(8) 0.2488(2) 0.0138(11) 8 1 + O2 O 0.0005(15) 0.2231(11) 0.1465(2) 0.0176(14) 8 1 + O3 O 0.510(2) 0.3424(11) 0.0694(3) 0.0261(18) 8 1 + O4 O 0.236(4) 0.519(7) 0.0873(13) 0.060(13) 8 0.123(12) # - - - - data truncated for brevity - - - - @@ -3182,7 +3177,8 @@ save_ATOM_SITE_DISPLACE_SPECIAL_FUNC Example based on the article: Andrei Mironov, V\'aclav Pet\ Date: Fri, 13 Dec 2024 16:25:09 +1100 Subject: [PATCH 3/4] Fix cif core head category name --- cif_ms.dic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cif_ms.dic b/cif_ms.dic index 1c3f94a..a0a62bc 100644 --- a/cif_ms.dic +++ b/cif_ms.dic @@ -49,7 +49,7 @@ save_CIF_MS_HEAD _name.object_id CIF_MS_HEAD _import.get - [{'file':cif_core.dic 'mode':Full 'save':CIF_CORE}] + [{'file':cif_core.dic 'mode':Full 'save':CIF_CORE_HEAD}] save_ From 1f3e2cc104bfab27784b48dd3a389a864609e95c Mon Sep 17 00:00:00 2001 From: "James.Hester" Date: Fri, 13 Dec 2024 16:38:34 +1100 Subject: [PATCH 4/4] Ignore duplicate save frames --- cif_ms.dic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cif_ms.dic b/cif_ms.dic index a0a62bc..b5e6c5f 100644 --- a/cif_ms.dic +++ b/cif_ms.dic @@ -49,7 +49,7 @@ save_CIF_MS_HEAD _name.object_id CIF_MS_HEAD _import.get - [{'file':cif_core.dic 'mode':Full 'save':CIF_CORE_HEAD}] + [{'dupl':Ignore 'file':cif_core.dic 'mode':Full 'save':CIF_CORE_HEAD}] save_