adps_with_symmetry_constraints
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| adps_with_symmetry_constraints [2018/03/06 06:51] – rowlesmr3 | adps_with_symmetry_constraints [2025/09/19 15:18] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== ADPs with Symmetry Constraints ====== | ||
| + | Description: | ||
| + | |||
| + | Comment: In a particular version of Topas 5, it doesn' | ||
| + | |||
| + | In all other versions of Topas, use the keyword " | ||
| + | |||
| + | The macros below correspond to Table 4.1 in [1], which refers to Table 4.2, which gives the necessary restrictions for each Wyckoff site in each spacegroup. I'm assuming that a general position in any space group has no constraints on the ADP values. | ||
| + | |||
| + | |||
| + | The U12, U13, U23 values in the tables are listed as 2*U12, 2*U13, 2*U23, so I think this means that they should be divided by two. But I think this should only be an issue in nos 13-16, where there is a constraint between U22 and U12. | ||
| + | |||
| + | Note added by John: | ||
| + | Be careful in space group 227 if you're using the Willis table. | ||
| + | |||
| + | The Willis table is {{ : | ||
| + | |||
| + | |||
| + | References: | ||
| + | * [1] Willis, B. T. M., and A. W. Pryor. 1975. Thermal Vibrations in Crystallography. London: Cambridge University Press, pp. 104-110. | ||
| + | * [2] [[https:// | ||
| + | |||
| + | Contributed by: Matthew Rowles | ||
| + | |||
| + | <code topas> | ||
| + | macro ADP(U11, U22, U33, U12, U13, U23) { | ||
| + | u11 U11 | ||
| + | u22 U22 | ||
| + | u33 U33 | ||
| + | u12 U12 | ||
| + | u13 U13 | ||
| + | u23 U23 | ||
| + | } | ||
| + | |||
| + | macro ADP_0 (U11, U22, U33, U12, U13, U23) { ADP(U11, U22 , U33 , U12 , U13 , U23 ) } | ||
| + | macro ADP_1 (U11, U22, U33, U13 ) { ADP(U11, U22 , U33 , 0 , U13 , 0 ) } | ||
| + | macro ADP_2 (U11, U22, U33, U12 ) { ADP(U11, U22 , U33 , U12 , 0 , 0 ) } | ||
| + | macro ADP_3 (U11, U22, U33, U23) { ADP(U11, U22 , U33 , 0 , 0 , U23 ) } | ||
| + | macro ADP_4 (U11, U22, U33 ) { ADP(U11, U22 , U33 , 0 , 0 , 0 ) } | ||
| + | macro ADP_5 (U11, U33, U12 ) { ADP(U11, =Get(u11);, U33 , U12 , 0 , 0 ) } | ||
| + | macro ADP_6 (U11, U33, U12, U13 ) { ADP(U11, =Get(u11);, U33 , U12 , U13 , =Get(u13); | ||
| + | macro ADP_7 (U11, U33, U12, U13 ) { ADP(U11, =Get(u11);, U33 , U12 , U13 , =-Get(u13); ) } | ||
| + | macro ADP_8 (U11, U33 ) { ADP(U11, =Get(u11);, U33 , 0 , 0 , 0 ) } | ||
| + | macro ADP_9 (U11, U22, U23) { ADP(U11, U22 , =Get(u22);, 0 , 0 , U23 ) } | ||
| + | macro ADP_10(U11, U22, U12, U23) { ADP(U11, U22 , =Get(u22);, U12 , =Get(u12);, U23 ) } | ||
| + | macro ADP_11(U11, U22, U13, U23) { ADP(U11, U22 , =Get(u22);, =-Get(u13) | ||
| + | macro ADP_12(U11, U22 ) { ADP(U11, U22 , =Get(u22);, 0 , 0 , 0 ) } | ||
| + | macro ADP_13(U11, U22, U33, U13 ) { ADP(U11, U22 , U33 , =Get(u22)/ | ||
| + | macro ADP_14(U11, U22, U33 ) { ADP(U11, U22 , U33 , =Get(u22)/ | ||
| + | macro ADP_15(U11, U22, U33, U13 ) { ADP(U11, U22 , U33 , =Get(u22)/ | ||
| + | macro ADP_16(U11, | ||
| + | macro ADP_17(U11 | ||
| + | macro ADP_18(U11, | ||
| + | </ | ||
| + | |||