Just how important it is to include printpf and savecase callback during the extension of OPF, if I don't really need anything printed out right after I call the power flow? Will it be still possible to extract information from the 'results' when I say results=runopf(mycase)?
To my understanding, after runopf being called, 'results' struct will be returned and can be accessed by writing some command like results.gen(:,2), etc. Let me know if I am thinking correctly or not? On Fri, Mar 29, 2019 at 9:53 AM Jubeyer Rahman <[email protected]> wrote: > Thank you very much. > > On Fri, Mar 29, 2019 at 8:43 AM Ray Zimmerman <[email protected]> wrote: > >> Are you attempting to use the provided extension for fixed reserves, or >> are you attempting to write your own extension? >> >> If it’s the former, the full implementation is included in >> toggle_reserves() >> <http://www.pserc.cornell.edu/matpower/docs/ref/matpower6.0/toggle_reserves.html>. >> Simply load your case file, use toggle_reserves() to enable the >> callbacks, then run the OPF (or just call runopf_w_res() >> <http://www.pserc.cornell.edu/matpower/docs/ref/matpower6.0/runopf_w_res.html>, >> which does these 3 steps automatically for you). >> >> If you are attempting to write your own extension, I suggest making a >> copy of toggle_reserves.m and rename it and all of the functions in it >> and use it as a template for your own extension. >> >> Ray >> >> >> On Mar 28, 2019, at 12:40 PM, Jubeyer Rahman <[email protected]> wrote: >> >> Hi, >> >> Recently I was digging through the extending OPF chapter of Matpower >> manual, but I don't quite catch the process. Regarding the example given >> there on 'Fixed zonal reserves' what I understand from my reading is, it is >> required to write down a call back function for formulation along with some >> call of callback functions. I have followed every steps mentioned there but >> could not make the code run (I am using version 6.0). I am adding my code >> snippet here for better conveying. >> >> %%% >> mpc=loadcase('case30.m'); >> mpopt = mpoption('out.all', 0, 'verbose', 0); >> mpc=add_usefcn(mpc,'formulation',@userfcn_reserves_formulation); >> mpc=ext2int(mpc,mpopt); >> results=runopf(mpc); >> results=int2ext; >> >> %%%% >> *Error message:* >> *Access to an object's fields is only permitted within its methods.* >> >> I have added the mpc.reserve data(cost, req, zones) posted in >> 't_case30_userfcns.m' file. >> I have written the userfcn_reserves_formulation in a different script , >> but it is not working. >> I didn't write the add_var and add_constraint explicitly since the >> add_userfcn callback function already contains those. >> >> Can you tell me what I am missing? >> >> Regards, >> Jubeyer >> >> >>
