def __init__(self): self.generate() self.ConsumptionYearly = profilegentools.gaussMinMax(external_inputs.yearlyConsumption, 400) * external_inputs.consumptionFactor # kWh http://www.nibud.nl/uitgaven/huishouden/gas-elektriciteit-en-water.html age = random.triangular(65, 85, 70) self.Persons = [persons.PersonRetired(age)] if (random.randint(1, 2) == 1): self.Fridges = [ devices.DeviceFridge(random.randint(external_inputs.ConsumptionFridgeBigMin, external_inputs.ConsumptionFridgeBigMax))] else: self.Fridges = [devices.DeviceFridge( random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax)), devices.DeviceFridge( random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax))] self.hasDishwasher = random.randint(0, 5) < 3 # 40% # Determine washing days self.generateWashingdays(random.randint(2, 3)) # Dermine Dishwasher times if self.hasDishwasher: self.generateDishwashdays(3)
def __init__(self, parttime=False, jobless=False): self.generate() self.ConsumptionYearly = profilegentools.gaussMinMax(external_inputs.yearlyConsumption, 700) * external_inputs.consumptionFactor # kWh http://www.nibud.nl/uitgaven/huishouden/gas-elektriciteit-en-water.html assert (parttime == False or jobless == False) # ONLY one van be active age = random.randint(26, 65) if parttime: self.Persons = [persons.PersonWorker(age), persons.PersonParttimeWorker(age)] elif jobless: self.Persons = [persons.PersonWorker(age), persons.PersonJobless(age)] else: self.Persons = [persons.PersonWorker(age), persons.PersonWorker(age)] # To make life easy, only one persons.Person will use the electric vehicle, so only the main persons.Person will receive a driving distance self.Persons[0].setDistanceToWork(external_inputs.distancetoWork) if (random.randint(1, 2) == 1): self.Fridges = [ devices.DeviceFridge(random.randint(external_inputs.ConsumptionFridgeBigMin, external_inputs.ConsumptionFridgeBigMax))] else: self.Fridges = [devices.DeviceFridge( random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax)), devices.DeviceFridge( random.randint(external_inputs.ConsumptionFridgeSmallMin,external_inputs.ConsumptionFridgeSmallMax))] self.hasDishwasher = random.randint(0, 5) < 2 # 40% # Determine washing days self.generateWashingdays(random.randint(3, 4)) # Dermine Dishwasher times if self.hasDishwasher: self.generateDishwashdays(3)
def __init__(self, parttime=False, jobless=False): self.generate() # http://www.cbs.nl/nl-NL/menu/themas/bevolking/faq/specifiek/faq-hoeveel-kinderen.htm self.ConsumptionYearly = profilegentools.gaussMinMax(external_inputs.yearlyConsumption + (700 * external_inputs.numKids), 500 + ( external_inputs.numKids * 100)) * external_inputs.consumptionFactor # kWh http://www.nibud.nl/uitgaven/huishouden/gas-elektriciteit-en-water.html ageParents = random.randint(40, 55) if parttime == True: self.Persons = [persons.PersonParttimeWorker(ageParents)] elif jobless == True: self.Persons = [persons.PersonJobless(ageParents)] else: self.Persons = [persons.PersonWorker(ageParents)] if not jobless: # To make life easy, only one persons.Person will use the electric vehicle, so only the main persons.Person will receive a driving distance self.Persons[0].setDistanceToWork(external_inputs.distancetoWork) # now add the kids for i in range(0, external_inputs.numKids): self.Persons.append(persons.PersonStudent(random.randint(ageParents - 3, ageParents + 3) - 30)) self.Fridges = [ devices.DeviceFridge(random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax)), devices.DeviceFridge(random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax))] self.hasDishwasher = random.randint(0, 5) < 4 # 60% # Determine washing days self.generateWashingdays(min(5 + external_inputs.numKids, 7)) # Dermine Dishwasher times if self.hasDishwasher: self.generateDishwashdays(min(5 + external_inputs.numKids, 7))
def __init__(self): self.generate() self.ConsumptionYearly = profilegentools.gaussMinMax(external_inputs.yearlyConsumption, 400) * external_inputs.consumptionFactor # kWh http://www.nibud.nl/uitgaven/huishouden/gas-elektriciteit-en-water.html self.Persons = [persons.PersonParttimeWorker(random.randint(26, 65))] # For information about commuters, see this: # http://www.kimnet.nl/publicatie/mobiliteitsbalans-2013 # Approx 50% uses the car to commute, which is our interrest as this part can be replaced by (PH)EV # http://www.cbs.nl/NR/rdonlyres/13516DAC-36E1-47B7-9918-2364EF7D0B48/0/2011k2v4p34art.pdf # 3 out of 5 working people don't work in town. Fair to assume that these people commute by car # Average commute distance is not too clear from multiple sources, such as the once above. Something around 20km seems to be average in most sources # However 30 is also mentioned: http://www.nederlandheeftwerk.nl/index.php/cms_categorie/58707/bb/1/id/58707 # Depends also on the region and work in vicinity. if (random.randint(1, 2) == 1): self.Fridges = [ devices.DeviceFridge(random.randint(external_inputs.ConsumptionFridgeBigMin, external_inputs.ConsumptionFridgeBigMax))] else: self.Fridges = [devices.DeviceFridge( random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax)), devices.DeviceFridge( random.randint(external_inputs.ConsumptionFridgeSmallMin, external_inputs.ConsumptionFridgeSmallMax))] # We synchronize the dishwasher and dryer based on the annual consumption. Furthermore, this also influences the number of washes. self.hasDishwasher = random.randint(0, 5) == 0 # 20% # Determine washing days self.generateWashingdays(random.randint(2, 3)) # Dermine Dishwasher times if self.hasDishwasher: self.generateDishwashdays(3)