# Differences

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

 p [2009/08/06 15:39]clare created p [2009/08/27 12:17] (current)clare 2009/08/27 12:17 clare 2009/08/06 15:39 clare created 2009/08/27 12:17 clare 2009/08/06 15:39 clare created Line 1: Line 1: ====== p ====== ====== p ====== + **[//​peak_typ//​****//​e//​** **\$type]** + + Sets the peak type for a phase. The following //​peak_type//​’s are available: + + | **Peak type** | **\$type** | **Parameters** | + | Fundamental Parameters | fp |   | + | Pseudo-Voigt   | pv | [//pv_lor E  pv_fwhm E//] //pv_lor// is the Lorentzian fraction of the peak profile(s). //pv_fwhm// is the FWHM of the peak profile(s). | + | Split-PearsonVII   | spvii | [//h1// E  //h2// E  //m1// E  //m2// E] The sum of //h1// and //h2// gives the FWHM of the composite peak. //m1, m//2 are the PearsonVII exponents of the left and right composite peak, respectively. | + | Split-PseudoVoigt   | spv | [//spv_h1// E  //spv_h2// E  //spv_l1// E  //spv_l2// E] The sum of //spv_h1// and //spv_h2// gives the full width at half maximum of the composite peak. //spv_l1, spv_l2//: the Lorentzian fractions of the left and right composite peak, respectively. | + + **[//​peak_buffer_step//​ E [//​report_on//​]]** + + As the shapes of phase peaks do not change significantly over a short 2q range, a new peak shape is calculated only if the position of the last peak shape calculated is more than the distance defined by //​peak_buffer_step//​. Various stretching and interpolation procedures are used in order to calculate in-between peaks. See also section 6.4. + + The reserved parameter names of H, K, L, M or parameter names associated with the keywords //​sh_Cij_prm//​ and //​hkl_angle//​ when used in the peak convolution equations result in irregular peak shapes over short 2q ranges and thus a separate peak shape is calculated for each peak. + + When defined //​report_on//​ causes the display of the number of peaks in the peaks buffer. + + //​peak_buffer_step//​ is set to 500*//​Peak_Calculation_Step//​ by default. + + **[//​penalty//​ !E]...** + + Defines a penalty function that can be a function of other parameters. Penalties are useful for stabilizing refinements as in for example their use in bond-length restraints. + + Example HOCK.INP uses penalties to minimize on the Hock and Schittkowski problem number 65 function. + + prm x1 1 min -4.5 max 4.5  val_on_continue = Rand(-4.5, 4.5); del .01 + + prm x2 1 min -4.5 max 4.5  val_on_continue = Rand(-4.5, 4.5); del .01 + + prm x3 1 min -5.0 max 5.0  val_on_continue = Rand(-5.0, 5.0); del .01 + + + + ' Hock and Schittkowski problem number 65 function + + penalty = (x1-x2)^2 + (1/9) (x1 + x2 - 10)^2 + (x3 - 5)^2; : 0 + + + + prm contraint_1 = x1^2 + x2^2 + x3^2; + + penalty = If(contraint_1 < 48, 0, (contraint_1-48)^2);​ : 0 + + The next example applies a User defined penalty function to lattice and crystallite size parameters, which are expected to be 5.41011 Å and 200 nm respectively:​ + + str... + + Cubic(lp_ceo2 5.41011) + + penalty = (lp_ceo2-5.41011)^2;​ + + CS_L(cs_l, 200) + + penalty =(cs_l-200)^2;​ + + Minimizing on penalty functions in the presence of observed data is possible with the use of the //​only_penalties//​ keyword. + + **[//​penalties_weighting_K1//​ !E]** + + Defines the weighting K<​sub>​1​ given to penalty functions as defined in Eq. (5‑2). //​penalties_weighting_K1//​ is set to 1 by default. + + **[//​percent_zeros_before_sparse_A//​ #]** + + Defines the percentage of the A matrix than can be zero before sparse matrix methods are invoked. The default value is 60%. + + **[//​phase_MAC//​ !E]** + + Calculates the mass absorption coefficient in cm<​sup>​2/​g for the current phase. See description for //​[[#​k038|mixture_MAC]]//​. + + **[//​phase_out//​ \$file [//​append//​] ]...** + + Used for writing phase dependent details to file. See the keyword //out// for a description of //​[[#​k045|out_record]]//​. The Create_hklm_d_Th2_Ip_file uses //​phase_out//​. + + **[//​pk_xo//​ E]** + + Provides a mechanism for transforming peak position to an x-axis position. For example, the peak position for neutron time-of-flight data is typically calculated in time-of-flight space, tof, or: + + tof = t0 + t1 d<​sub>​hkl​ + t2 d<​sub>​hkl<​sup>​2​ + + where t0 and t1 and t2 are diffractometer constants. //pk_xo// can be used to refine TOF data as shown in examples TOF_Balzar_sh1.inp and TOF_Balzar_br1.inp. + + **[//​phase_name//​ \$phase_name]** + + The name given to a phase; used for reporting purposes. + + **[//​phase_penalties//​** **\$sites N]...****[//​hkl_Re_Im//​ #h #k #l #Re #Im]...** + + **[//​accumulate_phases_and_save_to_file//​ \$file]** + + **[//​accumulate_phases_when//​ !E]** + + //​phase_penalties//​ for a single hkl is defined as follows: + + <​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>​{{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; + + phase_penalties * pp1 + + load hkl_Re_Im + + { + + 0   1   2   1  0 + + 1   0  -2   1  0 + + 1  -2  -1   1  0 + + } + + hkls chosen for phase penalties should comprise those that are of high intensity, large d-spacing and isolated from other peaks to avoid peak overlap. Origin defining hkls are typically chosen. + + //​accumulate_phases_and_save_to_file//​ saves the average phases collected to \$file//.// Phases are collected when //​accumulate_phases_when//​ evaluates to true; //​accumulate_phases_when//​ defaults to true. Here’s an example use: + + temperature 1 + + temperature 1 + + temperature 1 + + temperature 1 + + temperature 10 + + ...move_to_the_next_temperature_regardless_of_the_change_in_rwp + + accumulate_phases_and_save_to_file SOME_FILE.TXT + + accumulate_phases_when = T == 10; + + Here phases with the best Rwp since the last accumulation are accumulated when the current temperature is 10. + + ** [//​process_times//​]** + + Displays process times on termination of refinement.

##### Toolbox 