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

Module pseudo_ellipse

source code

Module for the pseudo-ellipse frame order model.

Functions [hide private]
 
compile_1st_matrix_pseudo_ellipse(matrix, R_eigen, theta_x, theta_y, sigma_max)
Generate the 1st degree Frame Order matrix for the pseudo-ellipse.
source code
 
compile_2nd_matrix_pseudo_ellipse(matrix, Rx2_eigen, theta_x, theta_y, sigma_max)
Generate the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg1_pseudo_ellipse_00(phi, x, y)
The theta-sigma partial integral of the 1st degree Frame Order matrix element xx for the pseudo-ellipse.
source code
float
part_int_daeg1_pseudo_ellipse_11(phi, x, y)
The theta-sigma partial integral of the 1st degree Frame Order matrix element yy for the pseudo-ellipse.
source code
float
part_int_daeg1_pseudo_ellipse_22(phi, x, y)
The theta-sigma partial integral of the 1st degree Frame Order matrix element zz for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_00(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix element 11 for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_04(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix element 22 for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_08(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix element 33 for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_11(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_13(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_22(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_26(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_40(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_44(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_48(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_55(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_57(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_80(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_84(phi, x, y, sinc_2smax)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
float
part_int_daeg2_pseudo_ellipse_88(phi, x, y)
The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.
source code
 
pcs_numeric_qr_int_pseudo_ellipse(points=None, max_points=None, theta_x=None, theta_y=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_pseudo_ellipse(theta_x=None, theta_y=None, 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 numerical integration.
source code
float
tmax_pseudo_ellipse(phi, theta_x, theta_y)
The pseudo-ellipse tilt-torsion polar angle.
source code
numpy rank-1 float64 array
tmax_pseudo_ellipse_array(phi, theta_x, theta_y)
The pseudo-ellipse tilt-torsion polar angle for numpy arrays.
source code
Variables [hide private]
  __package__ = 'lib.frame_order'

Imports: cos, pi, sin, sqrt, divide, dot, eye, float64, multiply, sinc, swapaxes, tensordot, np_cos, np_sin, np_sqrt, quad, tplquad, pec, pcs_pivot_motion_full_qr_int, pcs_pivot_motion_full_quad_int, rotate_daeg


Function Details [hide private]

compile_1st_matrix_pseudo_ellipse(matrix, R_eigen, theta_x, theta_y, sigma_max)

source code 

Generate the 1st degree Frame Order matrix for the pseudo-ellipse.

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.
  • theta_x (float) - The cone opening angle along x.
  • theta_y (float) - The cone opening angle along y.
  • sigma_max (float) - The maximum torsion angle.

compile_2nd_matrix_pseudo_ellipse(matrix, Rx2_eigen, theta_x, theta_y, sigma_max)

source code 

Generate the 2nd degree Frame Order matrix for the pseudo-ellipse.

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.
  • theta_x (float) - The cone opening angle along x.
  • theta_y (float) - The cone opening angle along y.
  • sigma_max (float) - The maximum torsion angle.

part_int_daeg1_pseudo_ellipse_00(phi, x, y)

source code 

The theta-sigma partial integral of the 1st degree Frame Order matrix element xx for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg1_pseudo_ellipse_11(phi, x, y)

source code 

The theta-sigma partial integral of the 1st degree Frame Order matrix element yy for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg1_pseudo_ellipse_22(phi, x, y)

source code 

The theta-sigma partial integral of the 1st degree Frame Order matrix element zz for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_00(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix element 11 for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_04(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix element 22 for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_08(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix element 33 for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_11(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_13(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_22(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_26(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_40(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_44(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_48(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_55(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_57(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_80(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_84(phi, x, y, sinc_2smax)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
  • sinc_2smax (float) - The pre-calculated value of sinc(2*sigma_max).
Returns: float
The theta-sigma partial integral.

part_int_daeg2_pseudo_ellipse_88(phi, x, y)

source code 

The theta-sigma partial integral of the 2nd degree Frame Order matrix for the pseudo-ellipse.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • x (float) - The cone opening angle along x.
  • y (float) - The cone opening angle along y.
Returns: float
The theta-sigma partial integral.

pcs_numeric_qr_int_pseudo_ellipse(points=None, max_points=None, theta_x=None, theta_y=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.
  • theta_x (float) - The x-axis half cone angle.
  • theta_y (float) - The y-axis half cone angle.
  • sigma_max (float) - The maximum torsion angle.
  • c (float) - 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-1, 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-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-3, array of 3D arrays) - The array of pre-calculated rotation matrices for the in-frame pseudo-elliptic cone 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_pseudo_ellipse(theta_x=None, theta_y=None, 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 numerical integration.

Parameters:
  • theta_x (float) - The x-axis half cone angle.
  • theta_y (float) - The y-axis half cone angle.
  • sigma_max (float) - The maximum torsion 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 isotropic cone motion, used to calculate the PCS for each state i in the numerical integration.
Returns: float
The averaged PCS value.

tmax_pseudo_ellipse(phi, theta_x, theta_y)

source code 

The pseudo-ellipse tilt-torsion polar angle.

Parameters:
  • phi (float) - The azimuthal tilt-torsion angle.
  • theta_x (float) - The cone opening angle along x.
  • theta_y (float) - The cone opening angle along y.
Returns: float
The theta max angle for the given phi angle.

tmax_pseudo_ellipse_array(phi, theta_x, theta_y)

source code 

The pseudo-ellipse tilt-torsion polar angle for numpy arrays.

Parameters:
  • phi (numpy rank-1 float64 array) - The azimuthal tilt-torsion angle.
  • theta_x (float) - The cone opening angle along x.
  • theta_y (float) - The cone opening angle along y.
Returns: numpy rank-1 float64 array
The array theta max angles for the given phi angle array.