def mephenesin(param): """Molecular parameters for mephenesin rot constants and dipole moments from [Ecija2014]_ et al, JPC B 118, 5357 dipole moment values calculated (Daniel Horke, Gamess2013, B3LYP, ACCT) .. todo:: (Nicole Teschmit) Fix references (-> references.rst, cite here); provide full sentences in description. """ param.name = "mephenesin" param.mass = 10 * Masses['C'] + 3 * Masses['O'] + 14 * Masses['H'] param.watson = 'A' param.symmetry = 'N' if param.isomer == 0: #conformer A param.rotcon = convert.Hz2J( num.array([1707.7896e6, 388.661705e6, 331.331684e6])) param.dipole = convert.D2Cm(num.array([1.15, 0.56, 1.12])) elif param.isomer == 1: #conformer B param.rotcon = convert.Hz2J( num.array([1978.986e6, 349.300307e6, 305.408511e6])) param.dipole = convert.D2Cm(num.array([-2.36, -0.48, -0.04])) elif param.isomer == 2: #conformer C param.rotcon = convert.Hz2J( num.array([1615.04911e6, 455.423567e6, 385.954447e6])) param.dipole = convert.D2Cm(num.array([1.47, -1.32, -1.62]))
def water_hexamer(param): """Molecular parameters for water hexamer1 cage structure` * Dipole moment for cage structure \mueff taken from [Perez:Science336:897], http://science.sciencemag.org/content/336/6083/897 * Experimental rotational constants A,B,C taken from [Liu:Nature381:501] https://www.nature.com/articles/381501a0 * symmetry [Liu:Nature381:501] https://www.nature.com/articles/381501a0 Molecular parameters for water hexamer2 prism structure` * thereotical dipole moment for cage uu structure from [Perez:Science336:897], http://science.sciencemag.org/content/336/6083/897 * Experimental rotational constants from from [Perez:Science336:897], http://science.sciencemag.org/content/336/6083/897 Molecular parameters for water hexamer3 book structure` * theoretical dipole moment for cage uu structure from [Perez:Science336:897], http://science.sciencemag.org/content/336/6083/897 * Experimental rotational constants from [Perez:Science336:897], http://science.sciencemag.org/content/336/6083/897 """ param.name = "water_hexamer" param.symmetry = 's' param.watson = 'S' param.mass = 6 * Masses['O'] + 12 * Masses['H'] if param.isomer == 0: param.rotcon = convert.Hz2J( num.array([2163.61e+6, 1131.2e+06, 1068.8e+06])) param.dipole = convert.D2Cm(num.array([1.63, 0.32, 1.13])) elif param.isomer == 1: param.rotcon = convert.Hz2J( num.array([1658.224e+6, 1362.000e+06, 1313.124e+06])) param.dipole = convert.D2Cm(num.array([2.41, 0.88, 0.42])) elif param.isomer == 2: param.rotcon = convert.Hz2J( num.array([1879.4748e+6, 1063.9814e+06, 775.0619e+06])) param.dipole = convert.D2Cm(num.array([0.17, 2.46, 0.16]))
def water_heptamer(param): """Molecular parameters for water heptamer1 ` * Estimated experimental dipole moment \mueff taken from : [Perez:ChemPhysLett571:1] https://doi.org/10.1016/j.cplett.2013.04.014 * Experimental rotational constants A,B,C taken from [Perez:ChemPhysLett571:1] https://doi.org/10.1016/j.cplett.2013.04.014 * Quartic centrifugal distortion constants in Watson’s A-reduced asymmetric rotor Hamiltonian from [Perez:ChemPhysLett571:1] https://doi.org/10.1016/j.cplett.2013.04.014 * Symmetry C1 from [Kim:JCP110:9128] https://pdfs.semanticscholar.org/2dbf/30f606a224ca7f05885ac28d1ab4d930bc36.pdf Molecular parameters for water heptamer2 * Estimated experimental dipole moment \mueff taken from : [Perez:ChemPhysLett571:1] https://doi.org/10.1016/j.cplett.2013.04.014 * Experimental rotational constants A,B,C taken from [Perez:ChemPhysLett571:1] https://doi.org/10.1016/j.cplett.2013.04.014 * Quartic centrifugal distortion constants in Watson’s A-reduced asymmetric rotor Hamiltonian from [Perez:ChemPhysLett571:1] https://doi.org/10.1016/j.cplett.2013.04.014 * Symmetry C1 from [Kim:JCP110:9128] https://pdfs.semanticscholar.org/2dbf/30f606a224ca7f05885ac28d1ab4d930bc36.pdf """ param.name = "water_heptamer" param.mass = 7 * Masses['O'] + 14 * Masses['H'] param.symmetry = 'N' if param.isomer == 0: param.watson = 'A' param.rotcon = convert.Hz2J( num.array([1304.43555e+6, 937.88441e+06, 919.52364e+06])) param.dipole = convert.D2Cm(num.array([1.0, 1.0, 0.0])) param.quartic = convert.Hz2J( num.array([0.4567e+3, -0.342e+3, 0.842e+3, 0.0377e+3, 0.63e+3 ])) #\Delta_{J}, \Delta_{JK}, \Delta_{K}, d_{J}, d_{K} elif param.isomer == 1: param.watson = 'S' param.rotcon = convert.Hz2J( num.array([1345.15942e+6, 976.8789e+06, 854.47389e+06])) param.dipole = convert.D2Cm(num.array([1.0, 0.0, 1.0]))
def oblate_symmetric_top(param): """Molecular parameters for an artificial oblate top Implemented isomers are 0. rotor type is set to 'S' - symmetric top, and symmetry is set to 'o' - oblate 1. rotor type is set to 'A' - asymmetric top, and symmetry is set to 'C2c' - only u_c != 0 """ param.name = "oblate_symmetric_top" param.mass = 6 * Masses['C'] + 6 * Masses['H'] if 0 == param.isomer: param.type = 'S' param.symmetry = 'o' param.rotcon = convert.Hz2J(num.array([3000.0e6, 1000.0e6])) param.quartic = num.array( [convert.Hz2J(0.0), convert.Hz2J(0.0), convert.invcm2J(0.0)]) param.dipole = convert.D2Cm(num.array([1.])) elif 1 == param.isomer: param.type = 'A' param.watson = 'A' param.symmetry = 'C2c' param.rotcon = convert.Hz2J(num.array([3000.0e6, 3000.0e6, 1000.0e6])) param.quartic = num.array([0., 0., 0., 0., 0.]) param.dipole = convert.D2Cm(num.array([0., 0., 1.]))
def methane(param): """Methane (CH:math:`_4`) I (Jens Kienitz) AM NOT SURE, IF THE POLARIZABILITY IS CORRECT IMPLEMENTED! Molecular parameters for methane: Rotational constant are from [Herzberg:PolyElectronic:1966]_ and NIST; the polarizability is from ??? measurements [Olney:ChemPhys223:59]_ and NIST, and the centrifugal distortion constant: [Lohr:JCP84:4196]_ .. math:: param.polar[0] = \alpha_{zz} = \alpha_\parallel .. math:: param.polar[1] = \alpha_{xx} = \alpha_{yy} = \alpha_\perp All polarizabilies are in SI units .. todo:: (Jens Kienitz) (centrfugal dist. const.?) have to be verified! .. todo:: (Jens Kienitz): add reference for "NIST" (general weblink might be enough). """ param.name = "methane" param.mass = 4 * Masses['H'] + 1 * Masses['C'] param.type = 'S' param.symmetry = 'p' param.rotcon = convert.Hz2J(num.array([157.12722e9, 157.12722e9])) param.dipole = convert.D2Cm(num.array([0.0])) param.quartic = convert.Hz2J(num.array([3.324e6, 135e3, 0.0])) param.polarizability = num.array([2.724e-40, 0.0])
def setUpClass(self): """Run before the first test""" # set molecular parameters self.param = starkeffect.CalculationParameter self.param.isomer = 0 self.param.watson = 'A' self.param.symmetry = 'C2a' self.param.rotcon = convert.Hz2J( num.array([5655.2654e6, 1546.875864e6, 1214.40399e6])) self.param.quartic = convert.Hz2J( num.array([45.6, 938.1, 500, 10.95, 628])) self.param.dipole = convert.D2Cm(num.array([4.5152, 0., 0.])) # calculation details self.param.M = [0, 1] self.param.Jmin = 0 self.param.Jmax_calc = 15 self.param.Jmax_save = 3 self.param.dcfields = convert.kV_cm2V_m(num.linspace(0., 100., 5)) # create Molecule object and specify storage file self.param.name = "__cmiext_test_starkeffect" self.storagename = self.param.name + ".molecule" if os.path.exists(self.storagename): raise EnvironmentError( "Test storage file already exists, not overwriting") self.bn = molecule.Molecule(storage=self.storagename, name=self.param.name) # calculate Stark energies self.bn.starkeffect_calculation(self.param)
def phenylpyrrole(param): """ A. J. Fleisher """ param.name = "phenylpyrrole" param.watson = 'A' param.symmetry = 'C2a' param.rotcon = convert.Hz2J(num.array([3508.34e6, 703.50e6, 604.84e6])) param.dipole = convert.D2Cm(num.array([-1.56, 0., 0.]))
def iodomethane(param): """Molecular parameters for iodomethane (:math:`\\text{CH}_3\\text{I}`) B, DJ, and DK constants from [Wlodarczak1987]_ and [Gadhi1989]_. A and DK constants from [Pietila1996]_. Implemented isomers are 0. above constants using symmetric-top Hamiltonian 1. above constants using asymmetric-top Hamiltonian The special implementation 1 is not meant for production use. Instead, it was, and is, useful for benchmarking and debugging the various cases of the Stark code. Please do not remove it, but also do not use it for regular scientific work. .. todo:: Sebastian Trippel, please rewrite documentation in more detail, using math syntax for subscritpts, etc. """ param.name = "iodomethane" param.mass = 3 * Masses['H'] + Masses['C'] + Masses['I'] if 0 == param.isomer: param.type = 'S' param.symmetry = 'p' param.rotcon = num.array( [convert.invcm2J(5.1742629), convert.Hz2J(7501.2757456e6)]) param.quartic = num.array([ convert.Hz2J(6.307583e3), convert.Hz2J(98.76798e3), convert.invcm2J(87.857e-6) ]) param.dipole = convert.D2Cm(num.array([1.6406])) elif 1 == param.isomer: param.type = 'A' param.watson = 'A' param.symmetry = 'C2a' param.rotcon = num.array([ convert.invcm2J(5.1742629), convert.Hz2J(7501.2757456e6), convert.Hz2J(7501.2757456e6) ]) param.quartic = num.array([ convert.Hz2J(6.307583e3), convert.Hz2J(98.76798e3), convert.invcm2J(87.857e-6), 0., 0. ]) param.dipole = convert.D2Cm(num.array([1.6406, 0., 0.]))
def six_chloropyridazine_three_carbonitrile(param): """ Molecular parameters for 6-chloropyridazine-3-carbonitrile Gaussian 2003 B3LYP/aug-pc-1; see [Hansen2013]_""" param.name = "6-chloropyridazine-3-carbonitrile" param.mass = 5 * Masses['C'] + 1 * Masses['Cl'] + 3 * Masses[ 'N'] + 2 * Masses['H'] param.type = 'A' param.watson = None param.symmetry = 'N' if param.isomer == 0: param.rotcon = convert.Hz2J( num.array([5905.472e6, 717.422e6, 639.708e6])) param.dipole = convert.D2Cm(num.array([0, 4.37, 2.83])) elif param.isomer == 1: param.rotcon = convert.Hz2J( num.array([5905.472e6, 717.422e6, 639.708e6])) param.dipole = convert.D2Cm(num.array([0, 0, 2.83]))
def propylene_oxide(param): """Molecular parameters for propylene oxide, CDMS database """ param.name = "propylene_oxide" param.mass = 3 * Masses['C'] + 6 * Masses['H'] + 1 * Masses['O'] param.watson = 'A' param.symmetry = 'N' param.rotcon = convert.Hz2J(num.array([18023.89e6, 6682.14e6, 5951.39e6])) param.dipole = convert.D2Cm(num.array([0.95, 1.67, 0.56]))
def ammonia_dimer(param): param.name = "ammonia_dimer" param.mass = 6 * Masses['H'] + 2 * Masses['N'] param.type = 'S' param.symmetry = 'p' #values from MP2/6-31++g(d,p) level calculations for now. dipole moment from wiki... param.rotcon = convert.Hz2J(num.array([1.18143309e+11, 5.22172740e+09])) param.quartic = convert.Hz2J(num.array([0.0, 0.0, 0.0])) param.dipole = convert.D2Cm(num.array([2.61]))
def methylvinylketone(param): """Molecular parameters for Methyl Vinyl Ketone Implemented isomers are 0. cis, experimetnal rot. const. of A symmetry from [Wilcox2011]_, and dipole moment is MP2 calculation results from \ [Wilcox2011]_ with 0.81 scaling factor 1. trans, experimental rot. const. of A symmetry from [Wilcox2011]_, and experimental dipole moment: [Foster1965]_ """ param.name = "methylvinylketone" param.type = 'A' param.symmetry = 'N' if param.isomer == 0: #cis param.rotcon = convert.Hz2J( num.array([10.240938e9, 3.9916351e9, 2.925648e9])) param.dipole = convert.D2Cm(num.array([0.54, 2.59, 0.])) elif param.isomer == 1: #trans param.rotcon = convert.Hz2J( num.array([8.94159e9, 4.2745443e9, 2.9453315e9])) param.dipole = convert.D2Cm(num.array([2.53, 1.91, 0.]))
def AcPheCysNH2(param): """Molecular parameters for dipeptide Ac-Phe-Cys-NH2 .. todo:: Document (reference) the source of the parameters """ param.name = "apcn" param.mass = 14 * Masses['C'] + 3 * Masses['O'] + 3 * Masses[ 'N'] + 1 * Masses['S'] + 19 * Masses['H'] param.type = 'A' param.watson = 'A' param.symmetry = 'N' if param.isomer == 0: param.rotcon = convert.Hz2J( num.array([340.181593e6, 203.443113e6, 159.877010e6])) param.dipole = convert.D2Cm(num.array([0.768, 2.406, 1.975])) elif param.isomer == 1: param.rotcon = convert.Hz2J( num.array([345.067516e6, 215.965933e6, 175.850323e6])) param.dipole = convert.D2Cm(num.array([6.789, -2.701, 3.406]))
def adenine(param): """Molecular parameters for adenine Expt values for 9H rot constants from [Brown1989]_ All values for 7H and all dipole moments from [Franz2014]_ """ param.name = "adenine" param.mass = 5 * Masses['C'] + 5 * Masses['H'] + 5 * Masses['N'] param.watson = 'A' param.symmetry = 'N' if param.isomer == 0: # tautomer 9H param.rotcon = convert.Hz2J( num.array([2371.873e6, 1573.3565e6, 946.2576e6])) param.dipole = convert.D2Cm(num.array([1.86, -1.39, -0.03])) elif param.isomer == 1: # tautomer 7H param.rotcon = convert.Hz2J(num.array([2381.1e6, 1531.7e6, 933.0e6])) param.dipole = convert.D2Cm(num.array([-0.27, -6.79, 0.67]))
def ammonia(param): print_incorrect_warning('ammonia', 'inversion splitting') param.name = "ammonia" param.mass = 3 * Masses['H'] + 1 * Masses['N'] param.type = 'S' param.symmetry = 'o' #values from MP2/6-31++g(d,p) level calculations for now. dipole moment from wiki... param.rotcon = convert.Hz2J(num.array([2.98965765e+11, 1.88232489e+11])) param.quartic = convert.Hz2J(num.array([0.0, 0.0, 0.0])) param.dipole = convert.D2Cm(num.array([1.42]))
def water_decamer(param): """Molecular parameters for decamer` * dipole moment \mueff taken from :https://aip.scitation.org/doi/pdf/10.1063/1.481613?class=pdf * rotational constants A,B,C taken from https://aip.scitation.org/doi/pdf/10.1063/1.481613?class=pdf """ param.name = "water_decamer" param.mass = 10 * Masses['O'] + 20 * Masses['H'] param.rotcon = convert.Hz2J(num.array([591e+06, 569e+06, 509e+06])) param.dipole = convert.D2Cm(num.array([2.7, 0.0, 0.0]))
def four_aminobenzonitrile(param): """ See [Borst2001]_ """ param.name = "4-aminobenzonitrile" param.type = 'A' param.watson = 'A' param.symmetry = 'C2a' param.rotcon = convert.Hz2J(num.array([5.5793e9, 0.99026e9, 0.84139e9])) param.quartic = convert.Hz2J(num.array([0.0, 0.0, 0.0, 0.0, 0.0])) param.dipole = convert.D2Cm(num.array([6.41, 0., 0.]))
def water(param): """Molecular parameters for water isotopologues (:math:`\\text{H}_2\\text{O}`, :math:`\\text{D}_2\\text{O}`, :math:`\\text{HDO}`) :param param: Calculation parameter object to be filled with appropriate content :type param: starkeffect.CalculationParameter Implemented isomers are 0. H2O: experimental inertial parameters from [DeLucia1974]_ and experimental dipole moment from [Shostak1991]_ 1. D2O: experimental inertial parameters from [Steenbeckeliers1973]_ and experimental dipole moment from [Clough1973]_ 2. HDO: experimental inertial parameters from [DeLucia1971]_ and experimental dipole moment from [Shostak1991]_ Default isomers are '0' for water/H2O, '1' for D2O, and '2' for HDO. .. seealso:: These molecular parameters and references are also listed at NIST Spectral Database - H2O [NISTspecDB_H2O]_ """ param.name = "water" param.watson = 'A' if param.isomer == 0: param.mass = Masses['O'] + 2 * Masses['H'] param.symmetry = 'C2b' param.rotcon = convert.Hz2J( num.array([835840.288e6, 435351.717e6, 278138.700e6])) param.quartic = convert.Hz2J( num.array( [37.59422e6, -172.9128e6, 973.29052e6, 15.210402e6, 41.0502e6])) param.dipole = convert.D2Cm(num.array([0., -1.857, 0.])) elif param.isomer == 1: param.mass = Masses['O'] + 2 * Masses['D'] param.symmetry = 'C2b' param.rotcon = convert.Hz2J( num.array([462278.854e6, 218038.233e6, 145258.022e6])) param.dipole = convert.D2Cm(num.array([0., -1.8558, 0.])) elif param.isomer == 2: param.mass = Masses['O'] + Masses['H'] + Masses['D'] param.symmetry = 'N' param.rotcon = convert.Hz2J( num.array([701931.50e6, 272912.60e6, 192055.25e6])) param.quartic = convert.Hz2J( num.array([10.8375e6, 34.208e6, 377.078e6, 3.6471e6, 63.087e6])) param.dipole = convert.D2Cm(num.array([-0.6591, -1.7304, 0.]))
def three_aminobenzonitrile(param): """ See [Miller2009]_ """ param.name = "3-aminobenzonitrile" param.type = 'A' param.watson = 'A' param.symmetry = 'N' param.rotcon = convert.Hz2J(num.array([3.3727e9, 1.2099e9, 0.8908e9])) param.quartic = convert.Hz2J(num.array([0.0, 0.0, 0.0, 0.0, 0.0])) param.dipole = convert.D2Cm(num.array([4.8, 1.2, 0.]))
def difluoro_iodobenzene(param): """ parameters from simple ab initio calculations [Kuepper2010]_. """ param.name = "2,6-difluoro-iodobenzene" param.type = 'A' param.watson = 'A' param.symmetry = 'C2a' param.rotcon = convert.Hz2J(num.array([1740e6, 713e6, 506e6])) param.quartic = convert.Hz2J(num.array([0., 0., 0., 0., 0.])) param.dipole = convert.D2Cm(num.array([2.25, 0., 0.]))
def two_aminobenzonitrile(param): """ See [Miller2009]_ """ param.name = "2-aminobenzonitrile" param.type = 'A' param.watson = 'A' param.symmetry = 'N' param.rotcon = convert.Hz2J(num.array([3.0090e9, 1.5090e9, 1.0052e9])) param.quartic = convert.Hz2J(num.array([0.0, 0.0, 0.0, 0.0, 0.0])) param.dipole = convert.D2Cm(num.array([3.6, 1.9, 0.]))
def prolate_symmetric_top(param): """Molecular parameters for an artificial prolate top""" param.name = "prolate_symmetric_top" param.mass = 6 * Masses['C'] + 6 * Masses['H'] if 0 == param.isomer: param.type = 'S' param.symmetry = 'p' param.rotcon = convert.Hz2J(num.array([3000.0e6, 1000.0e6])) param.quartic = num.array( [convert.Hz2J(0.0), convert.Hz2J(0.0), convert.invcm2J(0.0)]) param.dipole = convert.D2Cm(num.array([1.])) elif 1 == param.isomer: param.type = 'A' param.watson = 'A' param.symmetry = 'C2a' param.rotcon = convert.Hz2J(num.array([3000.0e6, 1000.0e6, 1000.0e6])) param.quartic = num.array([0., 0., 0., 0., 0.]) param.dipole = convert.D2Cm(num.array([1., 0., 0.]))
def water_nonamer(param): """Molecular parameters for nonamer` * Estimated experimental dipole moment \mueff taken from : http://science.sciencemag.org/content/sci/336/6083/897.full.pdf * rotational constants A,B,C taken from http://science.sciencemag.org/content/sci/336/6083/897.full.pdf """ param.name = "water_nonamer" param.mass = 9 * Masses['O'] + 18 * Masses['H'] param.rotcon = convert.Hz2J( num.array([774.7442e+06, 633.5403e+06, 570.6460e+06])) param.dipole = convert.D2Cm(num.array([0.0, 0.0, 0.0]))
def carbon_monoxide(param): """ Molecular parameters for CO rotcon, dipole: [NISTCCCBD_CO]_ quartic: [MinaCamilde1996]_ """ param.name = "carbon_monoxide" param.mass = Masses['C'] + Masses['O'] param.type = 'L' param.rotcon = convert.Hz2J(num.array([57.89834e9])) param.dipole = convert.D2Cm(num.array([0.11])) param.quartic = convert.invcm2J(num.array([202.360e3]))
def five_cyanoindole(param): """ Molecular parameters for 5-cyanoindole Experimental values for rot constants from [Oelterman2012]_. Dipole values calculated (aug-cc-pVTZ basis, see [Horke]_ for details) """ param.name = "five_cyanoindole" param.mass = 9 * Masses['C'] + 2 * Masses['N'] + 6 * Masses['H'] param.watson = 'A' param.symmetry = 'N' param.rotcon = convert.Hz2J(num.array([3370.4e6, 738.0e6, 605.93e6])) param.dipole = convert.D2Cm(num.array([-6.44, -2.84, -0.33]))
def sulfur_monoxide(param): """ Molecular parameters for SO rotcon, dipole: [NISTCCCBD_SO]_ quartic: [Veseth1974]_ """ param.name = "sulfur_monoxide" param.mass = Masses['S'] + Masses['O'] param.type = 'L' param.rotcon = convert.Hz2J(num.array([21.60970e9])) param.dipole = convert.D2Cm(num.array([1.550])) param.quartic = convert.Hz2J(num.array([33.577e3]))
def indole(param): """Molecular parameters for indole Implemented isomers are 0. experimental values from [Kang2005]_ 1. experimental inertial constants from [Caminati1990]_ and dipole moment from [Kang2005]_ for dipole moment. """ param.name = "indole" param.mass = 8 * Masses['C'] + Masses['N'] + 7 * Masses['H'] param.watson = 'A' param.symmetry = 'N' if 0 == param.isomer: param.rotcon = convert.Hz2J(num.array([3877.9e6, 1636.1e6, 1150.9e6])) param.dipole = convert.D2Cm(num.array([1.376, 1.400, 0.])) elif 1 == param.isomer: param.rotcon = convert.Hz2J( num.array([3877.826e6, 1636.047e6, 1150.8997e6])) param.quartic = convert.Hz2J( num.array([0.0352e3, 0.042e3, 0.16e3, 0.1005e3, 0.128e3])) param.dipole = convert.D2Cm(num.array([1.376, 1.400, 0.]))
def water_pentamer(param): """Molecular parameters for water pentamer (cyclic)` * Theoretical dipole moment \mueff taken from [Gregory:Science275:814], http://doi.org/10.1126/science.275.5301.814 * Theoretical rotational constants A,B,C taken from [Liu:Science271:62] http://doi.org/10.1126/science.271.5245.62 * Symmetry C1 [Wales:JCP105:6957] https://aip.scitation.org/doi/pdf/10.1063/1.471987?class=pdf """ param.name = "water_pentamer" param.symmetry = 'C2a' param.mass = 5 * Masses['O'] + 10 * Masses['H'] param.rotcon = convert.Hz2J(num.array([1859e+6, 1818e+06, 940e+06])) param.dipole = convert.D2Cm(num.array([0.927, 0.0, 0.0]))
def benzonitrile(param): """ See [Wohlfart2008]_ """ param.name = "benzonitrile" param.mass = 7 * Masses['C'] + Masses['N'] + 5 * Masses['H'] param.type = 'A' param.watson = 'A' param.symmetry = 'C2a' param.rotcon = convert.Hz2J( num.array([5655.2654e6, 1546.875864e6, 1214.40399e6])) param.quartic = convert.Hz2J(num.array([45.6, 938.1, 500.0, 10.95, 628.0])) param.dipole = convert.D2Cm(num.array([4.5152, 0., 0.]))
def nitrous_oxide(param): """Molecular parameters for :math:`\\text{N}_2\\text{O}` rot. const.: [Andreev1976] dipole moment: [Scharpen1970] """ param.name = "nitrous_oxide" param.type = 'L' param.symmetry = 'N' param.rotcon = convert.Hz2J(num.array([12561.6348e6])) param.dipole = convert.D2Cm(num.array([0.160830])) param.quartic = convert.Hz2J(num.array([5.2808e6]))