Uses of Package
com.powsybl.openloadflow.network
-
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow Class Description LfBranch LfBus LfNetwork SlackBusSelectionMode -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.ac Class Description ElementType LfBus LfNetwork LfNetworkLoader LfNetworkParameters -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.ac.equations.asym Class Description LfAsymLineAdmittanceMatrix This class is made to build and access the admittance terms that will be used to fill up the Jacobian : The following formulation approach is used : side 1 ________ side 2 [ Iz_1 ] [ Vz_1 ] z-----| |-------z [ Ip_1 ] [ Vp_1 ] p-----| Yzpn |-------p [ In_1 ] [ Vn_1 ] n-----|________|-------n [ Iz_2 ] = [Yzpn] * [ Vz_2 ] [ Ip_2 ] [ Vp_2 ] [ In_2 ] [ Vn_2 ] Given that at bus 1 where j is one neighbouring bus, the injection at bus 1 is equal to the sum of Powers from neighboring busses: Sum[j](S_1j) =Pp_1 + j.Qp_1 = Sum[j](Vp_1.Ip_1j*) Pz_1 + j.Qz_1 = Sum[j](Vz_1.Iz_1j*) Pn_1 + j.Qn_1 = Sum[j](Vn_1.In_1j*) Substituting [I] by [Yzpn]*[V] allows to know the equations terms that will fill the jacobian matrix Step 1: Get [Yzpn] ------------------ First step is to compute [ Yzpn ] from a 3-phase description because this is how we can describe unbalances of phases for a line: For each a,b,c phase we know the following relation (only true for lines with no mutual inductances, otherwise we must handle full [Yabc] matrix): [Ia_1] [ ya_11 ya_12 ] [Va_1] [Ia_2] = [ ya_21 ya_22 ] * [Va_2] with (for a line only) : ya_11 = ga1 + j.ba1 + 1/za , ya_12 = -1/za , ya_21 = -1/za , ya_22 = ga2 + j.ba2 + 1/za From the fortescue transformation we have: [Ga] [Gz] [Gb] = [F] * [Gp] [Gc] [Gn] where [G] might be [V] or [I] where [F] is the fortescue transformation matrix Therefore we have: [ya_11 0 0 ya_12 0 0 ] [ 0 yb_11 0 0 yb_12 0 ] [inv(F) O ] [ 0 0 yc_11 0 0 yc_12] [ F 0 ] [Yzpn] = [ 0 inv(F)] * [ya_21 0 0 ya_22 0 0 ] * [ 0 F ] [ 0 yb_21 0 0 yb_22 0 ] [ 0 0 yc_21 0 0 yc_22] [Yzpn] is a complex matrix Step 2: Define the generic term that will be used to make the link between [Yzpn] and S[z,p,n] the apparent power ----------------------------------------------------------------------------------------------------------------- We define T(i,j,g,h) = rho_i * rho_j * exp(j(a_i-a_j)) * y*_ij_gh * V_gi * V*_hj where i,j are line's ends included in {1,2} where g,h are fortescue sequences included in {z,p,n}={0,1,2} Step 3 : express the expanded value of T(i,j,g,h): -------------------------------------------------- T(i,j,g,h) = rho_i * rho_j * V_gi * V_hj * yx_ij_gh * cos(a_i - a_j + th_gi - th_hj) - rho_i * rho_j * V_gi * V_hj * yy_ij_gh * sin(a_i - a_j + th_gi - th_hj) -j( rho_i * rho_j * V_gi * V_hj * yx_ij_gh * sin(a_i - a_j + th_gi - th_hj) + rho_i * rho_j * V_gi * V_hj * yy_ij_gh * cos(a_i - a_j + th_gi - th_hj) ) Step 4 : express the apparent powers with T(): ---------------------------------------------- S_z_12 = T(1,1,z,z) + T(1,1,z,p) + T(1,1,z,n) + T(1,2,z,z) + T(1,2,z,p) + T(1,2,z,n) S_p_12 = T(1,1,p,z) + T(1,1,p,p) + T(1,1,p,n) + T(1,2,p,z) + T(1,2,p,p) + T(1,2,p,n) S_n_12 = T(1,1,n,z) + T(1,1,n,p) + T(1,1,n,n) + T(1,2,n,z) + T(1,2,n,p) + T(1,2,n,n) Step 5 : make the link between y_ij_gh in T() and [Yzpn]: --------------------------------------------------------- By construction we have : [ y_11_zz y_11_zp y_11_zn y_12_zz y_12_zp y_12_zn ] [ y_11_pz y_11_pp y_11_pn y_12_pz y_12_pp y_12_pn ] [Yzpn] = [ y_11_nz y_11_np y_11_nn y_12_nz y_12_np y_12_nn ] [ y_21_zz y_21_zp y_21_zn y_22_zz y_22_zp y_22_zn ] [ y_21_pz y_21_pp y_21_pn y_22_pz y_22_pp y_22_pn ] [ y_21_nz y_21_np y_21_nn y_22_nz y_22_np y_22_nn ]LfBranch LfBus LfNetwork Side -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.ac.nr Class Description LfNetwork -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.ac.outerloop Class Description ControlledSide LfBranch LfNetwork ShuntVoltageControl TransformerVoltageControl -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.dc Class Description LfBus LfNetwork LfNetworkLoader LfNetworkParameters -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.dc.equations Class Description AbstractLfNetworkListener ElementType LfBranch LfBus LfElement LfNetwork LfNetworkListener -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.equations Class Description ElementType LfElement LfNetwork -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.lf Class Description AbstractLfNetworkListener LfBranch LfBus LfElement LfNetwork LfNetworkListener LfNetworkParameters LoadFlowModel -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.lf.outerloop Class Description LfNetwork -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.network Class Description AbstractElement AbstractLfShunt AbstractPropertyBag AbstractSlackBusSelector AdmittanceShift AllowedDirection BranchState BusDcState BusState Control ControlledSide Direction DiscreteVoltageControl ElementState ElementType GeneratorVoltageControl HvdcState LfAction LfAsymBus LfAsymGenerator LfAsymLine This is an extension to a LfBranch Line to describe the asymmetry of a line to be used for an unbalanced load flow.LfAsymLineAdmittanceMatrix This class is made to build and access the admittance terms that will be used to fill up the Jacobian : The following formulation approach is used : side 1 ________ side 2 [ Iz_1 ] [ Vz_1 ] z-----| |-------z [ Ip_1 ] [ Vp_1 ] p-----| Yzpn |-------p [ In_1 ] [ Vn_1 ] n-----|________|-------n [ Iz_2 ] = [Yzpn] * [ Vz_2 ] [ Ip_2 ] [ Vp_2 ] [ In_2 ] [ Vn_2 ] Given that at bus 1 where j is one neighbouring bus, the injection at bus 1 is equal to the sum of Powers from neighboring busses: Sum[j](S_1j) =Pp_1 + j.Qp_1 = Sum[j](Vp_1.Ip_1j*) Pz_1 + j.Qz_1 = Sum[j](Vz_1.Iz_1j*) Pn_1 + j.Qn_1 = Sum[j](Vn_1.In_1j*) Substituting [I] by [Yzpn]*[V] allows to know the equations terms that will fill the jacobian matrix Step 1: Get [Yzpn] ------------------ First step is to compute [ Yzpn ] from a 3-phase description because this is how we can describe unbalances of phases for a line: For each a,b,c phase we know the following relation (only true for lines with no mutual inductances, otherwise we must handle full [Yabc] matrix): [Ia_1] [ ya_11 ya_12 ] [Va_1] [Ia_2] = [ ya_21 ya_22 ] * [Va_2] with (for a line only) : ya_11 = ga1 + j.ba1 + 1/za , ya_12 = -1/za , ya_21 = -1/za , ya_22 = ga2 + j.ba2 + 1/za From the fortescue transformation we have: [Ga] [Gz] [Gb] = [F] * [Gp] [Gc] [Gn] where [G] might be [V] or [I] where [F] is the fortescue transformation matrix Therefore we have: [ya_11 0 0 ya_12 0 0 ] [ 0 yb_11 0 0 yb_12 0 ] [inv(F) O ] [ 0 0 yc_11 0 0 yc_12] [ F 0 ] [Yzpn] = [ 0 inv(F)] * [ya_21 0 0 ya_22 0 0 ] * [ 0 F ] [ 0 yb_21 0 0 yb_22 0 ] [ 0 0 yc_21 0 0 yc_22] [Yzpn] is a complex matrix Step 2: Define the generic term that will be used to make the link between [Yzpn] and S[z,p,n] the apparent power ----------------------------------------------------------------------------------------------------------------- We define T(i,j,g,h) = rho_i * rho_j * exp(j(a_i-a_j)) * y*_ij_gh * V_gi * V*_hj where i,j are line's ends included in {1,2} where g,h are fortescue sequences included in {z,p,n}={0,1,2} Step 3 : express the expanded value of T(i,j,g,h): -------------------------------------------------- T(i,j,g,h) = rho_i * rho_j * V_gi * V_hj * yx_ij_gh * cos(a_i - a_j + th_gi - th_hj) - rho_i * rho_j * V_gi * V_hj * yy_ij_gh * sin(a_i - a_j + th_gi - th_hj) -j( rho_i * rho_j * V_gi * V_hj * yx_ij_gh * sin(a_i - a_j + th_gi - th_hj) + rho_i * rho_j * V_gi * V_hj * yy_ij_gh * cos(a_i - a_j + th_gi - th_hj) ) Step 4 : express the apparent powers with T(): ---------------------------------------------- S_z_12 = T(1,1,z,z) + T(1,1,z,p) + T(1,1,z,n) + T(1,2,z,z) + T(1,2,z,p) + T(1,2,z,n) S_p_12 = T(1,1,p,z) + T(1,1,p,p) + T(1,1,p,n) + T(1,2,p,z) + T(1,2,p,p) + T(1,2,p,n) S_n_12 = T(1,1,n,z) + T(1,1,n,p) + T(1,1,n,n) + T(1,2,n,z) + T(1,2,n,p) + T(1,2,n,n) Step 5 : make the link between y_ij_gh in T() and [Yzpn]: --------------------------------------------------------- By construction we have : [ y_11_zz y_11_zp y_11_zn y_12_zz y_12_zp y_12_zn ] [ y_11_pz y_11_pp y_11_pn y_12_pz y_12_pp y_12_pn ] [Yzpn] = [ y_11_nz y_11_np y_11_nn y_12_nz y_12_np y_12_nn ] [ y_21_zz y_21_zp y_21_zn y_22_zz y_22_zp y_22_zn ] [ y_21_pz y_21_pp y_21_pn y_22_pz y_22_pp y_22_pn ] [ y_21_nz y_21_np y_21_nn y_22_nz y_22_np y_22_nn ]LfBranch LfBranch.BranchType LfBranch.LfLimit LfBus LfContingency LfElement LfGenerator LfGenerator.GeneratorControlType LfGenerator.ReactiveRangeMode LfHvdc LfLoad LfNetwork LfNetworkListener LfNetworkLoader LfNetworkLoaderPostProcessor LfNetworkLoaderPostProcessor.LoadingPolicy LfNetworkParameters LfNetworkStateUpdateParameters LfSecondaryVoltageControl LfShunt LfShunt.Controller LfStandbyAutomatonShunt LfStaticVarCompensator LfStaticVarCompensator.StandByAutomaton if the static var compensator has an automaton in stand by, this object must be field.LfVscConverterStation LfZeroImpedanceNetwork LoadFlowModel NetworkState PiModel PiModelArray PowerShift PropertyBag ReactivePowerControl SelectedSlackBus ShuntVoltageControl Side SimplePiModel SlackBusSelectionMode SlackBusSelector TransformerPhaseControl TransformerPhaseControl.Mode TransformerPhaseControl.Unit TransformerVoltageControl VoltageControl VoltageControl.MergeStatus VoltageControl.Type -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.network.util Class Description LfBranch LfBus LfNetwork LoadFlowModel -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.sa Class Description LfAction LfBranch LfBus LfContingency LfNetwork LfNetworkParameters -
Classes in com.powsybl.openloadflow.network used by com.powsybl.openloadflow.sensi Class Description LfBranch LfBus LfNetwork