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 BareHyperfine class. 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 True it 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_moessbauer of the material is None.

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 BareHyperfine objects.

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
  )