qrotor.constants

Description

Common constants and default inertia values used in QRotor.

Bond lengths and angles were obtained from MAPbI3, see K. Drużbicki et al., Crystal Growth & Design 24, 391–404 (2024).

  1"""
  2# Description
  3
  4Common constants and default inertia values used in QRotor.
  5
  6Bond lengths and angles were obtained from MAPbI3, see
  7[K. Drużbicki *et al*., Crystal Growth & Design 24, 391–404 (2024)](https://doi.org/10.1021/acs.cgd.3c01112).
  8"""
  9
 10
 11import numpy as np
 12import periodictable
 13import scipy.constants as const
 14
 15# Aliases for scipy.constants
 16_hbar = const.physical_constants['reduced Planck constant'][0]
 17#_meV_to_K = const.e/(const.Boltzmann*1000)
 18
 19# Quick conversion factors
 20Ry_to_eV = const.physical_constants['Rydberg constant times hc in eV'][0]
 21"""Quick conversion factor from Rydberg to eV energy."""
 22Ry_to_meV = Ry_to_eV * 1000
 23"""Quick conversion factor from Rydberg to meV energy."""
 24eV_to_Ry = 1 / Ry_to_eV
 25"""Quick conversion factor from eV to Rydberg."""
 26meV_to_Ry = 1 / Ry_to_meV
 27"""Quick conversion factor from meV to Rydberg."""
 28cm1_to_meV = (const.h * const.c * 100 / const.e) * 1000
 29"""Quick conversion factor from cm$^{-1}$ to meV."""
 30meV_to_cm1 = 1/cm1_to_meV
 31"""Quick conversion factor from meV to cm$^{-1}$."""
 32amu_to_kg = const.physical_constants['atomic mass constant'][0]
 33"""Quick conversion factor from amu to kg."""
 34kg_to_amu = 1 / amu_to_kg
 35"""Quick conversion factor from kg to amu."""
 36
 37# Distance between Carbon and Hydrogen atoms (measured from MAPbI3)
 38distance_CH = 1.09285   # Angstroms
 39"""Distance of the C-H bond, in Angstroms."""
 40distance_NH = 1.040263  # Angstroms
 41"""Distance of the N-H bond, in Angstroms."""
 42
 43# Angles between atoms:  C-C-H  or  N-C-H  etc (from MAPbI3)
 44angle_CH_external = 108.7223
 45"""External angle of the X-C-H bond, in degrees."""
 46angle_NH_external = 111.29016
 47"""External angle of the X-N-H bond, in degrees."""
 48angle_CH = 180 - angle_CH_external
 49"""Internal angle of the X-C-H bond, in degrees."""
 50angle_NH = 180 - angle_NH_external
 51"""Internal angle of the X-N-H bond, in degrees."""
 52
 53# Rotation radius (calculated from distance and angle)
 54r_CH = distance_CH * np.sin(np.deg2rad(angle_CH)) * 1e-10
 55"""Rotation radius of the methyl group, in meters."""
 56r_NH = distance_NH * np.sin(np.deg2rad(angle_NH)) * 1e-10
 57"""Rotation radius of the amine group, in meters."""
 58
 59# Inertias, SI units
 60I_CH3 = 3 * (periodictable.H.mass * amu_to_kg * r_CH**2)
 61"""Inertia of CH3, in kg·m^2."""
 62I_CD3 = 3 * (periodictable.D.mass * amu_to_kg * r_CH**2)
 63"""Inertia of CD3, in kg·m^2."""
 64I_NH3 = 3 * (periodictable.H.mass * amu_to_kg * r_NH**2)
 65"""Inertia of NH3, in kg·m^2."""
 66I_ND3 = 3 * (periodictable.D.mass * amu_to_kg * r_NH**2)
 67"""Inertia of ND3, in kg·m^2."""
 68
 69# Inertias of the co-rotation, SI units
 70I_CH3NH3 = I_CH3 + I_NH3
 71"""Inertia of CH3NH3+, in kg·m^2."""
 72I_CD3NH3 = I_CD3 + I_NH3
 73"""Inertia of CD3NH3+, in kg·m^2."""
 74I_CH3ND3 = I_CH3 + I_ND3
 75"""Inertia of CH3ND3+, in kg·m^2."""
 76I_CD3ND3 = I_CD3 + I_ND3
 77"""Inertia of CD3ND3+, in kg·m^2."""
 78
 79# Inertias of the dis-rotation, SI units
 80I_CH3NH3_dis = 1 / ((1/I_CH3) + (1/I_NH3))
 81"""Inertia of the disrotatory torsion of CH3NH3+, in kg·m^2."""
 82I_CD3NH3_dis = 1 / ((1/I_CD3) + (1/I_NH3))
 83"""Inertia of the disrotatory torsion of CD3NH3+, in kg·m^2."""
 84I_CH3ND3_dis = 1 / ((1/I_CH3) + (1/I_ND3))
 85"""Inertia of the disrotatory torsion of CH3ND3+, in kg·m^2."""
 86I_CD3ND3_dis = 1 / ((1/I_CD3) + (1/I_ND3))
 87"""Inertia of the disrotatory torsion of CD3ND3+, in kg·m^2."""
 88
 89# Inertias, atomic units
 90I_CH3_amu = I_CH3 / (amu_to_kg * 1e-20)
 91"""Inertia of CH3, in amu·AA^2."""
 92I_CD3_amu = I_CD3 / (amu_to_kg * 1e-20)
 93"""Inertia of CD3, in amu·AA^2."""
 94I_NH3_amu = I_NH3 / (amu_to_kg * 1e-20)
 95"""Inertia of NH3, in amu·AA^2."""
 96I_ND3_amu = I_ND3 / (amu_to_kg * 1e-20)
 97"""Inertia of ND3, in amu·AA^2."""
 98
 99# Inertias of the co-rotation, amu units
100I_CH3NH3_amu = I_CH3_amu + I_NH3_amu
101"""Inertia of CH3NH3+, in amu·AA^2."""
102I_CD3NH3_amu = I_CD3_amu + I_NH3_amu
103"""Inertia of CD3NH3+, in amu·AA^2."""
104I_CH3ND3_amu = I_CH3_amu + I_ND3_amu
105"""Inertia of CH3ND3+, in amu·AA^2."""
106I_CD3ND3_amu = I_CD3_amu + I_ND3_amu
107"""Inertia of CD3ND3+, in amu·AA^2."""
108
109# Inertias of the dis-rotation, amu units
110I_CH3NH3_dis_amu = I_CH3NH3_dis / (amu_to_kg * 1e-20)
111"""Inertia of the disrotatory torsion of CH3NH3+, in amu·AA^2."""
112I_CD3NH3_dis_amu = I_CD3NH3_dis / (amu_to_kg * 1e-20)
113"""Inertia of the disrotatory torsion of CD3NH3+, in amu·AA^2."""
114I_CH3ND3_dis_amu = I_CH3ND3_dis / (amu_to_kg * 1e-20)
115"""Inertia of the disrotatory torsion of CH3ND3+, in amu·AA^2."""
116I_CD3ND3_dis_amu = I_CD3ND3_dis / (amu_to_kg * 1e-20)
117"""Inertia of the disrotatory torsion of CD3ND3+, in amu·AA^2."""
118
119# Rotational energy
120B_CH3 = ((_hbar**2) / (2 * I_CH3)) * (1000 / const.eV)
121"""Kinetic rotational energy of CH3, in meV·s/kg·m^2."""
122B_CD3 = ((_hbar**2) / (2 * I_CD3)) * (1000 / const.eV)
123"""Kinetic rotational energy of CD3, in meV·s/kg·m^2."""
124B_NH3 = ((_hbar**2) / (2 * I_NH3)) * (1000 / const.eV)
125"""Kinetic rotational energy of NH3, in meV·s/kg·m^2."""
126B_ND3 = ((_hbar**2) / (2 * I_ND3)) * (1000 / const.eV)
127"""Kinetic rotational energy of ND3, in meV·s/kg·m^2."""
128
129B_CH3NH3 = ((_hbar**2) / (2 * I_CH3NH3)) * (1000 / const.eV)
130"""Kinetic rotational energy of CH3NH3+, in meV·s/kg·m^2."""
131B_CD3NH3 = ((_hbar**2) / (2 * I_CD3NH3)) * (1000 / const.eV)
132"""Kinetic rotational energy of CD3NH3+, in meV·s/kg·m^2."""
133B_CH3ND3 = ((_hbar**2) / (2 * I_CH3ND3)) * (1000 / const.eV)
134"""Kinetic rotational energy of CH3ND3+, in meV·s/kg·m^2."""
135B_CD3ND3 = ((_hbar**2) / (2 * I_CD3ND3)) * (1000 / const.eV)
136"""Kinetic rotational energy of CD3ND3+, in meV·s/kg·m^2."""
137
138B_CH3NH3_dis = ((_hbar**2) / (2 * I_CH3NH3_dis)) * (1000 / const.eV)
139"""Kinetic rotational energy of the disrotatory torsion of CH3NH3+, in meV·s/kg·m^2."""
140B_CD3NH3_dis = ((_hbar**2) / (2 * I_CD3NH3_dis)) * (1000 / const.eV)
141"""Kinetic rotational energy of the disrotatory torsion of CD3NH3+, in meV·s/kg·m^2."""
142B_CH3ND3_dis = ((_hbar**2) / (2 * I_CH3ND3_dis)) * (1000 / const.eV)
143"""Kinetic rotational energy of the disrotatory torsion of CH3ND3+, in meV·s/kg·m^2."""
144B_CD3ND3_dis = ((_hbar**2) / (2 * I_CD3ND3_dis)) * (1000 / const.eV)
145"""Kinetic rotational energy of the disrotatory torsion of CD3ND3+, in meV·s/kg·m^2."""
146
147# Potential constants from titov2023 [C1, C2, C3, C4, C5]
148constants_titov2023 = [
149    [2.7860, 0.0130,-1.5284,-0.0037,-1.2791],  # ZIF-8
150    [2.6507, 0.0158,-1.4111,-0.0007,-1.2547],  # ZIF-8 + Ar-1
151    [2.1852, 0.0164,-1.0017, 0.0003,-1.2061],  # ZIF-8 + Ar-{1,2}
152    [5.9109, 0.0258,-7.0152,-0.0168, 1.0213],  # ZIF-8 + Ar-{1,2,3}
153    [1.4526, 0.0134,-0.3196, 0.0005,-1.1461],  # ZIF-8 + Ar-{1,2,4}
154    ]
155"""Potential constants from
156[K. Titov et al., Phys. Rev. Mater. 7, 073402 (2023)](https://link.aps.org/doi/10.1103/PhysRevMaterials.7.073402)
157for the `qrotor.potential.titov2023` potential.
158In meV units.
159"""
Ry_to_eV = 13.60569312299

Quick conversion factor from Rydberg to eV energy.

Ry_to_meV = 13605.69312299

Quick conversion factor from Rydberg to meV energy.

eV_to_Ry = 0.07349864435133158

Quick conversion factor from eV to Rydberg.

meV_to_Ry = 7.349864435133159e-05

Quick conversion factor from meV to Rydberg.

cm1_to_meV = 0.12398419843320026

Quick conversion factor from cm$^{-1}$ to meV.

meV_to_cm1 = 8.065543937349211

Quick conversion factor from meV to cm$^{-1}$.

amu_to_kg = 1.66053906892e-27

Quick conversion factor from amu to kg.

kg_to_amu = 6.022140753667369e+26

Quick conversion factor from kg to amu.

distance_CH = 1.09285

Distance of the C-H bond, in Angstroms.

distance_NH = 1.040263

Distance of the N-H bond, in Angstroms.

angle_CH_external = 108.7223

External angle of the X-C-H bond, in degrees.

angle_NH_external = 111.29016

External angle of the X-N-H bond, in degrees.

angle_CH = 71.2777

Internal angle of the X-C-H bond, in degrees.

angle_NH = 68.70984

Internal angle of the X-N-H bond, in degrees.

r_CH = np.float64(1.0350223020441665e-10)

Rotation radius of the methyl group, in meters.

r_NH = np.float64(9.69268793902999e-11)

Rotation radius of the amine group, in meters.

I_CH3 = np.float64(5.379356175278866e-47)

Inertia of CH3, in kg·m^2.

I_CD3 = np.float64(1.0748582178833082e-46)

Inertia of CD3, in kg·m^2.

I_NH3 = np.float64(4.717580788274388e-47)

Inertia of NH3, in kg·m^2.

I_ND3 = np.float64(9.426277631713569e-47)

Inertia of ND3, in kg·m^2.

I_CH3NH3 = np.float64(1.0096936963553255e-46)

Inertia of CH3NH3+, in kg·m^2.

I_CD3NH3 = np.float64(1.546616296710747e-46)

Inertia of CD3NH3+, in kg·m^2.

I_CH3ND3 = np.float64(1.4805633806992435e-46)

Inertia of CH3ND3+, in kg·m^2.

I_CD3ND3 = np.float64(2.017485981054665e-46)

Inertia of CD3ND3+, in kg·m^2.

I_CH3NH3_dis = np.float64(2.5133906884222103e-47)

Inertia of the disrotatory torsion of CH3NH3+, in kg·m^2.

I_CD3NH3_dis = np.float64(3.2785963070409086e-47)

Inertia of the disrotatory torsion of CD3NH3+, in kg·m^2.

I_CH3ND3_dis = np.float64(3.4248655241022697e-47)

Inertia of the disrotatory torsion of CH3ND3+, in kg·m^2.

I_CD3ND3_dis = np.float64(5.022048267815154e-47)

Inertia of the disrotatory torsion of CD3ND3+, in kg·m^2.

I_CH3_amu = np.float64(3.239524005163909)

Inertia of CH3, in amu·AA^2.

I_CD3_amu = np.float64(6.472947478329351)

Inertia of CD3, in amu·AA^2.

I_NH3_amu = np.float64(2.840993552378543)

Inertia of NH3, in amu·AA^2.

I_ND3_amu = np.float64(5.676637068132542)

Inertia of ND3, in amu·AA^2.

I_CH3NH3_amu = np.float64(6.080517557542452)

Inertia of CH3NH3+, in amu·AA^2.

I_CD3NH3_amu = np.float64(9.313941030707895)

Inertia of CD3NH3+, in amu·AA^2.

I_CH3ND3_amu = np.float64(8.91616107329645)

Inertia of CH3ND3+, in amu·AA^2.

I_CD3ND3_amu = np.float64(12.149584546461892)

Inertia of CD3ND3+, in amu·AA^2.

I_CH3NH3_dis_amu = np.float64(1.5135992494635477)

Inertia of the disrotatory torsion of CH3NH3+, in amu·AA^2.

I_CD3NH3_dis_amu = np.float64(1.9744168435454392)

Inertia of the disrotatory torsion of CD3NH3+, in amu·AA^2.

I_CH3ND3_dis_amu = np.float64(2.0625022248526634)

Inertia of the disrotatory torsion of CH3ND3+, in amu·AA^2.

I_CD3ND3_dis_amu = np.float64(3.024348154049426)

Inertia of the disrotatory torsion of CD3ND3+, in amu·AA^2.

B_CH3 = np.float64(0.6451810934439263)

Kinetic rotational energy of CH3, in meV·s/kg·m^2.

B_CD3 = np.float64(0.322894577298338)

Kinetic rotational energy of CD3, in meV·s/kg·m^2.

B_NH3 = np.float64(0.7356861609698612)

Kinetic rotational energy of NH3, in meV·s/kg·m^2.

B_ND3 = np.float64(0.36818976002936143)

Kinetic rotational energy of ND3, in meV·s/kg·m^2.

B_CH3NH3 = np.float64(0.3437338384619748)

Kinetic rotational energy of CH3NH3+, in meV·s/kg·m^2.

B_CD3NH3 = np.float64(0.22440335761183627)

Kinetic rotational energy of CD3NH3+, in meV·s/kg·m^2.

B_CH3ND3 = np.float64(0.23441474673996238)

Kinetic rotational energy of CH3ND3+, in meV·s/kg·m^2.

B_CD3ND3 = np.float64(0.17202889793446932)

Kinetic rotational energy of CD3ND3+, in meV·s/kg·m^2.

B_CH3NH3_dis = np.float64(1.3808672544137874)

Kinetic rotational energy of the disrotatory torsion of CH3NH3+, in meV·s/kg·m^2.

B_CD3NH3_dis = np.float64(1.058580738268199)

Kinetic rotational energy of the disrotatory torsion of CD3NH3+, in meV·s/kg·m^2.

B_CH3ND3_dis = np.float64(1.013370853473288)

Kinetic rotational energy of the disrotatory torsion of CH3ND3+, in meV·s/kg·m^2.

B_CD3ND3_dis = np.float64(0.6910843373276995)

Kinetic rotational energy of the disrotatory torsion of CD3ND3+, in meV·s/kg·m^2.

constants_titov2023 = [[2.786, 0.013, -1.5284, -0.0037, -1.2791], [2.6507, 0.0158, -1.4111, -0.0007, -1.2547], [2.1852, 0.0164, -1.0017, 0.0003, -1.2061], [5.9109, 0.0258, -7.0152, -0.0168, 1.0213], [1.4526, 0.0134, -0.3196, 0.0005, -1.1461]]

Potential constants from K. Titov et al., Phys. Rev. Mater. 7, 073402 (2023) for the qrotor.potential.titov2023 potential. In meV units.