-
Notifications
You must be signed in to change notification settings - Fork 0
/
processCPFOptions.m
37 lines (30 loc) · 1.07 KB
/
processCPFOptions.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
% Do some pre-processing based on CPFOptions
%
%
function CPFOptions = processCPFOptions(CPFOptions)
define_constants;
% function handle to case file
CPFOptions.caseFunction = str2func(CPFOptions.caseFile);
mpc = CPFOptions.caseFunction();
CPFOptions.mpc = mpc;
% count number of contingencies
CPFOptions.nContingencies = 1;
if CPFOptions.tripAllLines
CPFOptions.nLines = size(mpc.branch,1);
CPFOptions.tripLines = 1:CPFOptions.nLines;
else
CPFOptions.nLines = length(CPFOptions.tripLines);
end
CPFOptions.nContingencies = CPFOptions.nContingencies + CPFOptions.nLines;
CPFOptions.nGenerators = length(CPFOptions.tripGenerators);
CPFOptions.nContingencies = CPFOptions.nContingencies + CPFOptions.nGenerators;
CPFOptions.nWindPoints = length(CPFOptions.pWind);
% default is to increase load at all buses
if isempty(CPFOptions.loadIncreaseBuses)
CPFOptions.loadIncreaseBuses = 1:size(mpc.bus,1);
end
% load iterations diabled -> only run 1 CPF from base case load
if ~CPFOptions.loadIterations
CPFOptions.maxLoadIterations = 1;
CPFOptions.fromZeroLoad = 0;
end