def makewith(self, data, location, building, standard, simulation): r = BlanketWallInsulation.r(standard, building, location.climate_zone(standard)) inner = tuple(BlanketWallInsulation.sheets(location, building, standard)) r -= sum((i.r for i in inner if i.r), 0) outer = RigidWallInsulation.sheets(location, building, standard, r) size = simulation.wall_area.into('ft**2') self.takefrom(data.group, chain(inner, outer), size, building.blanket_wall_insulation, building.rigid_wall_insulation) self.save()
def makewith(self, data, location, building, standard, simulation): r = BlanketWallInsulation.r(standard, building, location.climate_zone(standard)) inner = tuple( BlanketWallInsulation.sheets(location, building, standard)) r -= sum((i.r for i in inner if i.r), 0) outer = RigidWallInsulation.sheets(location, building, standard, r) size = simulation.wall_area.into('ft**2') self.takefrom(data.group, chain(inner, outer), size, building.blanket_wall_insulation, building.rigid_wall_insulation) self.save()
def items(self, master): options = BlanketWallInsulation.oftype(master.building.blanket_wall_insulation) next = self.next(options, self.r) insulations = [next] r = self.r - (next.r or 0) options = RigidWallInsulation.oftype(master.building.rigid_wall_insulation) while r > 0: next = self.next(options, r) if next.r is None: break insulations.append(next) r -= next.r sheets = filter(lambda i: i.r, insulations) return (SheetCost(sheet, self) for sheet in sheets)
def items(self, master): options = BlanketWallInsulation.oftype( master.building.blanket_wall_insulation) next = self.next(options, self.r) insulations = [next] r = self.r - (next.r or 0) options = RigidWallInsulation.oftype( master.building.rigid_wall_insulation) while r > 0: next = self.next(options, r) if next.r is None: break insulations.append(next) r -= next.r sheets = filter(lambda i: i.r, insulations) return (SheetCost(sheet, self) for sheet in sheets)