Package lib :: Package frame_order :: Module rotor
[hide private]
[frames] | no frames]

Module rotor

source code

Module for the handling of Frame Order.

Functions [hide private]
 
compile_1st_matrix_rotor(matrix, R_eigen, sigma_max)
Generate the 1st degree Frame Order matrix for the rotor model.
source code
 
compile_2nd_matrix_rotor(matrix, Rx2_eigen, smax)
Generate the rotated 2nd degree Frame Order matrix for the rotor model.
source code
 
pcs_numeric_qr_int_rotor(points=None, max_points=None, sigma_max=None, c=None, full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, R_eigen=None, RT_eigen=None, Ri_prime=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)
Determine the averaged PCS value via numerical integration.
source code
float
pcs_numeric_quad_int_rotor(sigma_max=None, c=None, r_pivot_atom=None, r_ln_pivot=None, A=None, R_eigen=None, RT_eigen=None, Ri_prime=None)
Determine the averaged PCS value via SciPy quadratic numerical integration.
source code
 
pcs_pivot_motion_rotor_qr_int(full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, Ri=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)
Calculate the PCS value after a pivoted motion for the rotor model.
source code
float
pcs_pivot_motion_rotor_quad_int(sigma_i, r_pivot_atom, r_ln_pivot, A, R_eigen, RT_eigen, Ri_prime)
Calculate the PCS value after a pivoted motion for the rotor model.
source code
Variables [hide private]
  __package__ = 'lib.frame_order'

Imports: cos, pi, sin, divide, dot, eye, float64, multiply, sinc, swapaxes, tensordot, quad, norm, rotate_daeg


Function Details [hide private]

compile_1st_matrix_rotor(matrix, R_eigen, sigma_max)

source code 

Generate the 1st degree Frame Order matrix for the rotor model.

Parameters:
  • matrix (numpy 3D, rank-2 array) - The Frame Order matrix, 1st degree to be populated.
  • R_eigen (numpy 3D, rank-2 array) - The eigenframe rotation matrix.
  • sigma_max (float) - The maximum torsion angle.

compile_2nd_matrix_rotor(matrix, Rx2_eigen, smax)

source code 

Generate the rotated 2nd degree Frame Order matrix for the rotor model.

The cone axis is assumed to be parallel to the z-axis in the eigenframe.

Parameters:
  • matrix (numpy 9D, rank-2 array) - The Frame Order matrix, 2nd degree to be populated.
  • Rx2_eigen (numpy 9D, rank-2 array) - The Kronecker product of the eigenframe rotation matrix with itself.
  • smax (float) - The maximum torsion angle.

pcs_numeric_qr_int_rotor(points=None, max_points=None, sigma_max=None, c=None, full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, R_eigen=None, RT_eigen=None, Ri_prime=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)

source code 

Determine the averaged PCS value via numerical integration.

Parameters:
  • points (numpy rank-2, 3D array) - The Sobol points in the torsion-tilt angle space.
  • max_points (int) - The maximum number of Sobol' points to use. Once this number is reached, the loop over the Sobol' torsion-tilt angles is terminated.
  • sigma_max (float) - The maximum rotor angle.
  • c (numpy rank-1 array) - The PCS constant (without the interatomic distance and in Angstrom units).
  • full_in_ref_frame (numpy rank-1 array) - An array of flags specifying if the tensor in the reference frame is the full or reduced tensor.
  • r_pivot_atom (numpy rank-2, 3D array) - The pivot point to atom vector.
  • r_pivot_atom_rev (numpy rank-2, 3D array) - The reversed pivot point to atom vector.
  • r_ln_pivot (numpy rank-2, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • R_eigen (numpy rank-2, 3D array) - The eigenframe rotation matrix.
  • RT_eigen (numpy rank-2, 3D array) - The transpose of the eigenframe rotation matrix (for faster calculations).
  • Ri_prime (numpy rank-3, array of 3D arrays) - The array of pre-calculated rotation matrices for the in-frame rotor motion, used to calculate the PCS for each state i in the numerical integration.
  • pcs_theta (numpy rank-2 array) - The storage structure for the back-calculated PCS values.
  • pcs_theta_err (numpy rank-2 array) - The storage structure for the back-calculated PCS errors.
  • missing_pcs (numpy rank-2 array) - A structure used to indicate which PCS values are missing.

pcs_numeric_quad_int_rotor(sigma_max=None, c=None, r_pivot_atom=None, r_ln_pivot=None, A=None, R_eigen=None, RT_eigen=None, Ri_prime=None)

source code 

Determine the averaged PCS value via SciPy quadratic numerical integration.

Parameters:
  • sigma_max (float) - The maximum rotor angle.
  • c (float) - The PCS constant (without the interatomic distance and in Angstrom units).
  • r_pivot_atom (numpy rank-1, 3D array) - The pivot point to atom vector.
  • r_ln_pivot (numpy rank-1, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • R_eigen (numpy rank-2, 3D array) - The eigenframe rotation matrix.
  • RT_eigen (numpy rank-2, 3D array) - The transpose of the eigenframe rotation matrix (for faster calculations).
  • Ri_prime (numpy rank-2, 3D array) - The empty rotation matrix for the in-frame rotor motion, used to calculate the PCS for each state i in the numerical integration.
Returns: float
The averaged PCS value.

pcs_pivot_motion_rotor_qr_int(full_in_ref_frame=None, r_pivot_atom=None, r_pivot_atom_rev=None, r_ln_pivot=None, A=None, Ri=None, pcs_theta=None, pcs_theta_err=None, missing_pcs=None)

source code 

Calculate the PCS value after a pivoted motion for the rotor model.

Parameters:
  • full_in_ref_frame (numpy rank-1 array) - An array of flags specifying if the tensor in the reference frame is the full or reduced tensor.
  • r_pivot_atom (numpy rank-2, 3D array) - The pivot point to atom vector.
  • r_pivot_atom_rev (numpy rank-2, 3D array) - The reversed pivot point to atom vector.
  • r_ln_pivot (numpy rank-2, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • Ri (numpy rank-2, 3D array) - The frame-shifted, pre-calculated rotation matrix for state i.
  • pcs_theta (numpy rank-2 array) - The storage structure for the back-calculated PCS values.
  • pcs_theta_err (numpy rank-2 array) - The storage structure for the back-calculated PCS errors.
  • missing_pcs (numpy rank-2 array) - A structure used to indicate which PCS values are missing.

pcs_pivot_motion_rotor_quad_int(sigma_i, r_pivot_atom, r_ln_pivot, A, R_eigen, RT_eigen, Ri_prime)

source code 

Calculate the PCS value after a pivoted motion for the rotor model.

Parameters:
  • sigma_i (float) - The rotor angle for state i.
  • r_pivot_atom (numpy rank-1, 3D array) - The pivot point to atom vector.
  • r_ln_pivot (numpy rank-1, 3D array) - The lanthanide position to pivot point vector.
  • A (numpy rank-2, 3D array) - The full alignment tensor of the non-moving domain.
  • R_eigen (numpy rank-2, 3D array) - The eigenframe rotation matrix.
  • RT_eigen (numpy rank-2, 3D array) - The transpose of the eigenframe rotation matrix (for faster calculations).
  • Ri_prime (numpy rank-2, 3D array) - The empty rotation matrix for the in-frame rotor motion for state i.
Returns: float
The PCS value for the changed position.