Ask Your Question
0

inconsistent simulation results

asked 2015-12-05 16:44:56 -0500

anonymous user

Anonymous

updated 2015-12-05 16:53:18 -0500

I have been working on the psse software for my thesis work for the past four months on the Nigerian power network. I have a challenge with the load flow simulation results; its not repetitive and i have not being able to get the desired results. IT KEEPS BLOWING UP AND THE MISMATCH IS QUITE HIGH. CAN SOMEBODY HELP ME OUT?
edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
0

answered 2015-12-07 00:58:40 -0500

SqFKYo gravatar image

Could you be more specific please?

Have you tried to record the commands you're inputting into a Python file and then replaying them, to see if the results differ?

edit flag offensive delete link more
0

answered 2015-12-15 22:07:31 -0500

Eli Pack gravatar image

It is great if your solution doesn't blow up and you never need to flat start, but sometimes you can try alternative solving functions to get your case back to a normal state. Try the below function rather than a typical single solve.

def solve():
    """
    Function to run Newton-Raphson load flow. If the original solve is unsuccessful, several more attempts are made with alternative parameters.

    Returns True only if the case is solved without ignoring reactive limits.
    """
    # Allow 200 iterations
    psspy.solution_parameters_3([_i,200,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f])

    # Normal full newton
    psspy.fnsl([1,0,0,1,1,0,99,0])
    reactive_ignored = False

    if psspy.solved() != 0:
        # If normal full newton didn't work:
        # Flat start decoupled
        psspy.fdns([0,0,0,1,1,1,99,0])
        if psspy.solved() == 0:
            # If flat start worked, now do a full netwon
            psspy.fnsl([0,0,0,1,1,0,99,0])
        else:
            psspy.fdns([1,0,0,1,1,1,99,0])
            psspy.fnsl([0,0,0,1,1,0,99,0])
            psspy.fnsl([1,0,0,1,1,0,99,0])
            # Try ignoring reactive limits
            if psspy.solved > 0:
                reactive_ignored = True
                psspy.fnsl([1,0,0,1,1,1,-1,0])
            psspy.fnsl([0,0,0,1,1,0,99,0])
            if psspy.solved() == 0:
                reactive_ignored = False

            if psspy.solved > 0:
                psspy.fdns([1,0,0,1,1,1,-1,0])
                reactive_ignored = True

    if psspy.solved() == 0:
        psspy.fdns([0,0,0,1,1,1,99,0])
        if reactive_ignored:
            print "\nSolved successfully, but reactive limits were ignored."
            return False
        else:
            print "\nSolved successfully!"
            return True
    else:
        print "\nUnable to solve case."
        return False
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

Stats

Asked: 2015-12-05 16:44:56 -0500

Seen: 986 times

Last updated: Dec 15 '15