Menu

Governor and Excitation setting in deltamode

2018-11-03
2018-11-06
  • Lung-An Lee

    Lung-An Lee - 2018-11-03

    Hi,

    I tried to set "DEGOV1_wref 0.9" and "vset 1.2" to alter the speed and termal voltage of a diesel generator.
    And, I recorded the results, but it did not change as my expectation, reducing the rotor speed and increasing voltage, everything was the same with default.

    My software version.
    GridLAB-D 4.0.0-17322 (https://github.com/gridlab-d/gri¬C) 64-bit WINDOWS RELEASE

    object diesel_dg {
    name DIESEL_1;
    parent node001;
    flags DELTAMODE; //Enable deltamode on the model
    Rated_V 4160.0; //Need to set the Line-to-line rating
    Rated_VA 1.0 MVA; //Just picked an arbitrary size

    Gen_type DYN_SYNCHRONOUS;       //This is the proper value
    rotor_speed_convergence ${rotor_convergence};
    
    // Gen_mode CONSTANTE;          //This property does nothing
    power_out_A 4000.000000;        
    power_out_B 4000.000000;        //Just set to a really low value to suppress the warning
    power_out_C 4000.000000;
    
    Exciter_type SEXS;      //Give it voltage control
    vset 1.2;
    
    Governor_type DEGOV1;   //Make it try to maintain frequenc
    DEGOV1_wref 0.9;
    
    //Recorder for some interesting properties of the generator
    object recorder {
        property
    

    rotor_speed,rotor_angle,flux1d,flux2q,EpRotated,VintRotated,Eint_A,Eint_B,Eint_C,Irotated,pwr_electric.real,pwr_electric.imag,pwr_mech,DEGOV1_wref,vset;
    flags DELTAMODE;
    interval 1;
    file "Gen_1_values.csv";
    };

    }

    Thanks.

     
    • Frank Tuffner

      Frank Tuffner - 2018-11-05

      Hello Lung-An,

      Are you able to attach the whole GLM file for what you're attempting? By itself, this doesn't provide a lot of detail. There are a couple items to consider in these properties. It's possible this is a bug in the code, but it may just be a model issue.

      The first is to make sure deltamode is actually being executed. The steady-state models for the simple exciter and the DEGOV1 governor are very simplistic, and especially in the case of the DEGOV1, assume you'll always want to be back at nominal (so it doesn't do very much with frequency during quasi-steady state calculations).

      The second is if there are any other generators on your topology. If there are other diesels, especially one set to isochronous elsewhere in your file, the changes you made to vset and DEGOV1_wref would get overridden or basically do nothing.

      For the GridLAB-D version you're using, did you download that as a release from SourceForge, or did you compile it directly? I'm guessing it is a downloaded version, but if it was compiled, make sure you use the /release/RC4.1 or /develop branches -- they are the most up-to-date versions right now.

      If you can provide more detail on the system (or provide the file), that can help see what is going on in your system.

      -Frank

       
  • Lung-An Lee

    Lung-An Lee - 2018-11-05

    Hi Frank,

    The files are attached, they are basically the dynamic example you provided online.
    I just tried to change the wref and vset to see what happens.

    In the parameter list, a couple of references are mentioned "may be overwritten internally,"
    I wonder if it means under some conditions, the program will run its default setting even though I set a different value?

    In this file, there is only diesel generator and one load bus.
    My gridlabd is downloaded from SourceForge, and I will try to updated the version.

    Thanks for your help.

     
    • aro

      aro - 2018-11-05

      Hello Lung-An,
      To see the ِDiesel_DG parameters type the following sentence (in gridlabd):

      gridlabd --modhelp generators:diesel_dg
      

      Correction your file:

      object diesel_dg {
          name DIESEL_1;
          parent node001;
      
          flags DELTAMODE;        //Enable deltamode on the model
          Rated_V 4160.0;         //Need to set the Line-to-line rating
          Rated_VA 1.0 MVA;       //Just picked an arbitrary size
      
          //Gen_type SYNCHRONOUS;         //This value does nothing
          Gen_type DYN_SYNCHRONOUS;       //This is the proper value
          rotor_speed_convergence ${rotor_convergence};   //Define the "exit out of deltamode back to normal mode" criterion
      
          // Gen_mode CONSTANTE;          //This property does nothing
          power_out_A 4000.000000;        //When on the SWING node, these values do nothing (powerflow overrides them for initial conditions)
          power_out_B 4000.000000;        //Just set to a really low value to suppress the warning
          power_out_C 4000.000000;
      
          Exciter_type SEXS;      //Give it voltage control
      
          //vset 1.2;
          //KA 0.5;
      
          wref 0.5;
          Pref 0.5;
      
          Governor_type DEGOV1;   //Make it try to maintain frequency
      
          //GGOV1_wref 1.2;?????
      
          DEGOV1_R 1;
      
          //Recorder for some interesting properties of the generator
          object recorder {
              property rotor_speed,rotor_angle,pwr_electric.real,pwr_electric.imag,pwr_mech,wref,vset,Pref;
              flags DELTAMODE;
              interval 1;
              file "Gen_1_values.csv";
          };
      
      }
      

      I hope this helps.

      -aro

       
  • Lung-An Lee

    Lung-An Lee - 2018-11-06

    Hello Aro,

    I tried to run your file, and it has an error as below.
    Basically, you change speed and power reference commands to "wref" and "Pref."
    In, my version, it is "DEGVO_wref"

    simple_dynamics1.glm(96): property wref is not defined in class diesel_dg
    simple_dynamics1.glm(70): load failed at or near 'object diese...'
    FATAL [INIT] : shutdown after command line rejected

    Besides, can you indicate what other parts you correct?
    Maybe I miss something.

    Thanks.

    Vic

     
    • Frank Tuffner

      Frank Tuffner - 2018-11-06

      Hello Lung-An/Vic,

      The reason you get an error is because Aro is running a newer version of GridLAB-D (likely version 4.1 or similar). You're still using a variant of 4.0, which had different properties published.

      If I run your file with "4.1 fixes" (which is likely the same as Aro's file) in version 4.1, the wref property works and gives the desired output. If I run your file in version 4.0, nothing much happens (frequency barely moves), which is what you're seeing.

      My guess is this is something that was fixed somewhere in the transition from 4.0 to 4.1. Your best bet is to migrate to that version. Ideally, there should be a release version of it available (since we pushed it to Release Candidate stage a couple months ago), but I can't seem to locate it anywhere. This means you need to build it from the source, unless you want to wait for the precompiled version to come about.

      To build from the source, you can use the instructions located on the ShoutWiki. There are also some other posts on here with some information. A note on this -- I think we've fixed all of the wiki entries, but if you get any odd commands, try retyping all hyphens/minus-signs (-) and make sure all the quotes are single quotes ('). The original document was written in Microsoft Word, so it has "helped" in a couple places formatting the commands (and broke them).

      Edit -- note that when you download the source code from GitHub (https://github.com/gridlab-d/gridlab-d), be sure to select the release/RC4.1 branch before building

      Hopefully, we'll get the precompiled executable up sometime soon -- this has prompted me to drop a note to the person working on that again and see if they have a timeline for the release.

      -Frank

       

      Last edit: Frank Tuffner 2018-11-06
  • Lung-An Lee

    Lung-An Lee - 2018-11-06

    Hi Frank,

    Thanks for your rapidly reply and explanation.
    So, I guess I cannot control GOV(wref) and SEX(vset) with 4.0 and previous versions, only 4.1 can do it, right?

    I will try to build from source, but I am afraid that I cannot complete it since my poor coding ability.
    Hence, I very appreciate your help to release the new version soon.

    Thanks.

    Vic

     
    • Frank Tuffner

      Frank Tuffner - 2018-11-06

      Hello Lung-An/Vic,

      That appears to be correct -- I'm guessing those variables just don't work right in 4.0.

      Building the source code isn't too hard and you don't really need to know how to code -- it's basically just a few commands you need to run in a console. The hard part is getting all of the prerequisite software installed and properly talking together.

      On the note of the compiled release, they are still being worked on. The latest word is hopefully sometime this week the compiled versions will be up on the downloads page proper.

      -Frank

       

Log in to post a comment.