Menu

Voltage sensitivity calculation in gridlabd

Arbilash
2017-09-13
2021-02-22
  • Arbilash

    Arbilash - 2017-09-13

    Hi all,

    Since I am using GridLAB-D for the power flow in the distribution system, I would like to calculate the voltage sensitivity in the distribution system using GridLAB-D for controller design. By voltage sensitivity, I mean what is the effect in all the node voltage when load in certain node is changed .i.e ( del V/ del P). Usually sensitivity matrix is calculated to estimate the change in all the nodes when load in particular node is changed. I wanted to use GridLAB-D to calculate the voltage sensitivity matrix.

    Regards,

     
    • ZHENG Zhuang

      ZHENG Zhuang - 2019-11-16

      Hi, I also met your problem. Have you solved it? I would appreciate it greatly if you could post your solution if you have solved it.

       
  • Jason Fuller

    Jason Fuller - 2017-09-23

    Arbilash - I'm unsure what the question is. You are certainly welcome to use GLD to do this - it should produce all the data you need. Note, how you define the ZIP load parameters (or other complex load elements) is the most sensitve part of this equation.

     
  • Arbilash

    Arbilash - 2017-10-08

    Actually i need the Jacobean matrix used during Newton Rapshon power flow. Though i found that gridlab-d use current injection method to make unbalanced three phase power flow where the delta_voltage,delta_current term is used instead of delta_power and delta_ReactivePower. I believe i could obtain delta_power and delta_Reactive_power if i obrtained delta_voltage and deta_current.
    Can i dump delta_voltage and delta_current from solver_nr.cpp?

     
  • Jason Fuller

    Jason Fuller - 2017-10-10

    Arbilash,

    No. GLD has a powerflow solver, so it will give you impedance, voltage, and current (through impedance_dump, volt_dump, and curr_dump objects). It is up to you to define your method for equating this to voltage sensitivity.

     
  • ZHENG Zhuang

    ZHENG Zhuang - 2019-11-16

    Hi, I met this problem too. I need to extract the Jacobian matrix after doing NR power flow analysis at each timestep. Anybody kown how to do that ? Thanks. @jcfuller

     
    • Frank Tuffner

      Frank Tuffner - 2019-11-23

      Hello Zheng,

      You can extract the admittance matrix by adding lines to your powerflow directive. i.e.,

      module powerflow {
          solver_method NR;
          NR_matrix_file "newfileout.txt";
          NR_matrix_output_interval PER_CALL;
          NR_matrix_output_references true;
      }
      

      You can see an example of this in the source code under powerflow/autotests/test_NR_matrix_dump.glm. The NR_matrix_output_interval variable can be NEVER (default), ONCE (only dumped on the very first powerflow iteration), PER_CALL (once per call to solver_nr), and ALL (every iteration outputs to the file).

      The output is in a sparse-type format. You can use the MATLAB file located in the tools repository to extract it.

      -Frank

       
      • ZHENG Zhuang

        ZHENG Zhuang - 2021-02-22

        Dear Frank,
        Thank you for your kind reply. Now I am doing voltage control using the sensitivity matrix. Thus, it is preferred to extract the sensivity matrix in real-time way (like every control interval) instead of recording the matrice at the end of the single run.
        Currently, I am using matlab link to do voltage control. Is it possible to extract the sensitivity matrix every control interval and then conduct other calculations in matlab?


        Zheng Zhuang

         

        Last edit: ZHENG Zhuang 2021-02-22
        • Frank Tuffner

          Frank Tuffner - 2021-02-22

          Hello Zheng,

          The closest approach is you can set the NR_matrix_output_interval to ALL and parse the file directly in MATLAB, at each update interval. This isn't a very ideal solution though, but the only one "built in".

          Right now, there is no real external connection to the admittance matrix beyond that exported file. The MATLAB link, or even something like HELICS, does not have access to that variable at the moment (it is purely internal). You could conceivably edit the source code to publish the variable somewhere or otherwise get access to it. However, access to the admittance matrix isn't part of the "built-in" capabilites of GridLAB-D right now.

          -Frank

           

Log in to post a comment.