def _load(self, filename): fn = context.get_fn(filename) members = [] with open(fn) as f: state = 0 for line in f: line = line[:line.find('#')].strip() if len(line) > 0: if state == 0: # read element number words = line.split() number = int(words[0]) if len(words) > 1: pseudo_number = int(words[1]) else: pseudo_number = number state = 1 elif state == 1: # read rtf string rtf = RTransform.from_string(line) state = 2 elif state == 2: nlls = np.array([int(w) for w in line.split()]) state = 0 members.append( (number, pseudo_number, RadialGrid(rtf), nlls)) self._init_members_from_list(members)
def from_hdf5(cls, grp, lf): records = [] for ds in grp.itervalues(): rtransform = RTransform.from_string(ds.attrs['rtransform']) records.append((ds.attrs['number'], ds.attrs['pseudo_number'], RadialGrid(rtransform), ds[:])) return AtomicGridSpec(records)
def _load(self, filename): fn = context.get_fn(filename) members = [] with open(fn) as f: state = 0 for line in f: line = line[:line.find('#')].strip() if len(line) > 0: if state == 0: # read element number words = line.split() number = int(words[0]) if len(words) > 1: pseudo_number = int(words[1]) else: pseudo_number = number state = 1 elif state == 1: # read rtf string rtf = RTransform.from_string(line) state = 2 elif state == 2: nlls = np.array([int(w) for w in line.split()]) state = 0 members.append((number, pseudo_number, RadialGrid(rtf), nlls)) self._init_members_from_list(members)
def from_hdf5(cls, grp): records = [] for ds in grp.itervalues(): rtransform = RTransform.from_string(ds.attrs['rtransform']) records.append(( ds.attrs['number'], ds.attrs['pseudo_number'], RadialGrid(rtransform), ds[:] )) return AtomicGridSpec(records)
def load_proatom_records_h5_group(f): '''Load proatom records from the given HDF5 group''' records = [] for grp in f.itervalues(): assert isinstance(grp, h5.Group) if 'deriv' in grp: deriv = grp['deriv'][:] else: deriv = None records.append(ProAtomRecord( number=grp.attrs['number'], charge=grp.attrs['charge'], energy=grp.attrs['energy'], rgrid=RadialGrid(RTransform.from_string(grp.attrs['rtransform'])), rho=grp['rho'][:], deriv=deriv, pseudo_number=grp.attrs.get('pseudo_number'), ipot_energy=grp.attrs.get('ipot_energy'), )) return records