BareHyperfine
- class nexus.BareHyperfine(BareHyperfine self, double const weight=0.0, double const isomer=0.0, double const magnetic_field=0.0, double const magnetic_theta=0.0, double const magnetic_phi=0.0, double const quadrupole=0.0, double const quadrupole_alpha=0.0, double const quadrupole_beta=0.0, double const quadrupole_gamma=0.0, double const quadrupole_asymmetry=0.0, double const texture=1.0, double const lamb_moessbauer=0.0, double const broadening=1.0, double const gaussian_broadening=0.0, bool const isotropic=False)
Constructor for
BareHyperfineclass. This class is only used for calculations of the nuclear Hamiltonian. Defines a set of hyperfine parameters acting on a Moessbauer isotope. Angles are input in degree but internally stored in radian.Changed in version 2.0.0: Input angles and stored angles are consistent now. All in degree.
- Parameters:
weight (float) – Relative weight of the site, > 0.
isomer (float) – Isomer shift (mm/s).
magnetic_field (float) – Magnetic hyperfine field amplitude (Tesla).
magnetic_theta (float) – Polar angle of the magnetic field with respect to the beam propagation direction - photon \(k\) vector (degree).
magnetic_phi (float) – Azimuthal angle of the magnetic field with respect to the \(sigma\) direction of the beam (degree).
quadrupole (float) – Quadrupole splitting amplitude (mm/s).
quadrupole_alpha (float) – Euler angle of the electric field gradient \(\alpha\) in ZYZ convention (degree).
quadrupole_beta (float) – Euler angle of the electric field gradient \(\beta\) in ZYZ convention (degree).
quadrupole_gamma (float) – Euler angle of the electric field gradient \(\gamma\) in ZYZ convention (degree).
quadrupole_asymmetry (float) – Asymmetry parameter of the electric field gradient, 0 to 1.
isotropic (bool) – If True the hyperfine site is set to 3D random distribution in both magnetic field and quadrupole splitting.
texture (float) –
Texture coefficient between 0 and 1.
Added in version 1.2.0.
lamb_moessbauer (float) –
Lamb-Moessbauer factor of the hyperfine site.
Added in version 1.2.0.
broadening (float or
Var) –Optional inhomogeneous broadening parameter. It introduces an additional Lorentzian broadening to the natural Lorentzian linewidth. The value multiplies with the natural linewidth.
Added in version 1.2.0.
gaussian_broadening (float or
Var) –Optional inhomogeneous Gaussian broadening parameter. It introduces an additional Gaussian broadening to the natural Lorentzian linewidth. The value is the FWHM of the Gaussian in units of the natural linewidth.
Added in version 2.0.0.
- weight
Relative weight of the site, > 0.
- Type:
float
- isomer
Isomer shift (mm/s).
- Type:
float
- magnetic_field
Magnetic hyperfine field amplitude (Tesla).
- Type:
float
- magnetic_theta
Polar angle of the magnetic field with respect to the beam propagation direction - photon \(k\) vector (rad, degree since version 2.0.0).
- Type:
float
- magnetic_phi
Azimuthal angle of the magnetic field with respect to the \(sigma\) direction of the beam (rad, degree since version 2.0.0).
- Type:
float
- quadrupole
Quadrupole splitting amplitude (mm/s).
- Type:
float
- quadrupole_alpha
Euler angle of the electric field gradient \(\alpha\) in ZYZ convention (rad, degree since version 2.0.0).
- Type:
float
- quadrupole_beta
Euler angle of the electric field gradient \(\beta\) in ZYZ convention (rad), degree since version 2.0.0.
- Type:
float
- quadrupole_gamma
Euler angle of the electric field gradient \(\gamma\) in ZYZ convention (rad, degree since version 2.0.0).
- Type:
float
- quadrupole_asymmetry
Asymmetry parameter of the electric field gradient, 0 to 1.
- Type:
float
- isotropic
If True the hyperfine site is set to 3D random distribution in both magnetic field and quadrupole splitting.
- Type:
bool
- texture
Texture coefficient between 0 and 1. If isotropic is
Trueit is not taken into account.Added in version 1.2.0.
- Type:
float
- lamb_moessbauer
Lamb-Moessbauer factor of the hyperfine site. Not used if the
lamb_moessbauerof the material isNone.Added in version 1.2.0.
- Type:
float
- broadening
Optional inhomogeneous broadening parameter. It introduces an additional Lorentzian broadening to the natural Lorentzian linewidth. The value multiplies with the natural linewidth.
Added in version 1.2.0.
- Type:
float or
Var
- gaussian_broadening
Optional inhomogeneous Gaussian broadening parameter. It introduces an additional Gaussian broadening to the natural Lorentzian linewidth. The value is the FWHM of the Gaussian in units of the natural linewidth.
Added in version 2.0.0.
- Type:
float or
Var
- Copy()
Copy the BareHyperfine object.
- property broadening
double
- Type:
broadening
- property gaussian_broadening
double
- Type:
gaussian_broadening
- property isomer
double
- Type:
isomer
- property isotropic
bool
- Type:
isotropic
- property lamb_moessbauer
double
- Type:
lamb_moessbauer
- property magnetic_field
double
- Type:
magnetic_field
- property magnetic_phi
double
- Type:
magnetic_phi
- property magnetic_theta
double
- Type:
magnetic_theta
- property quadrupole
double
- Type:
quadrupole
- property quadrupole_alpha
double
- Type:
quadrupole_alpha
- property quadrupole_asymmetry
double
- Type:
quadrupole_asymmetry
- property quadrupole_beta
double
- Type:
quadrupole_beta
- property quadrupole_gamma
double
- Type:
quadrupole_gamma
- property texture
double
- Type:
texture
- property weight
double
- Type:
weight
- class nexus.VectorBareHyperfine(VectorBareHyperfine self)
- class nexus.VectorBareHyperfine(VectorBareHyperfine self, VectorBareHyperfine other) VectorBareHyperfine
- class nexus.VectorBareHyperfine(VectorBareHyperfine self, std::vector< BareHyperfine >::size_type size) VectorBareHyperfine
- class nexus.VectorBareHyperfine(VectorBareHyperfine self, std::vector< BareHyperfine >::size_type size, BareHyperfine value) VectorBareHyperfine
List of
BareHyperfineobjects.- append(VectorBareHyperfine self, BareHyperfine x)
- assign(VectorBareHyperfine self, std::vector< BareHyperfine >::size_type n, BareHyperfine x)
- back(VectorBareHyperfine self) BareHyperfine
- begin(VectorBareHyperfine self) std::vector< BareHyperfine >::iterator
- capacity(VectorBareHyperfine self) std::vector< BareHyperfine >::size_type
- clear(VectorBareHyperfine self)
- empty(VectorBareHyperfine self) bool
- end(VectorBareHyperfine self) std::vector< BareHyperfine >::iterator
- erase(VectorBareHyperfine self, std::vector< BareHyperfine >::iterator pos) std::vector< BareHyperfine >::iterator
- erase(VectorBareHyperfine self, std::vector< BareHyperfine >::iterator first, std::vector< BareHyperfine >::iterator last) std::vector< BareHyperfine >::iterator
- front(VectorBareHyperfine self) BareHyperfine
- get_allocator(VectorBareHyperfine self) std::vector< BareHyperfine >::allocator_type
- insert(VectorBareHyperfine self, std::vector< BareHyperfine >::iterator pos, BareHyperfine x) std::vector< BareHyperfine >::iterator
- insert(VectorBareHyperfine self, std::vector< BareHyperfine >::iterator pos, std::vector< BareHyperfine >::size_type n, BareHyperfine x) None
- iterator(VectorBareHyperfine self) SwigPyIterator
- pop(VectorBareHyperfine self) BareHyperfine
- pop_back(VectorBareHyperfine self)
- push_back(VectorBareHyperfine self, BareHyperfine x)
- rbegin(VectorBareHyperfine self) std::vector< BareHyperfine >::reverse_iterator
- rend(VectorBareHyperfine self) std::vector< BareHyperfine >::reverse_iterator
- reserve(VectorBareHyperfine self, std::vector< BareHyperfine >::size_type n)
- resize(VectorBareHyperfine self, std::vector< BareHyperfine >::size_type new_size)
- resize(VectorBareHyperfine self, std::vector< BareHyperfine >::size_type new_size, BareHyperfine x) None
- size(VectorBareHyperfine self) std::vector< BareHyperfine >::size_type
- swap(VectorBareHyperfine self, VectorBareHyperfine v)
Examples
Define a BareHyperfine object.
site = nx.BareHyperfine(
weight = 1,
isomer = -0.11,
magnetic_field = 0,
magnetic_theta = 0,
magnetic_phi = 45,
quadrupole = 0.8,
quadrupole_alpha = 90,
quadrupole_beta = 45,
quadrupole_gamma = 0,
quadrupole_asymmetry = 0.05,
isotropic = False
)