Differences

This shows you the differences between two versions of the page.

 manual_part_2 [2009/08/26 15:05]clare manual_part_2 [2009/08/27 09:54]clare Both sides previous revision Previous revision 2009/08/27 09:54 clare 2009/08/26 15:05 clare 2009/08/26 15:02 clare 2009/08/26 15:02 external edit2009/08/26 14:58 external edit2009/08/26 14:57 clare 2009/08/26 14:56 external edit2009/08/26 14:53 clare created 2009/08/27 09:54 clare 2009/08/26 15:05 clare 2009/08/26 15:02 clare 2009/08/26 15:02 external edit2009/08/26 14:58 external edit2009/08/26 14:57 clare 2009/08/26 14:56 external edit2009/08/26 14:53 clare created Line 1: Line 1: - ====== 8             Keywords ====== ====== 8             Keywords ====== Line 920: Line 919: The weight fraction w<​sub>​p​ for phase "​p"​ is calculated as follows: The weight fraction w<​sub>​p​ for phase "​p"​ is calculated as follows: - | <​sub>​{{Technical_Reference%20V4-1_files:​image156.gif?​76x70}}​   | where   N<​sub>​p​ = Number of phases Q<​sub>​p​ = S<​sub>​p​M<​sub>​p​V<​sub>​p/​B<​sub>​p​ S<​sub>​p​ = Rietveld scale factor for phase p. M<​sub>​p​ = Unit cell mass for phase p. V<​sub>​p​ = Unit cell volume for phase p. B<​sub>​p​ = Brindley correction for phase p. | + | <​sub>​{{techref_files:​image156.gif?​76x70}}​   | where   N<​sub>​p​ = Number of phases Q<​sub>​p​ = S<​sub>​p​M<​sub>​p​V<​sub>​p/​B<​sub>​p​ S<​sub>​p​ = Rietveld scale factor for phase p. M<​sub>​p​ = Unit cell mass for phase p. V<​sub>​p​ = Unit cell volume for phase p. B<​sub>​p​ = Brindley correction for phase p. | The Brindley correction is a function of //​brindley_spherical_r_cm//​ and the phase and mixture linear absorption coefficients;​ the latter two are in turn functions of //​phase_MAC//​ and //​mixture_MAC//​ respectively,​ or, The Brindley correction is a function of //​brindley_spherical_r_cm//​ and the phase and mixture linear absorption coefficients;​ the latter two are in turn functions of //​phase_MAC//​ and //​mixture_MAC//​ respectively,​ or, Line 936: Line 935: **[//​chi2_convergence_criteria//​ !E]** **[//​chi2_convergence_criteria//​ !E]** - Convergence is determined when the change in <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ is less than //​chi2_convergence_criteria//​ for three consecutive cycles and when all defined //​stop_when//​ parameter attributes evaluate to true. Example: + Convergence is determined when the change in <​sub>​{{techref_files:​image002.gif?​20x23}}​ is less than //​chi2_convergence_criteria//​ for three consecutive cycles and when all defined //​stop_when//​ parameter attributes evaluate to true. Example: chi2_convergence_criteria =  If(Cycle_Iter < 10, .001, .01); chi2_convergence_criteria =  If(Cycle_Iter < 10, .001, .01); Line 1184: Line 1183: //​lp_search//​ uses a new indexing algorithm that is independent of d-spacing extraction; lp-search-pbso4.inp demonstrates its use. lp_search minimizes on a new figure of merit function that gives a measure of correctness for a particular set of lattice parameters. More specifically the figure of merit function assigns parts of the diffraction pattern to peaks and then sums the absolute values of the products of the diffraction intensities multiplied by the distance to the peaks: //​lp_search//​ uses a new indexing algorithm that is independent of d-spacing extraction; lp-search-pbso4.inp demonstrates its use. lp_search minimizes on a new figure of merit function that gives a measure of correctness for a particular set of lattice parameters. More specifically the figure of merit function assigns parts of the diffraction pattern to peaks and then sums the absolute values of the products of the diffraction intensities multiplied by the distance to the peaks: - <​sub>​{{Technical_Reference%20V4-1_files:​image158.gif?​213x39}}​where the summation in ‘j’ is over the calculated Bragg positions 2//​q<​sub>​0//​ and the summation in ‘i’ is  over part of the diffraction pattern such that (2//​q//<​sub>​<​sub>​0,​ j-1​ + 2//​q//<​sub>​​ <​sub>​0,​ j​.)/​2 < 2//​q//<​sub>​i​  <  (2//​q//<​sub>​​ <​sub>​0,​ j+1​ + 2//​q//<​sub>​<​sub>​0,​ j​.)/​2. The method avoids difficulties associated with extracting d-spacings from complex patterns comprising heavily overlapped lines; the primary difficulty being that of ascertaining the number of lines present. + <​sub>​{{techref_files:​image158.gif?​213x39}}​where the summation in ‘j’ is over the calculated Bragg positions 2//​q<​sub>​0//​ and the summation in ‘i’ is  over part of the diffraction pattern such that (2//​q//<​sub>​<​sub>​0,​ j-1​ + 2//​q//<​sub>​​ <​sub>​0,​ j​.)/​2 < 2//​q//<​sub>​i​  <  (2//​q//<​sub>​​ <​sub>​0,​ j+1​ + 2//​q//<​sub>​<​sub>​0,​ j​.)/​2. The method avoids difficulties associated with extracting d-spacings from complex patterns comprising heavily overlapped lines; the primary difficulty being that of ascertaining the number of lines present. //​I_parameter_names_have_hkl//​ gives generated Intensity parameters a name starting with \$start_of_parameter_name and ending with the corresponding hkl. //​I_parameter_names_have_hkl//​ gives generated Intensity parameters a name starting with \$start_of_parameter_name and ending with the corresponding hkl. Line 1316: Line 1315: Calculates the mass absorption coefficient in cm<​sup>​2/​g for a mixture as follows: Calculates the mass absorption coefficient in cm<​sup>​2/​g for a mixture as follows: - <​sub>​{{Technical_Reference%20V4-1_files:​image160.gif?​160x45}}​where //​w//<​sub>​i​ and (//​m/////​r//​)<​sub>​i​ is the weight percent and //​phase_MAC//​ of phase i respectively. Errors are reported for //​phase_MAC//​ and //​mixture_MAC//​. + <​sub>​{{techref_files:​image160.gif?​160x45}}​where //​w//<​sub>​i​ and (//​m/////​r//​)<​sub>​i​ is the weight percent and //​phase_MAC//​ of phase i respectively. Errors are reported for //​phase_MAC//​ and //​mixture_MAC//​. The following example provides phase and mixture mass absorption coefficients. The following example provides phase and mixture mass absorption coefficients. Line 1558: Line 1557: //​phase_penalties//​ for a single hkl is defined as follows: //​phase_penalties//​ for a single hkl is defined as follows: - <​sub>​{{Technical_Reference%20V4-1_files:​image162.gif?​444x50}}​where <​sub>​{{Technical_Reference%20V4-1_files:​image164.gif?​21x29}}​= assigned phase, <​sub>​{{Technical_Reference%20V4-1_files:​image166.gif?​20x25}}​= calculated phase, I<​sub>​c​ = calculated intensity and //d// is the reflection d-spacing.  The name N returns the sum of the //​phase_penalties//​ and it can be used in equations and in particular //penalty// equations. <​sub>​{{Technical_Reference%20V4-1_files:​image166.gif?​20x25}}​ is calculated from sites identified in [[#​k142|\$sites]]. + <​sub>​{{techref_files:​image162.gif?​444x50}}​where <​sub>​{{techref_files:​image164.gif?​21x29}}​= assigned phase, <​sub>​{{techref_files:​image166.gif?​20x25}}​= calculated phase, I<​sub>​c​ = calculated intensity and //d// is the reflection d-spacing.  The name N returns the sum of the //​phase_penalties//​ and it can be used in equations and in particular //penalty// equations. <​sub>​{{techref_files:​image166.gif?​20x25}}​ is calculated from sites identified in [[#​k142|\$sites]]. - #h, #k, #l are user defined hkls; they are used for formulating the phase penalties. #Re and #Im are the real and imaginary parts of <​sub>​{{Technical_Reference%20V4-1_files:​image164.gif?​21x29}}​. An example use of phase penalties (see examples AE14-12.INP and AE5-AUTO.inp) is as follows: + #h, #k, #l are user defined hkls; they are used for formulating the phase penalties. #Re and #Im are the real and imaginary parts of <​sub>​{{techref_files:​image164.gif?​21x29}}​. An example use of phase penalties (see examples AE14-12.INP and AE5-AUTO.inp) is as follows: penalty = pp1; penalty = pp1; Line 1606: Line 1605: **[//​quick_refine//​ !E [//​quick_refine_remove//​ !E]]** **[//​quick_refine//​ !E [//​quick_refine_remove//​ !E]]** - //​quick_refine//​ removes parameters that influence <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ in a small manner during a [[#​k144|refinement cycle]]. Use of //​quick_refine//​ speeds up simulated annealing, see for example the macro Auto_T which is used in example AE1-AUTO.INP. All refined parameters are reinstated for refinement at the start of subsequent cycles. Large //​quick_refine//​ values aggressively removes parameters and convergence to low <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ maybe hindered. A value of 0.1 works well. + //​quick_refine//​ removes parameters that influence <​sub>​{{techref_files:​image002.gif?​20x23}}​ in a small manner during a [[#​k144|refinement cycle]]. Use of //​quick_refine//​ speeds up simulated annealing, see for example the macro Auto_T which is used in example AE1-AUTO.INP. All refined parameters are reinstated for refinement at the start of subsequent cycles. Large //​quick_refine//​ values aggressively removes parameters and convergence to low <​sub>​{{techref_files:​image002.gif?​20x23}}​ maybe hindered. A value of 0.1 works well. //​quick_refine//​ has the following consequences:​ //​quick_refine//​ has the following consequences:​ - * If parameters are not reinstated using //​quick_refine_remove//​ then<​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ does not get to its lowest possible value for a particular refinement cycle. + * If parameters are not reinstated using //​quick_refine_remove//​ then<​sub>​{{techref_files:​image002.gif?​20x23}}​ does not get to its lowest possible value for a particular refinement cycle. * The degree of parameter randomization increases with increasing values of //​quick_refine//​. Thus randomization should be reduced as //​quick_refine//​ increases. Alternatively //​randomize_on_errros//​ can be used which automatically determines the amount a parameter is randomized. * The degree of parameter randomization increases with increasing values of //​quick_refine//​. Thus randomization should be reduced as //​quick_refine//​ increases. Alternatively //​randomize_on_errros//​ can be used which automatically determines the amount a parameter is randomized. //​quick_refine_remove//​removes a parameter from refinement if it evaluates to non-zero or reinstates a parameter if it evaluates to zero. It can be a function of the reserved parameters QR_Removed or QR_Num_Times_Consecutively_Small and additionally global reserved parameter names such as Cycle_Iter, Cycle and T. If //​quick_refine_remove//​ is not defined then the removal scheme of section 5.6 is used and parameters are not reinstated until the next refinement cycle. //​quick_refine_remove//​removes a parameter from refinement if it evaluates to non-zero or reinstates a parameter if it evaluates to zero. It can be a function of the reserved parameters QR_Removed or QR_Num_Times_Consecutively_Small and additionally global reserved parameter names such as Cycle_Iter, Cycle and T. If //​quick_refine_remove//​ is not defined then the removal scheme of section 5.6 is used and parameters are not reinstated until the next refinement cycle. - In most refinements the following will produce close to the lowest <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ and in a shorter time period (see for example PAWLEY1.INP). ​ + In most refinements the following will produce close to the lowest <​sub>​{{techref_files:​image002.gif?​20x23}}​ and in a shorter time period (see for example PAWLEY1.INP). ​ quick_refine .1 quick_refine .1 Line 1776: Line 1775: N of //​sites_flatten//​ returns a restraint term that decreases as the sites become coplanar; it is defined as follows: N of //​sites_flatten//​ returns a restraint term that decreases as the sites become coplanar; it is defined as follows: - <​sub>​{{Technical_Reference%20V4-1_files:​image169.gif?​529x47}}​ + <​sub>​{{techref_files:​image169.gif?​529x47}}​ where tol corresponds to //​sites_flatten_tol//,​ n corresponds to the number of sites defined with the //​site_to_restrain//​ keyword, b are Cartesian unit length vectors between the sites and the geometric centre of the sites. where tol corresponds to //​sites_flatten_tol//,​ n corresponds to the number of sites defined with the //​site_to_restrain//​ keyword, b are Cartesian unit length vectors between the sites and the geometric centre of the sites. Line 1872: Line 1871: **[****//​swap_sites//​** **\$sites_1 \$sites_2]…** **[****//​swap_sites//​** **\$sites_1 \$sites_2]…** - //​swap_sites//​ attempts to find a lower <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ by swapping [[#​k142|sites defined]] in \$sites_1 with those defined in \$sites_2. The swapping continues until all swaps are performed. Outline of the algorithm: + //​swap_sites//​ attempts to find a lower <​sub>​{{techref_files:​image002.gif?​20x23}}​ by swapping [[#​k142|sites defined]] in \$sites_1 with those defined in \$sites_2. The swapping continues until all swaps are performed. Outline of the algorithm: While //​swap_site//​ processes still to be processed { While //​swap_site//​ processes still to be processed { Line 1882: Line 1881: Randomize the cation configuration according to //​swap_sites//​. Randomize the cation configuration according to //​swap_sites//​. - Find the local minimum of <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ + Find the local minimum of <​sub>​{{techref_files:​image002.gif?​20x23}}​ k = k + 1 k = k + 1 - If <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k) then reset site positions + If <​sub>​{{techref_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{techref_files:​image016.gif?​20x23}}​(k) then reset site positions - While <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k) or all swap possibility exhausted + While <​sub>​{{techref_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{techref_files:​image016.gif?​20x23}}​(k) or all swap possibility exhausted } } Line 1922: Line 1921: The reserved parameter T returns the current temperature and it can be used in equations and in particular the //​[[#​x000|val_on_continue]]//​ attribute. The first //​temperature//​ defined becomes the starting temperature;​ subsequent //​temperature//​(s) become the current temperature. The reserved parameter T returns the current temperature and it can be used in equations and in particular the //​[[#​x000|val_on_continue]]//​ attribute. The first //​temperature//​ defined becomes the starting temperature;​ subsequent //​temperature//​(s) become the current temperature. - If <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​ increases relative to a previous cycle then the temperature is advanced to the next //​temperature//​. If <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​ decreases relative to previous temperatures of lesser values then the current temperature is rewound to a previous temperature such that its previous is of a greater value. + If <​sub>​{{techref_files:​image016.gif?​20x23}}​ increases relative to a previous cycle then the temperature is advanced to the next //​temperature//​. If <​sub>​{{techref_files:​image016.gif?​20x23}}​ decreases relative to previous temperatures of lesser values then the current temperature is rewound to a previous temperature such that its previous is of a greater value. //​move_to_the_next_temperature_regardless_of_the_change_in_rwp//​ forces the refinement to move to the next temperature regardless of the change in Rwp from the previous temperature. //​move_to_the_next_temperature_regardless_of_the_change_in_rwp//​ forces the refinement to move to the next temperature regardless of the change in Rwp from the previous temperature. Line 1946: Line 1945: temperature 1 temperature 1 - If the current temperature is the last one defined (the fourth one), and <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​ decreased relative to the second and third //​temperature//​s,​ then the current temperature is set to the second temperature. + If the current temperature is the last one defined (the fourth one), and <​sub>​{{techref_files:​image016.gif?​20x23}}​ decreased relative to the second and third //​temperature//​s,​ then the current temperature is set to the second temperature. The current temperature can be used in all equations using the reserved parameter T, for example: The current temperature can be used in all equations using the reserved parameter T, for example: Line 1996: Line 1995: Change the cation configuration according to //​try_site_patterns//​ Change the cation configuration according to //​try_site_patterns//​ - Find the local minimum of <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​ + Find the local minimum of <​sub>​{{techref_files:​image002.gif?​20x23}}​ - If <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k) then reset site positions + If <​sub>​{{techref_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{techref_files:​image016.gif?​20x23}}​(k) then reset site positions k = k + 1 k = k + 1 - While <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}}​(k) or //k// < //​num_patterns_at_a_time//​ + While <​sub>​{{techref_files:​image016.gif?​20x23}}​(k+1) > <​sub>​{{techref_files:​image016.gif?​20x23}}​(k) or //k// < //​num_patterns_at_a_time//​ } } Line 2032: Line 2031: //​try_site_patterns//​ "Ca Zr" //​num_patterns_at_a_time//​ 3 //​try_site_patterns//​ "Ca Zr" //​num_patterns_at_a_time//​ 3 - N<​sub>​CaZr​=10 and thus //​try_site_patterns//​ will cycle through the 10 patterns searching for a reduction in <​sub>​{{Technical_Reference%20V4-1_files:​image002.gif?​20x23}}​. + N<​sub>​CaZr​=10 and thus //​try_site_patterns//​ will cycle through the 10 patterns searching for a reduction in <​sub>​{{techref_files:​image002.gif?​20x23}}​. **[//​user_defined_convolution//​ E //min// E //max// E]...** **[//​user_defined_convolution//​ E //min// E //max// E]...** Line 2068: Line 2067: **[//​weighting//​ !E  [//​recal_weighting_on_iter//​]]** **[//​weighting//​ !E  [//​recal_weighting_on_iter//​]]** - Used for calculating the //xdd// dependent weighting function  in<​sub>​{{Technical_Reference%20V4-1_files:​image016.gif?​20x23}},​ see equation Eq. (5‑2). Can be a function of the reserved parameter names X, Yobs, Ycalc and  SigmaYobs. The default is as follows: + Used for calculating the //xdd// dependent weighting function  in<​sub>​{{techref_files:​image016.gif?​20x23}},​ see equation Eq. (5‑2). Can be a function of the reserved parameter names X, Yobs, Ycalc and  SigmaYobs. The default is as follows: weighting = 1 / Max(Yobs, 1); weighting = 1 / Max(Yobs, 1);