This is an old revision of the document!


ADPs with Symmetry Constraints

Description: Include symmetry constraints with anisotropic displacement parameters

Comment: by default, Topas (at least in v5-7), doesn't constrain the values of anisotropic displacement parameters according to the site symmetry. Symmetry constraints were taken from [1], which is a reprint of [2].

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.

References:

Contributed by: Matthew Rowles

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)  , U13       , U23         ) }
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)/2;, U13       , 0           ) }
macro ADP_14(U11, U22, U33               ) { ADP(U11, U22       , U33       , =Get(u22)/2;, 0         , 0           ) }
macro ADP_15(U11, U22, U33,      U13     ) { ADP(U11, U22       , U33       , =Get(u22)/2;, U13       , =2 Get(u13);) }
macro ADP_16(U11,      U33               ) { ADP(U11, =Get(u11);, U33       , =Get(u11)/2;, 0         , 0           ) }
macro ADP_17(U11                         ) { ADP(U11, =Get(u11);, =Get(u11);, 0           , 0         , 0           ) }
macro ADP_18(U11,           U12          ) { ADP(U11, =Get(u11);, =Get(u11);, U12         , =Get(u12);, =Get(u12);  ) }

Personal Tools