Coder Social home page Coder Social logo

Comments (14)

ccoffrin avatar ccoffrin commented on June 26, 2024

Another challenge is how to deal with variable products. It has been convenient to use w for the product of two voltages (i.e. v). But we need a more general rule for the product of other complex numbers.

I suggest if x and y are complex numbers then xy can be represented as,

  • xym - suggests xm*ym
  • xya - suggests xa + ya
  • xyr - suggests xr + yr
  • xyi - suggests xi + yi

Due to the convenient existence of w, which looks like vv, we can use it as a shorthand of these cases,

  • wm - short for vvm
  • wa - short for vva
  • wr - short for vvr
  • wi - short for vvi

from powermodels.jl.

ccoffrin avatar ccoffrin commented on June 26, 2024

In light of this convention, and that S is the standard value for complex power, should p and q be renamed sr and si?

from powermodels.jl.

kaarthiksundar avatar kaarthiksundar commented on June 26, 2024

We can do the following: at instances where there is no standard agreed upon naming convention like p and q for sr and si, we can follow your proposed scheme.

from powermodels.jl.

rb004f avatar rb004f commented on June 26, 2024

I don't think we can rename p and q as sr and si. To many people "know" what p and q mean, and to replace that may cause too much confusion. I tend to agree with Kaarthik here, where we use sr and si whenever there is not an agreed upon notation.

from powermodels.jl.

ccoffrin avatar ccoffrin commented on June 26, 2024

If we adopt @kaarthiksundar's suggestion, what is the list of standard agreed upon names?

Another option is for some parameters like p and q to have two aliases for the same set of variables, the typical name and the standardized convention. It's unclear to me if JuMP could handle that.

from powermodels.jl.

kaarthiksundar avatar kaarthiksundar commented on June 26, 2024

@ccoffrin I am pretty (95%) sure JuMP cannot handle that. I have been experimenting with variable names for quite some time and in my experience, that is not possible.

I guess the only agreed upon names are p, q and w.

from powermodels.jl.

mlubin avatar mlubin commented on June 26, 2024

It could handle it with some hacks, but would need to be convinced that it's worth making the scoping more complicated and confusing than it already is. You could just use your own dictionary.

from powermodels.jl.

rb004f avatar rb004f commented on June 26, 2024

I think if we carefully document that p and q are the exception to the convention (and why), this will be ok. w is a somewhat newer convention, so maybe that can be changed without too much heart burn?

from powermodels.jl.

ccoffrin avatar ccoffrin commented on June 26, 2024

I like the w notation and It's very nice in the SDP models. I think we have a plan.

  • p,q will be the exception to the standard convetion
  • w will be the only shorthand, for now

we can revisit multiple aliases at a later time, if this becomes supported in JuMP.

from powermodels.jl.

rb004f avatar rb004f commented on June 26, 2024

works for me

from powermodels.jl.

ccoffrin avatar ccoffrin commented on June 26, 2024

A proposal for dual value naming conventions,

  • lam prefix for equality constraints, mu prefix for inequality constraints
  • the general template for constraints <prefix>_<constraint short name>, if the constraint is a complex quantity then a postfix _<r,i,m,a> can be added to distinguish
  • the general template for variable bounds mu_<var name>_<lb|ub>

Some common examples,

  • lam_kcl_r,lam_kcl_i - KCL at buses
  • lam_ohm_r,lam_ohm_i - Omh's law on branches
  • mu_sm_fr, mu_sm_to - thermal limits on branches
  • mu_vad_lb, mu_vad_ub- voltage angle difference limits on branches

from powermodels.jl.

frederikgeth avatar frederikgeth commented on June 26, 2024

I'd like to make a proposal as well.

Classically, power system people define impedance as z = r + j x and admittance as y = g + j b. At the moment, the parameter symbols defining impedance of a pi-section in PowerModels are like that for the series element. However, c is used for the shunt susceptance. In more generic context, cmay refer to capacitance, which relates to reactance as x = 1/(2pif*c). This causes unnecessary confusion. I would expect shunt susceptance to be named b or actually b_sh to avoid name conflicts.

from powermodels.jl.

ccoffrin avatar ccoffrin commented on June 26, 2024

@frederikgeth, you make a good point. I think c is a legacy name we picked up from Matpower. This will be revised to something more reasonable in #214. I am thinking g_fr, b_fr and g_to, b_to are what we will end up using for the line charge elements.

from powermodels.jl.

ccoffrin avatar ccoffrin commented on June 26, 2024

Review the use of underscores in p_dc and q_dc, is inconsistent with other variable naming conventions.

from powermodels.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.