Trace:

# Differences

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

Both sides previous revision Previous revision | |||

c [2009/08/06 15:37] clare |
c [2009/08/27 12:12] clare |
||
---|---|---|---|

Line 1: | Line 1: | ||

====== c ====== | ====== c ====== | ||

+ | **[//capillary_diameter_mm// E]...** | ||

+ | |||

+ | **//capillary_u_cm_inv// E** | ||

+ | |||

+ | **//capillary_parallel_beam//** **%%|%% //capillary_divergent_beam//** | ||

+ | |||

+ | Calculates an aberration for capillary samples. and convolutes it into phase peaks. //capillary_diameter_mm// corresponds to the capillary diameter in mm and //capillary_u_cm_inv// the linear absorption coefficient of the sample in units of cm<sup>-1</sup>. The //capillary_diameter_mm// convolution corrects for peak shapes, intensities and 2Th shifts, see example CAPILLARY-SIMULATED.INP. | ||

+ | |||

+ | Use of //capillary_parallel_beam// results in a correction for a parallel primary beam. | ||

+ | |||

+ | Use of //capillary_divergent_beam// results in a correction for a divergent primary beam. | ||

+ | |||

+ | Both //capillary_parallel_beam// and //capillary_divergent_beam// assume that the capillary is fully illuminated by the beam in the equitorial plane. | ||

+ | |||

+ | **[//cell_mass// !E] [//cell_volume// !E] [//weight_percent// !E]** | ||

+ | |||

+ | **[****//spiked_phase_measured_weight_percent//** **!E] [//corrected_weight_percent// !E]** | ||

+ | |||

+ | //cell_mass//, //cell_volume// and //weight_percent// correspond to unit cell mass, volume and weight percent of the phase within the mixture. | ||

+ | |||

+ | //spiked_phase_measured_weight_percent// defines the weight percent of a spiked phase. Used by the xdd dependent keyword //weight_percent_amorphous// to determine amorphous weight percent. Only one phase per xdd is allowed to contain the keyword //spiked_phase_measured_weight_percent//. | ||

+ | |||

+ | //corrected_weight_percent//is the weight percent after considering amorphous content as determined by //weight_percent_amorphous//. | ||

+ | |||

+ | The weight fraction w<sub>p</sub> for phase "p" is calculated as follows: | ||

+ | |||

+ | | <sub>{{techref_files:image156.gif?76x70}}</sub> | where N<sub>p</sub> = Number of phases Q<sub>p</sub> = S<sub>p</sub>M<sub>p</sub>V<sub>p</sub>/B<sub>p</sub> S<sub>p</sub> = Rietveld scale factor for phase p. M<sub>p</sub> = Unit cell mass for phase p. V<sub>p</sub> = Unit cell volume for phase p. B<sub>p</sub> = 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, | ||

+ | |||

+ | B<sub>p</sub> is function of : (LAC<sub>phase</sub>-MAC<sub>mixture</sub>) //brindley_spherical_r_cm// | ||

+ | |||

+ | where | ||

+ | |||

+ | LAC<sub>phase</sub> = linear absorption coefficient of phase p, packing density of 1. | ||

+ | |||

+ | MAC<sub>mixture</sub> = linear absorption coefficient of the mixture, packing density of 1. | ||

+ | |||

+ | This makes B<sub>p</sub> a function of the weight fractions w<sub>p</sub> of all phases and thus w<sub>p</sub> as written above cannot be solved analytically. Subsequently w<sub>p</sub> is solved numerically through the use of iteration. | ||

+ | |||

+ | **[//chi2_convergence_criteria// !E]** | ||

+ | |||

+ | Convergence is determined when the change in <sub>{{techref_files:image002.gif?20x23}}</sub> 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); | ||

+ | |||

+ | **[//circles_conv// E]...** | ||

+ | |||

+ | Defines //e//<sub>m</sub> in the convolution function: | ||

+ | |||

+ | (1 - ½//e//<sub>m</sub> / //e//½<sup>½</sup>) for //e// = 0 to //e//<sub>m</sub> | ||

+ | |||

+ | that is convoluted into phase peaks. //e//<sub>m</sub> can be greater than or less than zero. //circles_conv// is used for example by the Simple_Axial_Model macro. | ||

+ | |||

+ | **[//cloud// $sites]...** | ||

+ | |||

+ | **[//cloud_population// !E]** | ||

+ | |||

+ | **[//cloud_save// $file]** | ||

+ | |||

+ | **[//cloud_save_xyzs// $file]** | ||

+ | |||

+ | **[//cloud_load_xyzs// $file]** | ||

+ | |||

+ | **[//cloud_load_xyzs_omit_rwps// !E]** | ||

+ | |||

+ | **[//cloud_formation_omit_rwps// !E]** | ||

+ | |||

+ | **[//cloud_try_accept// !E]** | ||

+ | |||

+ | **[//cloud_gauss_fwhm// !E]** | ||

+ | |||

+ | **[//cloud_extract_and_save_xyzs// $file]** | ||

+ | |||

+ | **[//cloud_number_to_extract// !E]** | ||

+ | |||

+ | **[//cloud_atomic_separation// !E]** | ||

+ | |||

+ | //cloud// allows for the tracking of atoms defined in $sites in three dimensions. It can be useful for determining the average positions of heavy atoms or rigid bodies during refinement cycles. For example, a dummy atom, “site X1” say, can be placed at the center of a benzene ring and then tracked as follows: | ||

+ | |||

+ | continue_after_convergence | ||

+ | |||

+ | … | ||

+ | |||

+ | cloud “X1” | ||

+ | |||

+ | cloud_population 100 | ||

+ | |||

+ | cloud_save SOME_FILE.CLD | ||

+ | |||

+ | On termination of refinement the CLD file is saved; it can be viewed using the rigid body editor of the GUI; see examples AE14-12.INP for a cloud example. //cloud_population// is the maximum number of population members. Each population member comprises the fractional coordinates of $sites and an associated Rwp value. | ||

+ | |||

+ | //cloud_save_xyzs// saves a cloud populations to file. | ||

+ | |||

+ | //cloud_load_xyzs// loads and reuses previously saved populations. //cloud_load_xyzs_omit_rwps// can be used to exclude population membes whilst loading; it can be a function of Get(Cloud_Rwp) where Cloud_Rwp is the associated Rwp of a population member. | ||

+ | |||

+ | //cloud_formation_omit_rwps// can be used to limit population membes in the formation of CLD files; it can be a function of Get(Cloud_Rwp). | ||

+ | |||

+ | //cloud_try_accept// accepts population members if it evaluates to non-zero and if the best Rwp since the last acceptance is less than a present population member or if the number of members is less than //cloud_population//. If the number of population members equals //cloud_population// then the population member with the lowest Rwp is discarded. //cloud_try_accept// is evaluated at the end of each refinement cycle; it default value is true. Here’s are some examples: | ||

+ | |||

+ | cloud_try_accept = And(Cycle, Mod(Cycle, 50); | ||

+ | |||

+ | cloud_try_accept = T == 10; | ||

+ | |||

+ | //cloud_gauss_fwhm// is the full width at half maximum of a three dimensional Gaussian that is used to fill the cloud. | ||

+ | |||

+ | //cloud_extract_and_save_xyzs// searches the three dimensional cloud for high densities and extracts xyz positions; these are then saved to $file. //cloud_number_to_extract// defines the number of positions to extract and //cloud_atomic_separation// limits the atomic separation during the extraction. The actual number of positions extracted may be less than //cloud_number_to_extract// depending on the cloud. | ||

+ | |||

+ | ** [//conserve_memory//]** | ||

+ | |||

+ | Deletes temporary arrays used in intermediate calculations; memory savings of up to 70% can be expected on some problems with subsequent lengthening of execution times by up to 40%. When //approximate_A// is used on dense matrices then //conserve_memory// can reduce memory usage by up to 90%. | ||

+ | |||

+ | **[//continue_after_convergence//]** | ||

+ | |||

+ | Refinement is continued after convergence. Before continuing the following actions are performed: | ||

+ | |||

+ | //[[#x000|val_on_continue]]// equations for independent parameters are evaluated | ||

+ | |||

+ | //[[#k133|randomize_on_errors]]// process is performed | ||

+ | |||

+ | //[[#k128|rand_xyz]]// processes are performed | ||

+ | |||

+ | Also, when //val_on_continue// is defined then the corresponding parameter is not randomized according to //randomize_on_errors//. | ||

+ | |||

+ | **[//convolution_step// #]** | ||

+ | |||

+ | An integer defining the number of calculated data points per measured data point. It may be useful to increase this number when the measurement step is large. //convolution_step// is set to 1 by default. Only when the measurement step is greater than about 0.03 degrees 2Th or when high precision is required is it necessary to increase //convolution_step//. |