add isotropic line shift to czjzek #317
@@ -176,8 +176,8 @@ class CzjzekCT:
|
|||||||
type = 'Spectrum'
|
type = 'Spectrum'
|
||||||
name = 'Czjzek (Central Line)'
|
name = 'Czjzek (Central Line)'
|
||||||
equation = ''
|
equation = ''
|
||||||
params = ['A', r'\sigma', 'GB', r'\omega_{L}']
|
params = ['A', r'\sigma', r'f_{iso}', 'GB', r'\omega_{L}']
|
||||||
bounds = [(0, None), (0, None), (0, None), (0, None)]
|
bounds = [(0, None), (0, None), (None, None), (0, None), (0, None)]
|
||||||
choices = [('Spin', 'spin', {'3/2': 1.5, '5/2': 2.5}),
|
choices = [('Spin', 'spin', {'3/2': 1.5, '5/2': 2.5}),
|
||||||
('Broadening', 'broad', {'Gaussian': 'g', 'Lorentzian': 'l'})]
|
('Broadening', 'broad', {'Gaussian': 'g', 'Lorentzian': 'l'})]
|
||||||
|
|
||||||
@@ -186,6 +186,7 @@ class CzjzekCT:
|
|||||||
x: np.ndarray,
|
x: np.ndarray,
|
||||||
c: float,
|
c: float,
|
||||||
sigma: float,
|
sigma: float,
|
||||||
|
f_iso: float,
|
||||||
gb: float,
|
gb: float,
|
||||||
f_l: float,
|
f_l: float,
|
||||||
spin: float = 1.5,
|
spin: float = 1.5,
|
||||||
@@ -218,7 +219,7 @@ class CzjzekCT:
|
|||||||
orient += prefactor_b * cos_theta_square
|
orient += prefactor_b * cos_theta_square
|
||||||
orient += prefactor_c
|
orient += prefactor_c
|
||||||
|
|
||||||
vQ = -orient[..., None] * coupling[None, None, :]
|
vQ = -(orient[..., None] * coupling[None, None, :]) + f_iso
|
||||||
weights = np.ones_like(vQ) * dist
|
weights = np.ones_like(vQ) * dist
|
||||||
|
|
||||||
bins = _make_bins(x)
|
bins = _make_bins(x)
|
||||||
@@ -239,4 +240,5 @@ class CzjzekCT:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def czjzek(cq, eta, sigma):
|
def czjzek(cq, eta, sigma):
|
||||||
return np.exp(-cq ** 2 * (1 + eta**2 / 3) / 2 / sigma**2) * cq**4 * eta * (1 - eta**2 / 9) * np.sqrt(2 / np.pi) / sigma**5
|
return np.exp(-cq ** 2 * (1 + eta ** 2 / 3) / 2 / sigma ** 2) * cq ** 4 * eta * (
|
||||||
|
1 - eta ** 2 / 9) * np.sqrt(2 / np.pi) / sigma ** 5
|
||||||
|
Reference in New Issue
Block a user