diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m index 7475572144a005e3711f7195d0afd2a4993955ff..c9a6f86c863e524cfe18a70788c57a8b520eea2c 100644 --- a/code/classes/SCDclass_expcode.m +++ b/code/classes/SCDclass_expcode.m @@ -506,7 +506,21 @@ classdef SCDclass_expcode end end - function printMARTe2config(obj, shot) + function printMARTe2config(obj, shot, varargin) + p=inputParser; + % if a model name is given, operations will be performed + % only on it, otherwise they will be performed on all + % configured models + addParameter(p,'model','',@(x) ischar(x)); + parse(p,varargin{:}); + + if(isempty(p.Results.model)) + obj.mdscontainer.modeltogenerate='all'; + else + obj.mdscontainer.modeltogenerate=p.Results.model; + end + + fprintf("+MDSParameters = {\n"); fprintf(" Class = MDSParameters\n"); fprintf(" Shot = %d\n",shot); diff --git a/code/classes/SCDclass_mdsobjcontainer.m b/code/classes/SCDclass_mdsobjcontainer.m index 738fdd937d0266057792282e9d684f0911553d9e..ae7e84ec91bd532b88316280fe7822725eaf2f35 100644 --- a/code/classes/SCDclass_mdsobjcontainer.m +++ b/code/classes/SCDclass_mdsobjcontainer.m @@ -16,6 +16,7 @@ classdef SCDclass_mdsobjcontainer simstructlist % list of names of simstructs to be transferred to % base workspace upon expcode setup modeltoactualize % model name to actualize ('all' for all) + modeltogenerate % model name to generate conf script ('all' for all) end methods @@ -244,15 +245,32 @@ classdef SCDclass_mdsobjcontainer function printMARTe2parconfig(obj, shot) for ii=1:obj.numparams - str=obj.mdsparams(ii).genMARTe2entry(shot); - fprintf(" %s\n",str); + if(strcmp(obj.modeltogenerate,'all')) + str=obj.mdsparams(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + else + if(strcmp(obj.modeltogenerate,obj.mdsparams(ii).getmodelname)) + str=obj.mdsparams(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + end + end + end end + + function printMARTe2wgconfig(obj, shot) for ii=1:obj.numwavegens - str=obj.mdswavegens(ii).genMARTe2entry(shot); - fprintf(" %s\n",str); + if(strcmp(obj.modeltogenerate,'all')) + str=obj.mdswavegens(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + else + if(strcmp(obj.modeltogenerate,obj.mdswavegens(ii).getmodelname)) + str=obj.mdswavegens(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); + end + end end end diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index 6b4a37af3865be4e8df1bc59d7ffacc0a7f1705b..1a027937a60172f433bf752adcd9647115c1d637 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -123,6 +123,14 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous obj.modelparam=[obj.modeltpstruct '.' obj.modeltargetpar]; end + function obj=actualizetdiexpr(obj, shot) + if(shot==-1) + obj.tdiexprused=obj.tdiexprmodel; + else + obj.tdiexprused=obj.tdiexprshot; + end + end + function printinfocommon(obj) fprintf('%s (class %s):\n', obj.modelparam, obj.classname); fprintf(' Simulink model: ''%s'', data dictionary: ''%s''\n', obj.modelname, obj.datadictionary); @@ -161,8 +169,9 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous end function entrystring = genMARTe2entrycommon(obj, shot) - obj.mdsconnect(shot); - [obj,~]=obj.getdata(shot); + %obj.mdsconnect(shot); + %[obj,~]=obj.getdata(shot); + obj=obj.actualizetdiexpr(shot); %entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused ' }']; entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused]; end diff --git a/code/classes/SCDclass_mdswgsigsingle.m b/code/classes/SCDclass_mdswgsigsingle.m index fe7ec152e16c2ae2f9ac5d01b1c929f1c2c397ad..9ce4a0bcba83273b34dc11f88398cfd165b70baf 100644 --- a/code/classes/SCDclass_mdswgsigsingle.m +++ b/code/classes/SCDclass_mdswgsigsingle.m @@ -113,6 +113,7 @@ classdef SCDclass_mdswgsigsingle < SCDclass_mdswg function entrystring = genMARTe2entry(obj, shot) entrystring=obj.genMARTe2entrycommon(shot); + entrystring=[entrystring ' }']; end end