diff --git a/open-reac/src/main/resources/openreac/acopf.mod b/open-reac/src/main/resources/openreac/acopf.mod index 85bfb991..4c3e35c7 100644 --- a/open-reac/src/main/resources/openreac/acopf.mod +++ b/open-reac/src/main/resources/openreac/acopf.mod @@ -109,27 +109,27 @@ var branch_Ror_var{(qq,m,n) in BRANCHCC_REGL_VAR} var Red_Tran_Act_Dir{(qq,m,n) in BRANCHCC } = V[n] * branch_admi[qq,m,n] * sin(teta[m]-teta[n]+branch_dephor[qq,m,n]-branch_angper[qq,m,n]) * (if (qq,m,n) in BRANCHCC_REGL_VAR then branch_Ror_var[qq,m,n]*branch_cstratio[1,qq,m,n] else branch_Ror[qq,m,n]) - + V[m] * (branch_admi[qq,m,n]*sin(branch_angper[qq,m,n])+branch_Gor[1,qq,m,n]) + + V[m] * (branch_admi[qq,m,n]*sin(branch_angper[qq,m,n])+branch_Gor_mod[qq,m,n]) * (if (qq,m,n) in BRANCHCC_REGL_VAR then branch_Ror_var[qq,m,n]*branch_cstratio[1,qq,m,n] else branch_Ror[qq,m,n])**2 ; var Red_Tran_Rea_Dir{(qq,m,n) in BRANCHCC } = - V[n] * branch_admi[qq,m,n] * cos(teta[m]-teta[n]+branch_dephor[qq,m,n]-branch_angper[qq,m,n]) * (if (qq,m,n) in BRANCHCC_REGL_VAR then branch_Ror_var[qq,m,n]*branch_cstratio[1,qq,m,n] else branch_Ror[qq,m,n]) - + V[m] * (branch_admi[qq,m,n]*cos(branch_angper[qq,m,n])-branch_Bor[1,qq,m,n]) + + V[m] * (branch_admi[qq,m,n]*cos(branch_angper[qq,m,n])-branch_Bor_mod[qq,m,n]) * (if (qq,m,n) in BRANCHCC_REGL_VAR then branch_Ror_var[qq,m,n]*branch_cstratio[1,qq,m,n] else branch_Ror[qq,m,n])^2 ; var Red_Tran_Act_Inv{(qq,m,n) in BRANCHCC } = V[m] * branch_admi[qq,m,n] * sin(teta[n]-teta[m]-branch_dephor[qq,m,n]-branch_angper[qq,m,n]) * (if (qq,m,n) in BRANCHCC_REGL_VAR then branch_Ror_var[qq,m,n]*branch_cstratio[1,qq,m,n] else branch_Ror[qq,m,n]) - + V[n] * (branch_admi[qq,m,n]*sin(branch_angper[qq,m,n])+branch_Gex[1,qq,m,n]) + + V[n] * (branch_admi[qq,m,n]*sin(branch_angper[qq,m,n])+branch_Gex_mod[qq,m,n]) ; var Red_Tran_Rea_Inv{(qq,m,n) in BRANCHCC } = - V[m] * branch_admi[qq,m,n] * cos(teta[n]-teta[m]-branch_dephor[qq,m,n]-branch_angper[qq,m,n]) * (if (qq,m,n) in BRANCHCC_REGL_VAR then branch_Ror_var[qq,m,n]*branch_cstratio[1,qq,m,n] else branch_Ror[qq,m,n]) - + V[n] * (branch_admi[qq,m,n]*cos(branch_angper[qq,m,n])-branch_Bex[1,qq,m,n]) + + V[n] * (branch_admi[qq,m,n]*cos(branch_angper[qq,m,n])-branch_Bex_mod[qq,m,n]) ; diff --git a/open-reac/src/main/resources/openreac/commons.mod b/open-reac/src/main/resources/openreac/commons.mod index 776cb080..9d0f6d18 100644 --- a/open-reac/src/main/resources/openreac/commons.mod +++ b/open-reac/src/main/resources/openreac/commons.mod @@ -103,6 +103,23 @@ param branch_X_mod{(qq,m,n) in BRANCHCC} := else branch_X[1,qq,m,n]; check {(qq,m,n) in BRANCHCC}: abs(branch_X_mod[qq,m,n]) > 0; +# If in BRANCHZNULL, then set Gor/Gex/Bor/Bex to 0 +param branch_Gor_mod{(qq,m,n) in BRANCHCC} := + if (qq,m,n) in BRANCHZNULL then 0 + else branch_Gor[1,qq,m,n]; + +param branch_Gex_mod{(qq,m,n) in BRANCHCC} := + if (qq,m,n) in BRANCHZNULL then 0 + else branch_Gex[1,qq,m,n]; + +param branch_Bor_mod{(qq,m,n) in BRANCHCC} := + if (qq,m,n) in BRANCHZNULL then 0 + else branch_Bor[1,qq,m,n]; + +param branch_Bex_mod{(qq,m,n) in BRANCHCC} := + if (qq,m,n) in BRANCHZNULL then 0 + else branch_Bex[1,qq,m,n]; + # Busses with valid voltage value set BUSVV := {n in BUSCC : bus_V0[1,n] >= min_plausible_low_voltage_limit};