本文整理汇总了Python中larch.Group.sso2方法的典型用法代码示例。如果您正苦于以下问题:Python Group.sso2方法的具体用法?Python Group.sso2怎么用?Python Group.sso2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类larch.Group
的用法示例。
在下文中一共展示了Group.sso2方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: do_fit
# 需要导入模块: from larch import Group [as 别名]
# 或者: from larch.Group import sso2 [as 别名]
def do_fit(self, which, firstshell=False, fittest='baseline'):
if which == 'testrun':
folder = self.testrun
elif which == 'baseline':
folder = self.baseline
else:
folder = realpath(join(self.folder, fittest, which))
#endif
data = read_xdi(join(self.path, 'BaZrO3.chik'), _larch=self._larch)
gds = Group(amp = Parameter(0.95, vary=True, _larch=self._larch),
enot = Parameter(1e-7, vary=True, _larch=self._larch),
sso = Parameter(0.003, vary=True, _larch=self._larch),
czr = Parameter(0., vary=False, _larch=self._larch), _larch=self._larch )
if firstshell:
gds.delr = Parameter(1e-7, vary=True, _larch=self._larch)
dr1param = 'delr'
else:
gds.alpha = Parameter(0.00001, vary=True, _larch=self._larch)
gds.ssba = Parameter(0.003, vary=True, _larch=self._larch)
gds.sszr = Parameter(0.003, vary=True, _larch=self._larch)
gds.eba = Parameter(1e-7, vary=True, _larch=self._larch)
gds.ezr = Parameter(1e-7, vary=True, _larch=self._larch)
#gds.eba = Parameter(expr='enot', _larch=self._larch)
#gdsezr = Parameter(expr='enot', _larch=self._larch)
gds.sso2 = Parameter(0.003, vary=True, _larch=self._larch)
dr1param = 'alpha*reff'
paths = list()
paths.append(feffpath(realpath(join(folder, "feff0001.dat")),
s02 = 'amp',
deltar = dr1param,
e0 = 'enot',
sigma2 = 'sso',
_larch=self._larch))
if not firstshell:
paths.append(feffpath(realpath(join(folder, "feff0002.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'enot',
sigma2 = 'sso*1.5',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0003.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'eba',
sigma2 = 'ssba',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0004.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'ezr',
sigma2 = 'sszr',
third = 'czr',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0005.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'enot',
sigma2 = 'sso*2',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0006.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = '(enot+ezr)/2',
sigma2 = 'sszr',
third = 'czr',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0007.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'enot',
sigma2 = 'sso*2',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0009.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = '(2*enot+ezr)/3',
sigma2 = 'sszr',
third = 'czr',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0008.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'enot',
sigma2 = 'sso*4',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0011.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = '(enot+eba)/2',
sigma2 = 'ssba+sso',
_larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0012.dat")),
s02 = 'amp',
deltar = 'alpha*reff',
e0 = 'enot',
#.........这里部分代码省略.........
示例2: do_fit
# 需要导入模块: from larch import Group [as 别名]
# 或者: from larch.Group import sso2 [as 别名]
def do_fit(self, which, firstshell=False, fittest='baseline'):
if which == 'testrun':
folder = self.testrun
elif which == 'baseline':
folder = self.baseline
else:
folder = realpath(join(self.folder, fittest, which))
#endif
data = read_xdi(join(self.path, 'NiO.chik'), _larch=self._larch)
if hasattr(data, 'wavenumber'):
data.k = data.wavenumber
gds = Group(amp = Parameter(1, vary=True, _larch=self._larch),
enot = Parameter(1e-7, vary=True, _larch=self._larch),
sso = Parameter(0.003, vary=True, _larch=self._larch), _larch=self._larch )
if firstshell:
gds.delr = Parameter(1e-7, vary=True, _larch=self._larch)
dr1param = 'delr'
else:
gds.alpha = Parameter(1e-7, vary=True, _larch=self._larch)
gds.ssni = Parameter(0.003, vary=True, _larch=self._larch)
gds.sso2 = Parameter(0.003, vary=True, _larch=self._larch)
#gds.sso3 = Parameter(0.003, vary=True, _larch=self._larch)
gds.ssni2 = Parameter(0.003, vary=True, _larch=self._larch)
#gds.ssni3 = Parameter(0.003, vary=True, _larch=self._larch)
#gds.ssni4 = Parameter(0.003, vary=True, _larch=self._larch)
dr1param = 'alpha*reff'
paths = list()
paths.append(feffpath(realpath(join(folder, "feff0001.dat")), # 1st shell O SS
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso',
deltar = dr1param, _larch=self._larch))
if not firstshell:
paths.append(feffpath(realpath(join(folder, "feff0002.dat")), # 2nd shell Ni SS
s02 = 'amp',
e0 = 'enot',
sigma2 = 'ssni',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0003.dat")), # O-O triangle
s02 = 'amp',
e0 = 'enot',
sigma2 = '1.5*sso',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0004.dat")), # O-Ni triangle
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso+ssni/2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0005.dat")), # 3rd shell O SS
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0006.dat")), # 4th shell Ni SS
s02 = 'amp',
e0 = 'enot',
sigma2 = 'ssni2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0007.dat")), # O-O non-forward linear
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso*2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0008.dat")), # O-Ni forward scattering
s02 = 'amp',
e0 = 'enot',
sigma2 = 'ssni2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0009.dat")), # O-O forward through absorber
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso*2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0011.dat")), # O-Ni-O double forward
s02 = 'amp',
e0 = 'enot',
sigma2 = 'ssni2',
deltar = 'alpha*reff', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0010.dat")), # O-O rattle (the order of 10 and 11 is different in Demeter's pathfinder!)
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso*4',
deltar = 'alpha*reff', _larch=self._larch))
rx = 4.2
if firstshell: rx = 1.95
trans = feffit_transform(kmin=3, kmax=15.938, kw=(2,1,3), dk=1, window='hanning', rmin=1.0, rmax=rx, _larch=self._larch)
dset = feffit_dataset(data=data, pathlist=paths, transform=trans, _larch=self._larch)
fit = feffit(gds, dset, _larch=self._larch)
if self.doplot:
offset = 0.6*max(dset.data.chir_mag)
_newplot(dset.data.r, dset.data.chir_mag+offset, xmax=8,
xlabel=r'$R \rm\,(\AA)$', label='data',
#.........这里部分代码省略.........
示例3: do_fit
# 需要导入模块: from larch import Group [as 别名]
# 或者: from larch.Group import sso2 [as 别名]
def do_fit(self, which, firstshell=False, fittest='baseline'):
if which == 'testrun':
folder = self.testrun
elif which == 'baseline':
folder = self.baseline
else:
folder = realpath(join(self.folder, fittest, which))
#endif
data = read_xdi(join(self.path, 'UO2.chik'), _larch=self._larch)
gds = Group(amp = Parameter(1, vary=True, _larch=self._larch),
enot = Parameter(1e-7, vary=True, _larch=self._larch),
sso = Parameter(0.003, vary=True, _larch=self._larch),
dro = Parameter(1e-7, vary=True, _larch=self._larch), _larch=self._larch )
if not firstshell:
gds.ssu = Parameter(0.003, vary=True, _larch=self._larch)
gds.sso2 = Parameter(0.003, vary=True, _larch=self._larch)
gds.dru = Parameter(1e-7, vary=True, _larch=self._larch)
gds.dro2 = Parameter(1e-7, vary=True, _larch=self._larch)
gds.nu = Parameter(12, vary=True, _larch=self._larch)
gds.no2 = Parameter(expr='2*nu', _larch=self._larch)
paths = list()
paths.append(feffpath(realpath(join(folder, "feff0001.dat")), # 1st shell O SS
s02 = 'amp',
e0 = 'enot',
sigma2 = 'sso',
deltar = 'dro', _larch=self._larch))
if not firstshell:
# paths.append(feffpath(realpath(join(folder, "feff0002.dat")), # triangle in first shell
# s02 = 'amp',
# e0 = 'enot',
# sigma2 = 'sso*(1+sqrt(3))**2',
# deltar = 'dro*(1+sqrt(3))/2', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0003.dat")), # 2nd shell U SS
degen = 1,
s02 = 'amp*nu',
e0 = 'enot',
sigma2 = 'ssu',
deltar = 'dru', _larch=self._larch))
# paths.append(feffpath(realpath(join(folder, "feff0004.dat")), # 1st shell, longer triangle
# s02 = 'amp',
# e0 = 'enot',
# sigma2 = 'sso*(1+sqrt(2/3))**2',
# deltar = '(1+sqrt(2/3))*dro', _larch=self._larch))
# paths.append(feffpath(realpath(join(folder, "feff0005.dat")), # 1st shell, longer U-O-U triangle
# degen = 1,
# s02 = 'amp*nu',
# e0 = 'enot',
# sigma2 = 'sso*ssu/2',
# deltar = '(1+sqrt(2/3))*dro', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0006.dat")), # 3rd shell O SS
degen = 1,
s02 = 'amp*no2',
e0 = 'enot',
sigma2 = 'sso2',
deltar = 'dro2', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0007.dat")), # 1st shell, non-forward linear through absorber
s02 = 'amp',
e0 = 'enot',
sigma2 = '2*sso2',
deltar = '2*dro2', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0008.dat")), # 1st shell forward through absorber
s02 = 'amp',
e0 = 'enot',
sigma2 = '2*sso',
deltar = '2*dro', _larch=self._larch))
paths.append(feffpath(realpath(join(folder, "feff0009.dat")), # rattle in 1st shell
s02 = 'amp',
e0 = 'enot',
sigma2 = '2*sso',
deltar = '2*dro', _larch=self._larch))
rx = 4.3
if firstshell: rx = 2.5
trans = feffit_transform(kmin=3, kmax=11, kw=(2,1,3), dk=1, window='hanning', rmin=1.25, rmax=rx, _larch=self._larch)
dset = feffit_dataset(data=data, pathlist=paths, transform=trans, _larch=self._larch)
fit = feffit(gds, dset, _larch=self._larch)
if self.doplot:
offset = max(dset.data.chir_mag)
_newplot(dset.data.r, dset.data.chir_mag+offset, xmax=8,
xlabel=r'$R \rm\,(\AA)$', label='data',
ylabel=r'$|\chi(R)| \rm\,(\AA^{-3})$',
title='Fit to '+self.folder, show_legend=True, _larch=self._larch)
_plot(dset.model.r, dset.model.chir_mag+offset, label='fit', _larch=self._larch)
_plot(dset.data.r, dset.data.chir_re, label='data', _larch=self._larch)
_plot(dset.model.r, dset.model.chir_re, label='fit', _larch=self._larch)
#end if
if self.verbose:
print feffit_report(fit, _larch=self._larch)
#end if
shells = ''
#.........这里部分代码省略.........