1# Copyright (C) 2011 Atsushi Togo 2# All rights reserved. 3# 4# This file is part of phonopy. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 10# * Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# 13# * Redistributions in binary form must reproduce the above copyright 14# notice, this list of conditions and the following disclaimer in 15# the documentation and/or other materials provided with the 16# distribution. 17# 18# * Neither the name of the phonopy project nor the names of its 19# contributors may be used to endorse or promote products derived 20# from this software without specific prior written permission. 21# 22# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 25# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 26# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 27# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 28# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 29# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 30# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 32# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33# POSSIBILITY OF SUCH DAMAGE. 34 35from math import pi, sqrt 36 37kb_J = 1.3806504e-23 # [J/K] 38PlanckConstant = 4.13566733e-15 # [eV s] 39Hbar = PlanckConstant/(2*pi) # [eV s] 40Avogadro = 6.02214179e23 41SpeedOfLight = 299792458 # [m/s] 42AMU = 1.6605402e-27 # [kg] 43Newton = 1.0 # [kg m / s^2] 44Joule = 1.0 # [kg m^2 / s^2] 45EV = 1.60217733e-19 # [J] 46Angstrom = 1.0e-10 # [m] 47THz = 1.0e12 # [/s] 48Mu0 = 4.0e-7 * pi # [Hartree/m] 49Epsilon0 = 1.0 / Mu0 / SpeedOfLight**2 # [C^2 / N m^2] 50Me = 9.10938215e-31 51 52Bohr = 4e10 * pi * Epsilon0 * Hbar**2 / Me # Bohr radius [A] 0.5291772 53Hartree = Me * EV / 16 / pi**2 / Epsilon0**2 / Hbar**2 # Hartree [eV] 27.211398 54Rydberg = Hartree / 2 # Rydberg [eV] 13.6056991 55 56THzToEv = PlanckConstant * 1e12 # [eV] 57Kb = kb_J / EV # [eV/K] 8.6173383e-05 58THzToCm = 1.0e12 / (SpeedOfLight * 100) # [cm^-1] 33.356410 59CmToEv = THzToEv / THzToCm # [eV] 1.2398419e-4 60VaspToEv = sqrt(EV/AMU)/Angstrom/(2*pi)*PlanckConstant # [eV] 6.46541380e-2 61VaspToTHz = sqrt(EV/AMU)/Angstrom/(2*pi)/1e12 # [THz] 15.633302 62VaspToCm = VaspToTHz * THzToCm # [cm^-1] 521.47083 63EvTokJmol = EV / 1000 * Avogadro # [kJ/mol] 96.4853910 64Wien2kToTHz = sqrt(Rydberg/1000*EV/AMU)/(Bohr*1e-10)/(2*pi)/1e12 # [THz] 3.44595837 65AbinitToTHz = sqrt(EV/(AMU*Bohr))/Angstrom/(2*pi)/1e12 # [THz] 21.49068 66PwscfToTHz = sqrt(Rydberg*EV/AMU)/(Bohr*1e-10)/(2*pi)/1e12 # [THz] 108.97077 67ElkToTHz = sqrt(Hartree*EV/AMU)/(Bohr*1e-10)/(2*pi)/1e12 # [THz] 154.10794 68SiestaToTHz = sqrt(EV/(AMU*Bohr))/Angstrom/(2*pi)/1e12 # [THz] 21.49068 69CP2KToTHz = sqrt(Hartree*EV/(AMU*Bohr))/Angstrom/(2*pi)/1e12 # CP2K uses a.u. for forces but Angstrom for distances 70CrystalToTHz = VaspToTHz 71CastepToTHz = VaspToTHz 72DftbpToTHz = sqrt(Hartree*EV/AMU)/(Bohr*1e-10)/(2*pi)/1e12 # [THz] 154.10794344 73dftbpToBohr = 0.188972598857892E+01 74TurbomoleToTHz = ElkToTHz # Turbomole uses atomic units (Hartree/Bohr) 75EVAngstromToGPa = EV * 1e21 76FleurToTHz = ElkToTHz # Fleur uses atomic units (Hartree/Bohr) 77