You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
powersas.m/internal/readSimulationSettings.m

90 lines
3.7 KiB

function simSettings=readSimulationSettings(settingFile,path,homePath)
% Read settings file into settings struct.
%
% FUNCTION readSimulationSettings
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
if nargin<3
homePath=pwd;
end
if nargin<2
path=pwd;
end
simSettings=[];
try
cd(path);
eval(settingFile);
% if ~exist('eventList','var');eventList=events;end
if exist('nlvl','var');simSettings.nlvl=nlvl;end
if exist('taylorN','var');simSettings.taylorN=taylorN;end
if exist('alphaTol','var');simSettings.alphaTol=alphaTol;end
if exist('diffTol','var');simSettings.diffTol=diffTol;end
if exist('diffTolMax','var');simSettings.diffTolMax=diffTolMax;end
if exist('method','var');simSettings.method=method;end
if exist('diffTolCtrl','var');simSettings.diffTolCtrl=diffTolCtrl;end
%%%%%%khuang Sep 5
if exist('dAlpha','var');simSettings.dAlpha=dAlpha;end
%%%%%%%%%%%%%%%%
simSettings.eventList=eventList;
simSettings.bsSyn=bsSyn;
simSettings.bsBus=bsBus;
simSettings.bsInd=bsInd;
if exist('Efstd','var');simSettings.Efstd=Efstd;else simSettings.Efstd=1.2;end
simSettings.evtLine=evtLine;
simSettings.evtLineSpec=evtLineSpec;
simSettings.evtZip=evtZip;
simSettings.evtZipSpec=evtZipSpec;
simSettings.evtZipSpec2=evtZipSpec2;
simSettings.evtInd=evtInd;
simSettings.evtIndSpec=evtIndSpec;
simSettings.evtSyn=evtSyn;
simSettings.evtSynSpec=evtSynSpec;
simSettings.evtFault=evtFault;
simSettings.evtFaultSpec=evtFaultSpec;
simSettings.evtDyn=evtDyn;
simSettings.evtDynPQ=evtDynPQ;
simSettings.evtDynPV=evtDynPV;
simSettings.evtDynInd=evtDynInd;
simSettings.evtDynZip=evtDynZip;
simSettings.evtDynSh=evtDynSh;
simSettings.evtDynZipRamp=evtDynZipRamp;
simSettings.evtDynTmech=evtDynTmech;
simSettings.evtDynPm=evtDynPm;
simSettings.evtDynEf=evtDynEf;
simSettings.evtDynVref=evtDynVref;
simSettings.evtDynEq1=evtDynEq1;
cd(homePath);
catch ME
cd(homePath);
rethrow(ME);
end
end