Warning: Trying to access array offset on value of type null in /home/site/wwwroot/lib/plugins/move/action/rename.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/actions.php on line 38
insert_peak_hkl [topas wiki]

User Tools

Site Tools


insert_peak_hkl

Insert a peak at position fixed by hkl

The macro below lets you insert freely-refined peaks at values determined by h,k,l of a specified unit cell. It's only written for orthorhombic, tetragonal or cubic systems, but you could modify the dsp equation for other systems. It uses a single overall lorentzian mixing. You can optionally restrain the intensity to known values. Enter 0 and penweight 0 if you don't want to do this.

xdd ....
prm lpap 10.598
prm lpbp 10.598
prm lpcp 10.598
prm lor  0.984351773`_0.00788793893 min 0 max 1 'use a single overall lorentzian mixing, you could do this per peak
prm !penweight 1 'change to 1 and the refined intensity is restrained to some ideal value
prm !fwhm_max 0.8 'use this to reset fwhm if needed
 
Peak_hkl(   2,  0,  0,  6,         0.06, 16.7166832`_3.56628528e-05, @, 0.0778591013`_0.0248680646, @, 0.0708756377`_0.00970465715)
Peak_hkl(   2,  1,  1, 24,         4.18, 20.5104712`_4.39171268e-05, @, 0.0587888733`_0.00123729557, @, 4.24569394`_0.0341241639)
macro Peak_hkl(& h,& k,& l,& m,& intideal,tth,fwhm,fwhmv,int,intv) {
	'read in h,k,l,m, ideal intensity from Rietveld fit
	'fit a peak with refinable fwhm and intensity
	'optionally restrain intensity to an ideal value
	#m_argu fwhm 
	#m_argu int
	#m_argu tth
	If_Prm_Eqn_Rpt(fwhm, fwhmv, min .000000000001 max =fwhm_max;)
	If_Prm_Eqn_Rpt(int, intv, min .000001 max 1000000)
	prm #m_unique dsp = Sqrt((h)^2/(lpap)^2+(k)^2/(lpbp)^2+(l)^2/(lpcp)^2);
	prm #m_unique tthc  = (360/Pi)*ArcSin(Get(lam)/2*dsp); : tth
	xo_Is xo   =tthc;  peak_type pv pv_lor =lor;  pv_fwhm =CeV(fwhm,fwhmv); I =CeV(int,intv); 
	penalty = penweight * (CeV(int,intv)-intideal)^2;
	out "results.txt" append
	Out(h, " %2.0f")
	Out(k, " %2.0f")
	Out(l, " %2.0f")
	Out(int, " %11.8f")
	Out(fwhm, " %11.8f"," %11.8f\n")
}
insert_peak_hkl.txt · Last modified: 2024/06/22 07:00 by johnsoevans