Differences

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

Link to this comparison view

o [2009/08/06 15:39]
clare created
o [2009/08/27 12:17] (current)
clare
Line 1: Line 1:
 ====== o ====== ====== o ======
  
 +**[//​occ_merge//​ $sites [//​occ_merge_radius//​ !E]]...**
 +
 +//​occ_merge//​ rewrites the site occupancy of the sites defined in $sites in terms of their fractional atomic coordinates (Favre-Nicolin and R. Cerny 2002). This is useful during structure solution for merging ocathedra or other types of defined rigid bodies. It is also useful for identifying special positions as seen in the example PBSO4-DECOMPOSE.INP.
 +
 +In the present implementation $sites are thought of as spheres with a radius //​occ_merge_radius.//​ When two atoms approach within a distance less than the sum of their respective //​occ_merge_radius//​’s then the spheres intersect. The occupancies of the sites, occ_xyz,  thus become:
 +
 +occ_xyz = 1 / (1 + Intersection fractional volumes)
 +
 +In this way any number of sites can be merged.
 +
 +Sites appearing in $sites cannot have their occupancies refined. On termination of refinement the //occ// parameter values are updated with their corresponding occ_xyz.
 +
 +**[//​omit_hkls//​ !E]**
 +
 +Allows for the filtering of hkls using the reserved parameter names of H, K, L and D_spacing. More than one omit_hkls can be defined, for example:
 +
 +omit_hkls = If(And(H==0,​ K==0), 1, 0);
 +
 +omit_hkls = And(H==0, K==1);
 +
 +omit_hkls = D_spacing < 1;
 +
 +**[//​one_on_x_conv//​ E]...**
 +
 +Defines //​e//<​sub>​m</​sub>​  in the convolution function:
 +
 +(4 ½//​e//<​sub>​m</​sub>​ //e//½) <​sup>​-</​sup><​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. //​one_on_x_conv//​ is used for example by the Divergence macro.
 +
 +**[//​only_penalties//​]**
 +
 +Instructs the minimization procedure to minimize on penalty functions only. The //​only_penalties//​ switch is assumed when there are only penalties to minimize, i.e. when there are no observed data. Note, parameters that are not functions of penalties are not refined.
 +
 +**[//​out_A_matrix//​ $file]**
 +
 +**[//​A_matrix_prm_filter//​ $filter]**
 +
 +//​out_A_matrix//​ outputs the least squares **A** matrix to the file $file; used in the Out_for_cf macro. Output can be limited by using //​A_matrix_prm_filter//,​ here’s an example for outputting A matrix elements corresponding to parameters with names starting with ‘q’:
 +
 +out_A_matrix file.a
 +
 +A_matrix_prm_filter q*
 +
 +**[//out// $file [//​append//​] ]...**
 +
 +**[//​out_record//​]**
 +
 +**[//​out_eqn//​ !E]**
 +
 +**[//​out_fmt//​ $c_fmt_string]**
 +
 +**[//​out_fmt_err//​ $c_fmt_string]...**
 +
 +Used for writing parameter details to a file. The details are appended to $file when //append// is defined. //out_eqn// defines the equation or parameter to be written to $file using the //​out_fmt//​. $c_fmt_string describes a format string in c syntax containing a single format specified for a double precision number. //​out_fmt_err//​ defines the $c_fmt_string used for formatting the error of //eqn.//
 +
 +Both //out_fmt// and //​out_fmt_err//​ requires an //out_eqn// definition. //out_fmt// can be used without //out_eqn// for writing strings. The order of //out_fmt// and //​out_fmt_err//​ determines which is written to file first; thus if //​out_fmt_err//​ is defined first then it will be operated on first.
 +
 +The following example illustrates the use of //out// using the Out macros.
 +
 +xdd...
 +
 +out "​sample output.txt"​ append
 +
 +str...
 +
 +CS_L(cs_l, 1000)
 +
 +Out_String("​\tCrystallite Size Results:​\n"​)
 +
 +Out_String("​\t=========================\n"​)
 +
 +Out(cs_l, "​\tCrystallite Size (nm):​\t%11.5f",​
 +
 +          "​\tError in Crystallite Size:​\t%11.5f\n"​)
 +
 +//out// provides a means of defining individual refinement result files, see example OUT-1.INP.
 +
 +**[//​out_rwp//​ $file]**
 +
 +Outputs a list of R<​sub>​wp</​sub>​ values encountered during refinement to the file $file.
 +
 +**[//​out_prm_vals_per_iteration//​ $file]... | [//​out_prm_vals_on_convergence//​ $file]...**
 +
 +**[//​out_prm_vals_filter//​ $filter]**
 +
 +Outputs refined parameter values per iteration or on convergence into the file $file. In the absence of //​out_prm_vals_filter//​ then all parameters are outputted otherwise only parameters with names defined in //​out_prm_vals_filter//​ are considered where $fliter can contain the wild card charatcter ’*’ and the negation character ’!’, for example:
 +
 +out_prm_vals_per_iteration PRM_VALES.TXT
 +
 +out_prm_vals_filter "* !u*"
 +
 +More than one //​out_prm_vals_per_iteration/////​out_prm_vals_on_convergence//​ can be defined outputting different parameters into different files depending on the corresponding //​out_prm_vals_filter//​.

Personal Tools