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,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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).
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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,
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.
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.
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?
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.
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
Hello Zheng,
You can extract the admittance matrix by adding lines to your powerflow directive. i.e.,
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
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
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