diff --git a/lib/+mp/dme_buslink.m b/lib/+mp/dme_buslink.m index 13860e454..0f950ca35 100644 --- a/lib/+mp/dme_buslink.m +++ b/lib/+mp/dme_buslink.m @@ -136,16 +136,19 @@ function h = pp_get_headers_det(obj, dm, out_e, mpopt, pp_args) % h = [ pp_get_headers_det@mp.dm_element(obj, dm, out_e, mpopt, pp_args) ... - { ' 3-ph', ... - 'Link ID Bus ID Bus ID Status', ... - '-------- -------- -------- ------' } ]; - %% 1234567 123456789 123456789 -----1 + { ' 3-ph Phase A Power Phase B Power Phase C Power', ... + 'Link ID Bus ID Bus ID Status (kW) (kVAr) (kW) (kVAr) (kW) (kVAr)', ... + '-------- -------- -------- ------ ------ ------ ------ ------ ------ ------' } ]; + %% 1234567 123456789 123456789 -----1 1234567.9 12345.7 123456.8 12345.7 123456.8 12345.7 end function str = pp_data_row_det(obj, dm, k, out_e, mpopt, fd, pp_args) % - str = sprintf('%7d %9d %9d %6d', ... - obj.tab.uid(k), obj.tab.bus(k), obj.tab.bus3p(k), obj.tab.status(k) ); + str = sprintf('%7d %9d %9d %6d %9.2f %7.1f %8.2f %7.1f %8.2f %7.1f', ... + obj.tab.uid(k), obj.tab.bus(k), obj.tab.bus3p(k), obj.tab.status(k),... + obj.tab.pg1_start(k), obj.tab.qg1_start(k), ... + obj.tab.pg2_start(k), obj.tab.qg2_start(k), ... + obj.tab.pg3_start(k), obj.tab.qg3_start(k)); end end %% methods end %% classdef diff --git a/lib/+mp/mme_buslink_opf.m b/lib/+mp/mme_buslink_opf.m index 25a0fe0f2..ba064cfb7 100644 --- a/lib/+mp/mme_buslink_opf.m +++ b/lib/+mp/mme_buslink_opf.m @@ -21,5 +21,21 @@ function x0 = interior_x0(obj, mm, nm, dm, x0) % end + + function obj = data_model_update_on(obj, mm, nm, dm, mpopt) + dme = obj.data_model_element(dm); + nme = obj.network_model_element(nm); + + ss = nm.get_idx('state'); + + for p = 1:nme.nz + %% buslink complex power flows + zbl = nm.soln.z(ss.i1.buslink(p):ss.iN.buslink(p)); + + %% update in the data model + dme.tab.(sprintf('pg%d_start', p))(dme.on) = real(zbl) * dm.base_kva; + dme.tab.(sprintf('qg%d_start', p))(dme.on) = imag(zbl) * dm.base_kva; + end + end end %% methods end %% classdef diff --git a/lib/+mp/mme_buslink_pf_ac.m b/lib/+mp/mme_buslink_pf_ac.m index 9b5a71fa9..9986a3f1e 100644 --- a/lib/+mp/mme_buslink_pf_ac.m +++ b/lib/+mp/mme_buslink_pf_ac.m @@ -138,6 +138,21 @@ A_vm(d_vm, :) = []; b_vm(d_vm) = []; end + end + end + function obj = data_model_update_on(obj, mm, nm, dm, mpopt) + dme = obj.data_model_element(dm); + nme = obj.network_model_element(nm); + + ss = nm.get_idx('state'); + + for p = 1:nme.nz + %% buslink complex power flows + zbl = nm.soln.z(ss.i1.buslink(p):ss.iN.buslink(p)); + + %% update in the data model + dme.tab.(sprintf('pg%d_start', p))(dme.on) = real(zbl) * dm.base_kva; + dme.tab.(sprintf('qg%d_start', p))(dme.on) = imag(zbl) * dm.base_kva; end end end %% methods