Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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))
Example #4
0
    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)