Ask Your Question
0

Fixed power flow on a branch

asked 2023-08-23 02:47:42 -0500

Vlad gravatar image

Hello.

How can I model in PSSE an equipment to control the power flow on a particular branch? Lets say I don't want that the power that flows on a branch to be bigger than 10MW, but if from the power flow computation results 5MW this equipment should not change the circulation. If PSSE doesn't support this how can I simulate this situation?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
0

answered 2023-08-27 21:53:27 -0500

Tassie Dave gravatar image

updated 2023-08-28 10:02:23 -0500

jconto gravatar image

In order to get a load flow case with the P and Q flow between two busses at a particular level, do an iterative process: - run load flow - measure P and Q flow - adjust P and Q for the generator

here is some sample code:

def dispatch_p_and_pf(p_setpoint, pf_setpoint, p_gen_bus, q_gen_bus, Q_from_bus, Q_to_bus, P_from_bus, P_to_bus):
    # iteratively adjusts two machines in the load flow case, until the P and Q flows between the meas_bus and poc_bus match the setpoints.
    # The machines at which P and Q are adjusted are allowed to be different, for cases where P is set by a generator and Q by a STATCOM
    p_sched = p_setpoint  
    q_sched = default_p_sp *sqrt((1/pf_setpoint)**2 - 1) * np.sign(pf_setpoint)
    count = 0
    p_gen = p_sched 
    q_gen = q_sched
    print('Perror \tQerror \tPctrl \tQctrl \tPgen \tQgen' )
    while count < nbr_solve_iterations:
        psspy.machine_chng_2(p_gen_bus,r"""1""",[_i,_i,_i,_i,_i,_i],[ p_gen,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f])  
        psspy.machine_chng_2(q_gen_bus,r"""1""",[_i,_i,_i,_i,_i,_i],[ _f,q_gen,q_gen,q_gen,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f])  
        psspy.fdns([0,2,0,0,0,0,99,0])
        psspy.fdns([0,2,0,0,0,0,99,0])
        ierr, p_control = psspy.brnmsc(P_from_bus, P_to_bus, '1','P')
        ierr, q_control = psspy.brnmsc(Q_from_bus, Q_to_bus, '1','Q')
        p_error = p_sched - p_control
        q_error = q_sched - q_control
        if abs(p_error) < error_tol and abs(q_error) < error_tol :
            break  # the systesm is now set up correctly
        p_gen = p_gen + p_error
        if p_gen > Pbase:
            p_gen = Pbase        
        q_gen = q_gen + q_error

        count +=1
    print('%3.2f \t%3.2f \t%3.2f \t%3.2f \t%3.2f \t%3.2f' % (p_error, q_error, p_control, q_control, p_gen, q_gen))
edit flag offensive delete link more
0

answered 2023-08-23 15:18:38 -0500

jconto gravatar image

To maintain a flow below a level: - Change the dispatch of nearby generation according to their generation shift factor relative to the branch whenever the branch flow is closed to reach its limit.

On higher power levels (Pflow > 50 MW), to maintain a fix flow on a branch: - Add a phase-shifter transformer in series with the branch. or - Add a HVDC line in series with the branch.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Question Tools

1 follower

Stats

Asked: 2023-08-23 02:47:42 -0500

Seen: 173 times

Last updated: Aug 28 '23