wiki:ExplainConstraints
Last modified 9 years ago Last modified on 12/29/10 08:31:18

On Dec 28, 2010, at 12:07 AM, 李剑 wrote:

Dear Mr Toby:

I am a student in China. I have learned GSAS for two months. Now I want to ask you a few questions.

When constrain the fractional occupancies in the Constrains panel of EXPGUI, the EXPGUI Tutorial I download from net said that ‘use any values for the multiplier that equal in magnitude but opposite in sign’. I want to know the functions of ‘multiplier’ and the reason of setting it like this, does it be set always like this or it is dependent on something.

Best wishes, Li Jian


Dear Li Jian,

Let me try to explain the constraints in GSAS.

The idea is that two or more variable parameters, say Uiso values or occupancies or profile coefficients (or many other parameters could be used) can be linked together into a single variable parameter. This reduces the complexity of the model and can provide more meaningful results. What the constraint does is to force the shifts of the selected parameters to be locked to change with a specific ratio (note that GSAS & EXPGUI does not force the initial values to start with that ratio, so if you don't set them in that way, they are all incremented or decremented the same, but the values will not be changed to match.)

One common example is to constrain Uiso values to be the same for groups of atoms (say in a zeolite three groups of parameters: one with all the O atoms, one with all the Al & Si atoms and one with all the cations), one would set the Uiso values to be the same in each group, so all O atoms would start the same and then create a constrain that has the same multiplier value for every atom in the group. Note that the actual value of the multiplier does not matter, though most people would use 1.

There are occasions where one might want to start with different values for the Uiso values. In organic and organometallic materials, one often assumes that H atoms have a Uiso value that is a little larger than the C atoms that they are attached to (0.005 is typical). In this case one might start the Uiso for the C atoms at 0.02 and the H atoms at 0.025, but keep the multiplier values for all at 1.

Another example might be where you have an atom that shares two sites where the multiplicity is the same for both sites. In many cases you will have to make an assumption on the total amount of this atom (perhaps based on valence arguments). For this case lets assume that the multiplicity for both sites is 8 and we expect to have 8 atoms per unit cell. If the occupancy is 1 for each site, then we get 16 atoms in the cell so we have to use a constraint to make sure that does not happen. If we label the sites as A & B, the total number of atoms is 8*Occ(A) + 8*Occ(B). In this case we want the start the refinement where Occ(A)+Occ(B)=1 and place a constraint so that Occ(A)+Occ(B)=1. The multipliers in the constraint equation must have opposite signs for Occ(A) and Occ(B) so -1 and 1 will work, or 2 and -2 are equivalent.

If the sites do not share the same multiplicity, then it gets more complex. Lets take the case where the multiplicity for sites A is 4 and for site B is 8 and we still expect to have 8 atoms per unit cell. If the occupancy is 1 for each site, then we would get 12 atoms in the cell with the total number of atoms is 4*Occ(A) + 8*Occ(B). In this case we want the start the refinement where 0.5*Occ(A)+Occ(B)=1 (so 1 & 0.5 work or also 0.0 & 1 works too). To place a constraint so that 0.5*Occ(A)+Occ(B)=1 we again place constraints that have opposite signs for Occ(A) and Occ(B), but the multiplier for Occ(A) must be double that for Occ(B), because when we take occupancy out from site A we put twice as many atoms in B: -1 and 0.5 will work, or likewise 2 and -1 are equivalent. One way to understand this is that if we start with the occupancy of Occ(A)=0 and Occ(B)=1, then if Occ(B) refines to 0.9 then Occ(A) must refine to 0.2 (and likewise up to Occ(A)=1 and Occ(B)=0.5) to keep the total number of atoms at 8.

Hope this helps, Brian