RUNDCOPF Runs a DC optimal power flow. [RESULTS, SUCCESS] = RUNDCOPF(CASEDATA, MPOPT, FNAME, SOLVEDCASE) Runs a DC optimal power flow, optionally returning a RESULTS struct and SUCCESS flag. Inputs (all are optional): CASEDATA : either a MATPOWER case struct or a string containing the name of the file with the case data (default is 'case9') (see also CASEFORMAT and LOADCASE) MPOPT : MATPOWER options vector to override default options can be used to specify the solution algorithm, output options termination tolerances, and more (see also MPOPTION). FNAME : name of a file to which the pretty-printed output will be appended SOLVEDCASE : name of file to which the solved case will be saved in MATPOWER case format (M-file will be assumed unless the specified name ends with '.mat') Outputs (all are optional): RESULTS : results struct, with the following fields: (all fields from the input MATPOWER case, i.e. bus, branch, gen, etc., but with solved voltages, power flows, etc.) order - info used in external <-> internal data conversion et - elapsed time in seconds success - success flag, 1 = succeeded, 0 = failed (additional OPF fields, see OPF for details) SUCCESS : the success flag can additionally be returned as a second output argument Calling syntax options: results = rundcopf; results = rundcopf(casedata); results = rundcopf(casedata, mpopt); results = rundcopf(casedata, mpopt, fname); results = rundcopf(casedata, mpopt, fname, solvedcase); [results, success] = rundcopf(...); Alternatively, for compatibility with previous versions of MATPOWER, some of the results can be returned as individual output arguments: [baseMVA, bus, gen, gencost, branch, f, success, et] = rundcopf(...); Example: results = rundcopf('case30'); See also RUNOPF, RUNDUOPF.
0001 function varargout = rundcopf(casedata, mpopt, fname, solvedcase) 0002 %RUNDCOPF Runs a DC optimal power flow. 0003 % [RESULTS, SUCCESS] = RUNDCOPF(CASEDATA, MPOPT, FNAME, SOLVEDCASE) 0004 % 0005 % Runs a DC optimal power flow, optionally returning a RESULTS struct 0006 % and SUCCESS flag. 0007 % 0008 % Inputs (all are optional): 0009 % CASEDATA : either a MATPOWER case struct or a string containing 0010 % the name of the file with the case data (default is 'case9') 0011 % (see also CASEFORMAT and LOADCASE) 0012 % MPOPT : MATPOWER options vector to override default options 0013 % can be used to specify the solution algorithm, output options 0014 % termination tolerances, and more (see also MPOPTION). 0015 % FNAME : name of a file to which the pretty-printed output will 0016 % be appended 0017 % SOLVEDCASE : name of file to which the solved case will be saved 0018 % in MATPOWER case format (M-file will be assumed unless the 0019 % specified name ends with '.mat') 0020 % 0021 % Outputs (all are optional): 0022 % RESULTS : results struct, with the following fields: 0023 % (all fields from the input MATPOWER case, i.e. bus, branch, 0024 % gen, etc., but with solved voltages, power flows, etc.) 0025 % order - info used in external <-> internal data conversion 0026 % et - elapsed time in seconds 0027 % success - success flag, 1 = succeeded, 0 = failed 0028 % (additional OPF fields, see OPF for details) 0029 % SUCCESS : the success flag can additionally be returned as 0030 % a second output argument 0031 % 0032 % Calling syntax options: 0033 % results = rundcopf; 0034 % results = rundcopf(casedata); 0035 % results = rundcopf(casedata, mpopt); 0036 % results = rundcopf(casedata, mpopt, fname); 0037 % results = rundcopf(casedata, mpopt, fname, solvedcase); 0038 % [results, success] = rundcopf(...); 0039 % 0040 % Alternatively, for compatibility with previous versions of MATPOWER, 0041 % some of the results can be returned as individual output arguments: 0042 % 0043 % [baseMVA, bus, gen, gencost, branch, f, success, et] = rundcopf(...); 0044 % 0045 % Example: 0046 % results = rundcopf('case30'); 0047 % 0048 % See also RUNOPF, RUNDUOPF. 0049 0050 % MATPOWER 0051 % $Id: rundcopf.m,v 1.11 2010/04/26 19:45:25 ray Exp $ 0052 % by Ray Zimmerman, PSERC Cornell 0053 % Copyright (c) 1996-2010 by Power System Engineering Research Center (PSERC) 0054 % 0055 % This file is part of MATPOWER. 0056 % See http://www.pserc.cornell.edu/matpower/ for more info. 0057 % 0058 % MATPOWER is free software: you can redistribute it and/or modify 0059 % it under the terms of the GNU General Public License as published 0060 % by the Free Software Foundation, either version 3 of the License, 0061 % or (at your option) any later version. 0062 % 0063 % MATPOWER is distributed in the hope that it will be useful, 0064 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0065 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0066 % GNU General Public License for more details. 0067 % 0068 % You should have received a copy of the GNU General Public License 0069 % along with MATPOWER. If not, see <http://www.gnu.org/licenses/>. 0070 % 0071 % Additional permission under GNU GPL version 3 section 7 0072 % 0073 % If you modify MATPOWER, or any covered work, to interface with 0074 % other modules (such as MATLAB code and MEX-files) available in a 0075 % MATLAB(R) or comparable environment containing parts covered 0076 % under other licensing terms, the licensors of MATPOWER grant 0077 % you additional permission to convey the resulting work. 0078 0079 %% default arguments 0080 if nargin < 4 0081 solvedcase = ''; %% don't save solved case 0082 if nargin < 3 0083 fname = ''; %% don't print results to a file 0084 if nargin < 2 0085 mpopt = mpoption; %% use default options 0086 if nargin < 1 0087 casedata = 'case9'; %% default data file is 'case9.m' 0088 end 0089 end 0090 end 0091 end 0092 0093 mpopt = mpoption(mpopt, 'PF_DC', 1); 0094 [varargout{1:nargout}] = runopf(casedata, mpopt, fname, solvedcase);