[peak_type $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 [h1h2m1m2 E] The sum of h1 and h2 gives the FWHM of the composite peak. m1, m2 are the PearsonVII exponents of the left and right composite peak, respectively.
Split-PseudoVoigt   spv [spv_h1spv_h2spv_l1spv_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:


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 K1 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 cm2/g for the current phase. See description for mixture_MAC.

[phase_out $file [append] ]…

Used for writing phase dependent details to file. See the keyword out for a description of 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 dhkl + t2 dhkl2

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:

where = assigned phase, = calculated phase, Ic = 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.  is calculated from sites identified in $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 . 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


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.


Displays process times on termination of refinement.

Personal Tools