Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shared appliances #26

Merged
merged 4 commits into from
Mar 9, 2020
Merged

Shared appliances #26

merged 4 commits into from
Mar 9, 2020

Conversation

cprotopa
Copy link
Contributor

@cprotopa cprotopa commented Mar 3, 2020

This is a proposed solution based on the discussion in #23, to share the use of each appliance between the members of the family. Summary of changes:

  1. In receptacles, each present appliance is simulated once.
  • If it's a cycling load, it's unrelated to occupants and simulated only once using cycling_load (this remains the same). Note that I changed the activity = "None" and cycle_power=standby_power in Appliances.py for the Clock, CordlessPhone and AnswerMachine, since they work continuously.
  • If it is another type of appliance, it is assumed to be shared and is simulated using the stochastic_load (changed as explained next).
  • There is a placeholder for future appliances that each individual may have, which would be simulated once per occupant. This should be expanded and improved if such appliances will be implemented.
  1. In stochastic_load :
  • Each occupant's use of the appliance is predicted separately, and then the power is assigned if any of the occupants was using the appliance.
  • The number of cycles calculation is changed: The number of minutes used in the year are computed based on the above, after which the number of cycles is defined by dividing with the average duration of a cycle. This number is used in the calibration.
  • The structure of the code is a bit changed, initializing activity probabilities in advance, to try and save some time.
  1. After these changes, I performed a calibration (10 runs of 100 profiles), which give the new cal values in Appliances.py.

Christina Pro added 3 commits March 2, 2020 16:29
…f either occupant wants to use them, but only one appliance simultaneously. Changes mainly in simulate, receptacles, stochastic_load.
@SilkeVerbruggen
Copy link
Contributor

This code seems logical to me. So actually in this way all appliances are shared except the ones that have activity 'None' and 'Presence'. right?

@cprotopa
Copy link
Contributor Author

cprotopa commented Mar 5, 2020

All are shared in the sense that there is only one of each, regardless of how many people want to use them at the same time. But they are treated a bit different in the following way:

  • The ones that are linked to activity 'None' are the "cycling loads", which just work continuously anyway (e.g. fridges, clock, etc.). They are normally modeled with the cycle_load model. The if act == 'None': in the stochastic_load model is in fact never going to happen, so it could be omitted actually.
  • The appliances with activity "Presence" are appliances modeled with stochastic_load model, and their probability of being activated is Precence*cal, where Presence is 1 when anybody is active (occupancy state=1), and cal is the calibration parameter.
  • Appliances linked to specific activities, like washing, cooking, etc., are also medeled with stochastic_load, and have a probability of being activated equal to Precence*Activity*cal, where now Activity represents the probability of people doing this activity (ranges from 0 to 1 depending on time of the day & day of week).

@SilkeVerbruggen
Copy link
Contributor

Okay, seems good to me.

@cprotopa cprotopa merged commit 3b56513 into master Mar 9, 2020
@cprotopa cprotopa deleted the shared_appliances branch March 9, 2020 08:44
@cprotopa cprotopa mentioned this pull request Apr 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants