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

loadmult has no influence #80

Closed
solyron opened this issue Jun 8, 2020 · 1 comment
Closed

loadmult has no influence #80

solyron opened this issue Jun 8, 2020 · 1 comment

Comments

@solyron
Copy link

solyron commented Jun 8, 2020

Hello,

  1. I am trying to use the Time series Power Flow, however, no matter what values I give loadmult, the voltage values remains the same. (for example for loadmult=[0,0.5,1] I get 3 identical values of voltages at all of the loads) (the code appears below)
  2. Is there an option to get the values of P,Q at each load (like voltages.get_all for voltage values)?
  3. Is it possible to identify different loadmult to different loads?

Thank you!

the code:
distSys = SystemClass(path=path, kV=[115, 4.16, 0.48], loadmult=[0,0.5,1])
cfg_tspf(distSys, step_size="1h", initial_time=(0, 0))
[voltageDataFrame] = run_tspf(distSys, tools=[voltages.get_all], num_steps=3)

@felipemarkson
Copy link
Owner

felipemarkson commented Jun 8, 2020

Hello!

The loadmult is a global OpenDSS variable that multiplies all loads in the system and cannot be assigned as a List. See "LoadMult" on Opendss Manual.

If you need just three simulations, you can use run_static_pf three times with an action that change the loads. See an example of an action that change loads in Creating your first Action.

If you need a time-series power flow, you can use a load shape in the .dss file and assigning this load shape to the loads manually:

! Defining a LoadShape
New Loadshape.my_loadshape npts=3 Interval=1 Pmult=(0.3, 0.5, 1) QMult=(0.1, 0.2, 0.5)

! Setting the LoadShape in loads (You need to include "daily=my_loadshape" in each load definition)
New Load.my_load Bus1=860 Phases=3 Conn=Wye kV=13.8 kW=60.0 kVAR= 48.0 daily=my_loadshape

You can do this in python too:

distSys = SystemClass(path=path, kV=[115, 4.16, 0.48])

p_mult = [0.3, 0.5, 1]
q_mult =  [0.3, 0.5, 1]

cmd = [f"New Loadshape.my_loadshape npts=3 Interval=1 Pmult={p_mult} QMult={q_mult}"]

for load_name in distSys.dss.Loads.AllNames():
    cmd.append(f"Load.{load_name}.daily = my_loadshape")

distSys.dsscontent = distSys.dsscontent + cmd

cfg_tspf(distSys, step_size="1h", initial_time=(0, 0))
[voltageDataFrame] = run_tspf(distSys, tools=[voltages.get_all], num_steps=3)

I need to include a time-series power flow example in the tutorial, but I'm a little busy at the moment☹️.

If this package helps you and you want to contribute, we are open to receiving help, mainly for documentation and tutorials 😀.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants