Hi Young, In MATPOWER, the matrix returned by makePTDF() is simply the sensitivity of branch real power flows to incremental bus real power injections assuming: (1) a lossless DC model of the network (see Section 3.7 in the MATPOWER User’s Manual<https://matpower.org/docs/MATPOWER-manual-7.0.pdf>) (2) a specific slack distribution (where the incremental power injection in question is withdrawn)
The math is simply based on taking the equations relating the voltage angles to the DC power balance and the DC power flows, and combining sensitivities of angles to injections with sensitivities of flows to angles. A similar thing can be done with sensitivities in the AC model, but these will necessarily be valid only at a given operating point. You can find some previous discussion by searching the mailing list archives<https://www.mail-archive.com/matpower-l@cornell.edu/> for "AC-PTDF" and/or “ACPTDF”. Hope this helps, Ray On Dec 24, 2019, at 7:04 PM, yangyang <980182...@qq.com<mailto:980182...@qq.com>> wrote: Hello there, I am working on power network partition, and a source code on github does the partition using make_PTDF. I have searched for papers talking about Power Transfer Distribution Factor but they dont have any concrete or difinite conception about PTDF. According to the sourcecode in matpower it seems to be based on the matrix of DC power flow ignoring reactive power Q and voltage magnitude. Is there some way to take into consideration the reactive power and voltage magnitude? Because the partition I do is about reactive power and voltage control. It would also be marvellous if I could be sent some technical notes with math equations like those in MATPOWER Technotes interpreting functions such as dSbus_dV, which would be clear about the mechanism and theory. Thanks a lot. Best Regards, Young