Skip to content
Draft
6 changes: 3 additions & 3 deletions nexus/nexus/basisset.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import os
import numpy as np
from .periodic_table import is_element
from .periodic_table import Elements
from .developer import DevBase, obj, error, to_str, unavailable
from .fileio import TextFile

Expand Down Expand Up @@ -110,11 +110,11 @@ def __init__(self,filepath=None):
self.filename = os.path.basename(filepath)
self.location = os.path.abspath(filepath)
elem_label = self.filename.split('.')[0]
is_elem,symbol = is_element(elem_label,symbol=True)
is_elem, elem = Elements.is_element(elem_label, return_element=True)
if not is_elem:
self.error('cannot determine element for basis file: {0}\nbasis file names must be prefixed by an atomic symbol or label\n(e.g. Si, Si1, etc)'.format(filepath))
#end if
self.element = symbol
self.element = elem.symbol
self.element_label = elem_label
#end if
#end def __init__
Expand Down
16 changes: 8 additions & 8 deletions nexus/nexus/fileio.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import numpy as np
from numpy.linalg import det, norm
from .developer import DevBase, obj, error, to_str
from .periodic_table import is_element, pt as ptable
from .periodic_table import Elements
from .unit_converter import convert
from . import numpy_extensions as npe

Expand Down Expand Up @@ -826,9 +826,9 @@ def incorporate_structure(self,structure):
s.recenter()
elem = []
for e in s.elem:
is_elem,e = is_element(e,symbol=True)
is_elem, element = Elements.is_element(e, return_element=True)
if is_elem:
elem.append(ptable.elements[e].atomic_number)
elem.append(element.atomic_number)
else:
elem.append(0)
#end if
Expand Down Expand Up @@ -1127,9 +1127,9 @@ def validity_checks(self):
msgs.append('elem must be an array of text')
else:
for e in self.elem:
iselem,symbol = is_element(e,symbol=True)
iselem, element = Elements.is_element(e, return_element=True)
if not iselem:
msgs.append('elem entry "{0}" is not an element'.format(e))
msgs.append('elem entry "{0}" is not an element'.format(element))
#end if
#end for
#end for
Expand Down Expand Up @@ -1193,9 +1193,9 @@ def write_text(self):
#end for
if self.elem is not None:
for e in self.elem:
iselem,symbol = is_element(e,symbol=True)
iselem, element = Elements.is_element(e, return_element=True)
if not iselem:
self.error('{0} is not an element'.format(e))
self.error('{0} is not an element'.format(element))
#end if
text += e+' '
#end for
Expand Down Expand Up @@ -1269,7 +1269,7 @@ def incorporate_xsf(self,xsf):
species_ind = species
species = []
for i in species_ind:
species.append(ptable.simple_elements[i].symbol)
species.append(Elements(i).symbol)
#end for

self.scale = 1.0
Expand Down
6 changes: 3 additions & 3 deletions nexus/nexus/gamess_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@


import numpy as np
from .periodic_table import pt
from .periodic_table import Elements
from .developer import DevBase, obj, error, warn
from .nexus_base import nexus_noncore
from .simulation import SimulationInput
Expand Down Expand Up @@ -1116,7 +1116,7 @@ def generate_any_gamess_input(**kwargs):
#end if
for i in range(len(elem)):
a = elem[i]
Z = pt[a].atomic_number
Z = Elements(a).atomic_number
data+='{0} {1:3.2f} {2:16.8f} {3:16.8f} {4:16.8f}\n'.format(a,Z,*pos[i])
if a in bss:
data+=bss[a].text+'\n\n'
Expand All @@ -1129,7 +1129,7 @@ def generate_any_gamess_input(**kwargs):
)
pps = nexus_noncore.pseudopotentials.pseudos_by_atom(*pskw.pseudos)
for i,a in enumerate(elem):
Z = pt[a].atomic_number
Z = Elements(a).atomic_number
data+='{0} {1} {2:16.8f} {3:16.8f} {4:16.8f}\n'.format(a,Z,*pos[i])
if a in pps:
data += pps[a].basis_text+'\n\n'
Expand Down
7 changes: 4 additions & 3 deletions nexus/nexus/numerics.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
from numpy.linalg import norm
from .developer import obj, unavailable, error
from .unit_converter import convert
from .periodic_table import pt as ptable
from .periodic_table import Elements

try:
from scipy.special import betainc
Expand Down Expand Up @@ -146,13 +146,14 @@ def morse_params(re, a, De, E_inf): return re, 1./a, De, E_inf
# morse_reduced_mass gives the reduced mass in Hartree units
# m1 and m2 are masses or atomic symbols
def morse_reduced_mass(m1,m2=None):
amu_me = convert(1., "amu", "me")
if isinstance(m1,str):
m1 = ptable[m1].atomic_weight.me
m1 = Elements(m1).atomic_weight * amu_me
#end if
if m2 is None:
m2 = m1
elif isinstance(m2,str):
m2 = ptable[m2].atomic_weight.me
m2 = Elements(m2).atomic_weight * amu_me
#end if
m = 1./(1./m1+1./m2) # reduced mass
return m
Expand Down
Loading
Loading