Trace:

# Differences

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

a [2009/08/06 15:35] clare created |
a [2009/08/27 12:10] clare |
||
---|---|---|---|

Line 1: | Line 1: | ||

====== a ====== | ====== a ====== | ||

+ | **[//a// E] [//b// E] [//c// E] [//al// E] [//be// E] [//ga// E]** | ||

+ | |||

+ | Lattice parameters in Angstroms and lattice angles in degrees. | ||

+ | |||

+ | **[//adps//] [//u11// E] [//u22// E] [//u33// E] [//u12// E] [//u13// E] [//u23// E]** | ||

+ | |||

+ | //adps// when used generates the //unn// atomic displacement parameters with considerations made for special positions. On termination of refinement the //adps// keyword is replaced with the //unn// parameters; see example AE1-ADPS.INP. Instead of using the //adps// keyword the //unn// parameters can be manually entered. | ||

+ | |||

+ | The //unn// matrix can be kept positive definite with the site dependent macro ADPs_Keep_PD; this can stabilize refinement. The ADPs_Keep_PD macro can be used after the //unn// parameters are created. | ||

+ | |||

+ | **[//amorphous_phase//]** | ||

+ | |||

+ | Signals that the associated phase is amorphous when calculating //degree_of_crystallinity//. | ||

+ | |||

+ | ** [//A_matrix//][//C_matrix//][//A_matrix_normalized//][//C_matrix_normalized//]** | ||

+ | |||

+ | Generates the un-normalized and normalized A and correlation matrices. If //do_errors// is defined then //C_matrix_normalized// is automatically generated and appeneded to the OUT file. | ||

+ | |||

+ | **[//append_cartesian//] [//append_fractional// [//in_str_format//] ]** | ||

+ | |||

+ | Appends site fractional coordinates in Cartesian or fractional coordinates respectively to the *.OUT file at the end of a refinement. For the case of //append_fractional//, the //in_str_format// keyword formats the output in INP format. | ||

+ | |||

+ | **[//append_bond_lengths// [//consider_lattice_parameters//] ]** | ||

+ | |||

+ | Appends bond lengths to the end of the *.OUT file at the end of refinement. A number corresponding to equivalent positions is appended to site names. | ||

+ | |||

+ | //consider_lattice_parameters// includes the effects of lattice parameter errors in the calculation of bond length and bond angle errors. | ||

+ | |||

+ | An example of bond lengths output is as follows: | ||

+ | |||

+ | Y1:0 O1:0 2.23143 | ||

+ | |||

+ | O2:0 2.23143 88.083 | ||

+ | |||

+ | O3:0 2.28045 109.799 99.928 | ||

+ | |||

+ | The first line gives the distance between the sites Y1 and O2. The first number in the second line gives the distance between sites Y1 and O2. The third number of 88.083 gives the angle between the vectors Y1 to O1 and Y1 to O2. The first number on the third line contains the distance between sites Y1 and O3. The second number in the third line contains the angle between the vectors Y1 to O3 and Y1 to O2. The third number in line three contains the angle between the vectors Y1 to O3 and Y1 to O1. Thus bond lengths correspond to the first number in each line and bond angles start from the second number. The numbers after the site name and after the ‘:’ character corresponds to the site equivalent position as found in the *.SG space group files found in the SG directory | ||

+ | |||

+ | **[//approximate_A//]** | ||

+ | |||

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

+ | |||

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

+ | |||

+ | **[//A_matrix_report_on//]** | ||

+ | |||

+ | See section 5.2 for a description of //approximate_A//. | ||

+ | |||

+ | //A_matrix_memory_allowed_in_Mbytes// limits the memory used by the **A** matrix to a maximum of //A_matrix_memory_allowed_in_Mbytes//. If the matrix requires less than //A_matrix_memory_allowed_in_Mbytes// then the full matrix is used otherwise the matrix is treated as a sparse matrix. | ||

+ | |||

+ | //A_matrix_elements_tollerance// removes elements in the **A** matrix with values less than //A_matrix_elements_tollerance.// The comparison is made againts normalized elements of **A** such that the diagonals have a values of 1. The **A** matrix is made sparse when //A_matrix_elements_tollerance// is defined. Typical values of //A_matrix_memory_allowed_in_Mbytes// range from 0.0001 to 0.01. | ||

+ | |||

+ | //A_matrix_memory_allowed_in_Mbytes// and //A_matrix_elements_tollerance// can be used simultanuously. | ||

+ | |||

+ | //A_matrix_report_on// displays the percentage of non-zero elements in the **A** matrix. | ||

+ | |||

+ | ** [//atomic_interaction// N E] | [//ai_anti_bump// N]...** | ||

+ | |||

+ | **//ai_sites_1//** **$sites_1 //ai_sites_2// $sites_2** | ||

+ | |||

+ | **[//ai_no_self_interation//]** | ||

+ | |||

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

+ | |||

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

+ | |||

+ | **[//ai_exclude_eq_0//]** | ||

+ | |||

+ | **[//ai_only_eq_0//]** | ||

+ | |||

+ | Defines an atomic interaction with the name N between [[#k142|sites identified]] by $site_1 and $site_2. For //atomic_interaction// E is the site interaction equation that can be a function of R and Ri. R returns the distance in Å between two atoms; these distances are updated when dependent fractional atomic coordinates are modified. The name of the //atomic_interaction// N can be used in equations and in particular penalty equations. | ||

+ | |||

+ | For //ai_anti_bump// an anti-bump interaction equations is internally generated. For anti-bumping only the //ai_anti_bump// is faster than using //atomic_interaction//. The macro AI_Anti_Bump uses//ai_anti_bump//. | ||

+ | |||

+ | //no_self_interaction// prevents any interactions between equivalent positions of a site. This is useful when a general position is used to describe a special position. | ||

+ | |||

+ | //ai_closest_N//: interactions between $sites_1 and $sites_2 are sorted by distance and only the first //ai_closest_N// number of interactions are considered. | ||

+ | |||

+ | //ai_radius//: only the interactions between $sites_1 and $sites_2 that are within the distance //ai_radius// are considered. | ||

+ | |||

+ | When //ai_radius// and //ai_closest_N// are both defined then interactions from both sets of corresponding interaction are considered. | ||

+ | |||

+ | //ai_exclude_eq_0//: only interactions that is not the first equivalent positions in $sites_2 are considered. For example, in the following: | ||

+ | |||

+ | atomic_interaction... | ||

+ | |||

+ | ai_exclude_eq_0 | ||

+ | |||

+ | ai_sites_1 Pb | ||

+ | |||

+ | ai_sites_1 “O1 O2” | ||

+ | |||

+ | the following interactions are considered: | ||

+ | |||

+ | Pb:0 and O1:n (n ¹ 0) | ||

+ | |||

+ | Pb:0 and O2:n (n ¹ 0) | ||

+ | |||

+ | where the number after the ‘:’ character corresponds to the equivalent positions of the sites. | ||

+ | |||

+ | //ai_only_eq_0//:only interactions between equivalent positions 0 are considered. | ||

+ | |||

+ | **__Functions__** | ||

+ | |||

+ | The //atomic_interaction//’ equation can be a function of the following functions: | ||

+ | |||

+ | AI_R(#ri): Returns the distance between the current site and the atom defined with Ri = #ri. | ||

+ | |||

+ | AI_R_CM: A function of no arguments that returns the geometric center of the current atom and the atoms defined in $sites_2. | ||

+ | |||

+ | AI_Flatten(#toll): A function that returns the sum of distances of the current atom and those defined in $sites_2 to an approximate plane of best fit. The plane of best fit is constructed such that the sum of the perpendicular distances to the current atom plus those defined in $sites_2 are a minimum | ||

+ | |||

+ | AI_Cos_Angle(#ri1, #ri2): Returns the Cos of the angle between the atom define as Ri=#ri1, the current atom and the atom defined as Ri=#ri2. | ||

+ | |||

+ | AI_Angle(#ri1, #ri2) : Similar to AI_Cos_Angle except that the value returned is the angle in degrees. | ||

+ | |||

+ | Examples BENZENE_AI1.INP, BENZENE_AI2.INP and BENZENE_AI3.INP demonstrates the use of the //atomic_interation// functions. | ||

+ | |||

+ | //atomic_interaction//’s can be used to apply geometric restraints. For example, an anti-bump interaction between symmetry related molecules can be formulated as follows: | ||

+ | |||

+ | atomic_interaction ai1 = | ||

+ | |||

+ | IF R < 3 THEN | ||

+ | |||

+ | (R-3)^2 | ||

+ | |||

+ | ELSE | ||

+ | |||

+ | 0 | ||

+ | |||

+ | ENDIF | ||

+ | |||

+ | ; | ||

+ | |||

+ | ai_exclude_eq_0 | ||

+ | |||

+ | ai_sites_1 C* | ||

+ | |||

+ | ai_sites_1 C* | ||

+ | |||

+ | ai_radius 3 | ||

+ | |||

+ | penalty = If(Cycle_Iter < 10, ai1, 0); | ||

+ | |||

+ | This example demonstrates anti-bumping between molecules for the first ten iterations of a [[#k144|refinement cycle]]. | ||

+ | |||

+ | **[//atom_out// $file [append] ]...** | ||

+ | |||

+ | Used for writing //site// dependent details to file. See the keyword //out// for a description of //[[#k045|out_record]]//. The Out_CIF_STR uses //atom_out// | ||

+ | |||

+ | **[//axial_conv//]... ** | ||

+ | |||

+ | **//filament_length//** **E //sample_length// E //receiving_slit_length// E** | ||

+ | |||

+ | **[//primary_soller_angle// E]** | ||

+ | |||

+ | **[//secondary_soller_angle// E]** | ||

+ | |||

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

+ | |||

+ | Defines the full axial divergence model using the method of Cheary & Coelho (1998b). | ||

+ | |||

+ | //filament_length, sample_length// and //receiving_slit_length// define the length of the tube filament, sample and receiving slit in the axial plane in mm. | ||

+ | |||

+ | //primary_soller_angle//: primary Soller slit angle in degrees. | ||

+ | |||

+ | //secondary_soller_angle//: secondary Soller slit angle in degrees. | ||

+ | |||

+ | //axial_n_beta//: Define the number of rays emanating from a point X-ray source in the axial plane. Larger values for //axial_n_beta// increases both accuracy and calculation time. | ||

+ | |||

+ | The macro Full_Axial_Model simplifies the use of //axial_conv//. |