First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!

Ask Your Question
0

inconsistent simulation results

asked Dec 5 '15

anonymous user

Anonymous

updated Dec 5 '15

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?

2 answers

Sort by » oldest newest most voted
0

answered Dec 7 '15

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?

link
0

answered Dec 16 '15

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
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.
Want to format code in your answer? Here is a one minute demo on Youtube

Add Answer

[hide preview]

Question Tools

Stats

Asked: Dec 5 '15

Seen: 1,080 times

Last updated: Dec 15 '15