Differences

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

Link to this comparison view

p [2009/08/06 15:39]
clare created
p [2009/08/27 12:17] (current)
clare
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</​sub>​ 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</​sup>/​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</​sub>​ + t2 d<​sub>​hkl</​sub><​sup>​2</​sup>​
 +
 +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}}</​sub>​where <​sub>​{{techref_files:​image164.gif?​21x29}}</​sub>​= assigned phase, <​sub>​{{techref_files:​image166.gif?​20x25}}</​sub>​= calculated phase, I<​sub>​c</​sub>​ = 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}}</​sub>​ 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}}</​sub>​. 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.

Personal Tools