[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-1. 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_percentis the weight percent after considering amorphous content as determined by weight_percent_amorphous.

The weight fraction wp for phase “p” is calculated as follows:

  where   Np = Number of phases Qp = SpMpVp/Bp Sp = Rietveld scale factor for phase p. Mp = Unit cell mass for phase p. Vp = Unit cell volume for phase p. Bp = 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,

Bp is function of :  (LACphase-MACmixture) brindley_spherical_r_cm


LACphase       = linear absorption coefficient of phase p, packing density of 1.

MACmixture     = linear absorption coefficient of the mixture, packing density of 1.

This makes Bp a function of the weight fractions wp of all phases and thus wp as written above cannot be solved analytically. Subsequently wp is solved numerically through the use of iteration.

[chi2_convergence_criteria !E]

Convergence is determined when the change in  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 em  in the convolution function:

(1 - ½em / e½½)          for e = 0 to em 

that is convoluted into phase peaks. em 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:


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.


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%.


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

val_on_continue equations for independent parameters are evaluated

randomize_on_errors process is performed

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.

Personal Tools