def __init__(self, dens, temps, energies, getOpac): self.dens = dens self.temps = temps self.energies = energies self.argGetOpac = getOpac def getDensTemp(n): jt = n % len(self.temps) jd = n / len(self.temps) return self.dens[jd], self.temps[jt] def getListOpac(n): jt = n % len(self.temps) jd = n / len(self.temps) return self.go(jd,jt) OplList.__init__(self, len(self.dens)*len(self.temps), getDensTemp, lambda n: self.energies, getListOpac)
def __init__(self, dens, temps, energies, getOpac): """ temps -> numpy array of temperatures [eV] dens -> list of numpy arrays. len(dens) = len(temps. dens[n] stores a sorted list of all of the densities [g/cc] corresponding to temperature temps[n] energies -> [eV] energy group structure """ self.dens = dens self.temps = temps self.energies = energies self.go = getOpac def map(n): count = 0 for jt in xrange(len(self.temps)): for jd in xrange(len(self.dens[jt])): if count == n: return jd, jt count += 1 raise ValueError("Bad mapping") def getDensTemp(n): jd, jt = map(n) return self.dens[jt][jd], self.temps[jt] def getListOpac(n): jd, jt = map(n) return self.go(jd,jt) nopac = 0 for jt in xrange(len(self.temps)): nopac += len(self.dens[jt]) OplList.__init__(self, nopac, getDensTemp, lambda n: self.energies, getListOpac)
def __init__(self, dens, temps, energies, getOpac): """ temps -> numpy array of temperatures [eV] dens -> list of numpy arrays. len(dens) = len(temps. dens[n] stores a sorted list of all of the densities [g/cc] corresponding to temperature temps[n] energies -> [eV] energy group structure """ self.dens = dens self.temps = temps self.energies = energies self.go = getOpac def map(n): count = 0 for jt in xrange(len(self.temps)): for jd in xrange(len(self.dens[jt])): if count == n: return jd, jt count += 1 raise ValueError("Bad mapping") def getDensTemp(n): jd, jt = map(n) return self.dens[jt][jd], self.temps[jt] def getListOpac(n): jd, jt = map(n) return self.go(jd, jt) nopac = 0 for jt in xrange(len(self.temps)): nopac += len(self.dens[jt]) OplList.__init__(self, nopac, getDensTemp, lambda n: self.energies, getListOpac)