diff options
author | Sunil Shetye | 2018-06-25 12:08:56 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-25 12:45:27 +0530 |
commit | 7c70459c10aed0d74ee03896abaf47fefdbf7c8f (patch) | |
tree | 6f6acc6a5087295c6e59f0f94bfda5025049d5fa /js/Misc/MPBLOCK.js | |
parent | 870479a2e4b932426a904b2ebae7e4ee72037326 (diff) | |
download | sci2js-7c70459c10aed0d74ee03896abaf47fefdbf7c8f.tar.gz sci2js-7c70459c10aed0d74ee03896abaf47fefdbf7c8f.tar.bz2 sci2js-7c70459c10aed0d74ee03896abaf47fefdbf7c8f.zip |
separate out code for getvalue
Diffstat (limited to 'js/Misc/MPBLOCK.js')
-rw-r--r-- | js/Misc/MPBLOCK.js | 328 |
1 files changed, 164 insertions, 164 deletions
diff --git a/js/Misc/MPBLOCK.js b/js/Misc/MPBLOCK.js index 2342fd37..ff8df8e0 100644 --- a/js/Misc/MPBLOCK.js +++ b/js/Misc/MPBLOCK.js @@ -1,263 +1,263 @@ /* autogenerated from "macros/Misc/MPBLOCK.sci" */ function MPBLOCK() { MPBLOCK.prototype.define = function MPBLOCK() { -this.in1=["u"]; -this.intype=["I"]; -this.out=[["y1"],["y2"]]; -this.outtype=[["I"],["I"]]; -param=[]; -paramv=list(); -pprop=[]; -nameF="myModel"; -exprs=tlist(["MPBLOCK","in","intype","out","outtype","param","paramv","pprop","nameF","funtxt"],sci2exp(this.in1.slice()),sci2exp(this.intype.slice()),sci2exp(this.out.slice()),sci2exp(this.outtype.slice()),sci2exp(param.slice()),list(string(0.1),string(.0001)),sci2exp(pprop.slice()),nameF,[]); -model=scicos_model(); -model.blocktype="c"; -model.dep_ut=[true,true]; -model.rpar=[]; + this.in1 = ["u"]; + this.intype = ["I"]; + this.out = [["y1"],["y2"]]; + this.outtype = [["I"],["I"]]; + param = []; + paramv = list(); + pprop = []; + nameF = "myModel"; + exprs = tlist(["MPBLOCK","in","intype","out","outtype","param","paramv","pprop","nameF","funtxt"],sci2exp(this.in1.slice()),sci2exp(this.intype.slice()),sci2exp(this.out.slice()),sci2exp(this.outtype.slice()),sci2exp(param.slice()),list(string(0.1),string(.0001)),sci2exp(pprop.slice()),nameF,[]); + model = scicos_model(); + model.blocktype = "c"; + model.dep_ut = [true,true]; + model.rpar = []; for (i=1;i<=lstsize(paramv);i+=1) { -model.rpar=[[model.rpar],[paramv[i-1].slice()]]; -} -mo=modelica(); -mo.model=nameF; -mo.parameters=list(param,paramv); -model.sim=list(mo.model,10004); -mo.inputs=this.in1; -mo.outputs=this.out; -model.in1=ones(size(mo.inputs,"r"),1); -model.out=ones(size(mo.outputs,"r"),1); -model.equations=mo; -gr_i=[]; -x=standard_define([3,2],model,exprs,gr_i); -x.graphics.in_implicit=this.intype; -x.graphics.out_implicit=this.outtype; + model.rpar = [[model.rpar],[paramv[i-1].slice()]]; +} + mo = modelica(); + mo.model = nameF; + mo.parameters = list(param,paramv); + model.sim = list(mo.model,10004); + mo.inputs = this.in1; + mo.outputs = this.out; + model.in1 = ones(size(mo.inputs,"r"),1); + model.out = ones(size(mo.outputs,"r"),1); + model.equations = mo; + gr_i = []; + x = standard_define([3,2],model,exprs,gr_i); + x.graphics.in_implicit = this.intype; + x.graphics.out_implicit = this.outtype; } MPBLOCK.prototype.details = function MPBLOCK() { } MPBLOCK.prototype.get = function MPBLOCK() { } MPBLOCK.prototype.set = function MPBLOCK() { -x=arg1; -model=arg1.model; -graphics=arg1.graphics; -exprs=graphics.exprs; -if (this.type[exprs-1]==15) { -paramv=list(); -pprop=[]; + x = arg1; + model = arg1.model; + graphics = arg1.graphics; + exprs = graphics.exprs; + if (this.type[exprs-1]==15) { + paramv = list(); + pprop = []; for (i=1;i<=size(model.rpar,"*");i+=1) { -paramv[$+1-1]=string(model.rpar[i-1]); -pprop[$+1-1]=0; + paramv[$+1-1] = string(model.rpar[i-1]); + pprop[$+1-1] = 0; } -exprs=tlist(["MPBLOCK","in","intype","out","outtype","param","paramv","pprop","nameF","funtxt"],exprs[1-1][1-1],exprs[1-1][2-1],exprs[1-1][3-1],exprs[1-1][4-1],exprs[1-1][5-1],paramv,sci2exp(pprop.slice()),exprs[1-1][7-1],exprs[2-1]); + exprs = tlist(["MPBLOCK","in","intype","out","outtype","param","paramv","pprop","nameF","funtxt"],exprs[1-1][1-1],exprs[1-1][2-1],exprs[1-1][3-1],exprs[1-1][4-1],exprs[1-1][5-1],paramv,sci2exp(pprop.slice()),exprs[1-1][7-1],exprs[2-1]); } -lab_1=list(exprs.in1,exprs.intype,exprs.out,exprs.outtype,exprs.param,exprs.pprop,exprs.nameF); -lab_2=exprs.paramv; -while (true) { -[ok,Tin,Tintype,Tout,Touttype,Tparam,pprop,Tfunam,lab_1]=getvalue("Set Modelica generic block parameters",[["Input variables: "],["Input variables types: "],["Output variables: "],["Output variables types:"],["Parameters in Modelica:"],["Parameters properties: "],["Model name in packages:"]],list("str",-1,"str",-1,"str",-1,"str",-1,"str",-1,"vec",-1,"str",-1),lab_1); -if (!ok) { + lab_1 = list(exprs.in1,exprs.intype,exprs.out,exprs.outtype,exprs.param,exprs.pprop,exprs.nameF); + lab_2 = exprs.paramv; + while (true) { + [ok,Tin,Tintype,Tout,Touttype,Tparam,pprop,Tfunam,lab_1] = getvalue("Set Modelica generic block parameters",[["Input variables: "],["Input variables types: "],["Output variables: "],["Output variables types:"],["Parameters in Modelica:"],["Parameters properties: "],["Model name in packages:"]],list("str",-1,"str",-1,"str",-1,"str",-1,"str",-1,"vec",-1,"str",-1),lab_1); + if (!ok) { break; } -ierr=execstr("in=stripblanks(evstr(Tin)); intype=stripblanks(evstr(Tintype)); out=stripblanks(evstr(Tout)); outtype=stripblanks(evstr(Touttype)); param=stripblanks(evstr(Tparam)); funam=stripblanks(Tfunam)","errcatch"); -if (ierr!=0) { + ierr = execstr("in=stripblanks(evstr(Tin)); intype=stripblanks(evstr(Tintype)); out=stripblanks(evstr(Tout)); outtype=stripblanks(evstr(Touttype)); param=stripblanks(evstr(Tparam)); funam=stripblanks(Tfunam)","errcatch"); + if (ierr!=0) { x_message("Error in evaluation of variables."); -ok=false; + ok = false; } -if (ok) { + if (ok) { for (i=1;i<=size(this.in1,"*");i+=1) { -r=false; -ierr=execstr("r=validvar(in(i))","errcatch"); -if (!r) { -ok=false; + r = false; + ierr = execstr("r=validvar(in(i))","errcatch"); + if (!r) { + ok = false; break; } } -if (!ok) { + if (!ok) { x_message([["Invalid variable name for the input "+string(i)+"."],["\""+this.in1[i-1]+"\""],["Please choose another variable name."]]); } } -if (ok) { + if (ok) { for (i=1;i<=size(this.out,"*");i+=1) { -r=false; -ierr=execstr("r=validvar(out(i))","errcatch"); -if (!r) { -ok=false; + r = false; + ierr = execstr("r=validvar(out(i))","errcatch"); + if (!r) { + ok = false; break; } } -if (!ok) { + if (!ok) { x_message([["Invalid variable name for the output "+string(i)+"."],["\""+this.out[i-1]+"\""],["Please choose another variable name."]]); } } -if (ok) { -param=param.slice(); + if (ok) { + param = param.slice(); for (i=1;i<=size(param,"*");i+=1) { -r=false; -ierr=execstr("r=validvar(param(i))","errcatch"); -if (!r) { -ok=false; + r = false; + ierr = execstr("r=validvar(param(i))","errcatch"); + if (!r) { + ok = false; break; } } -if (!ok) { + if (!ok) { x_message([["Invalid variable name for the parameter "+string(i)+"."],["\""+param[i-1]+"\""],["Please choose another variable name."]]); } } -if (ok) { + if (ok) { for (i=1;i<=size(this.intype,"*");i+=1) { -if (this.intype[i-1]!="E"&&this.intype[i-1]!="I") { + if (this.intype[i-1]!="E"&&this.intype[i-1]!="I") { x_message("Input type should be \'E\' or \'I\'!"); -ok=false; + ok = false; break; } } } -if (ok) { + if (ok) { for (i=1;i<=size(this.outtype,"*");i+=1) { -if (this.outtype[i-1]!="E"&&this.outtype[i-1]!="I") { + if (this.outtype[i-1]!="E"&&this.outtype[i-1]!="I") { x_message("Output type should be \'E\' or \'I\'!"); -ok=false; + ok = false; break; } } } -if (ok) { -if (or(size(this.intype)!=size(this.in1))) { + if (ok) { + if (or(size(this.intype)!=size(this.in1))) { x_message("Input variables are not well defined!"); -ok=false; + ok = false; } } -if (ok) { -if (or(size(this.outtype)!=size(this.out))) { + if (ok) { + if (or(size(this.outtype)!=size(this.out))) { x_message("Output variables are not well defined!"); -ok=false; + ok = false; } } -if (ok) { -pprop=pprop.slice(); -if ((size(param,"*")!=size(pprop,"*"))) { + if (ok) { + pprop = pprop.slice(); + if ((size(param,"*")!=size(pprop,"*"))) { x_message([["There is differences in"],["size of param and size "],["of param properties."]]); -ok=false; + ok = false; } } -if (ok) { -if (max(pprop)>2||min(pprop)<0) { + if (ok) { + if (max(pprop)>2||min(pprop)<0) { x_message([["Parameters properties must be :"],["0 : if it is a paramaters"],["1 : if it is an initial value of state,"],["2 : it it is a fixed initial state value."]]); -ok=false; + ok = false; } } -if (ok) { -if (this.funam=="") { + if (ok) { + if (this.funam=="") { x_message("The model name is not defined!"); -ok=false; + ok = false; } } -if (ok) { -[dirF,nameF,extF]=fileparts(this.funam); -if ((extF!="")||(dirF!="")) { + if (ok) { + [dirF,nameF,extF] = fileparts(this.funam); + if ((extF!="")||(dirF!="")) { x_message("Invalid model name!"); -ok=false; + ok = false; } } -if (ok) { -intypex=find(this.intype=="I"); -outtypex=find(this.outtype=="I"); -[model,graphics,ok]=set_io(model,graphics,list([ones(this.in1),ones(this.in1)],ones(this.in1)),list([ones(this.out),ones(this.out)],ones(this.out)),[],[],intypex,outtypex); + if (ok) { + intypex = find(this.intype=="I"); + outtypex = find(this.outtype=="I"); + [model,graphics,ok] = set_io(model,graphics,list([ones(this.in1),ones(this.in1)],ones(this.in1)),list([ones(this.out),ones(this.out)],ones(this.out)),[],[],intypex,outtypex); } -if (ok) { -Tparam_lab=evstr(Tparam); -Tparam_sz=size(Tparam_lab,"*"); -if (Tparam_sz>lstsize(lab_2)) { + if (ok) { + Tparam_lab = evstr(Tparam); + Tparam_sz = size(Tparam_lab,"*"); + if (Tparam_sz>lstsize(lab_2)) { for (i=1;i<=(Tparam_sz-lstsize(lab_2));i+=1) { -lab_2[$+1-1]="0"; + lab_2[$+1-1] = "0"; } -} else if (Tparam_sz<lstsize(lab_2)) { -lab_2_tmp=list(); -if (Tparam_sz!=0) { + } else if (Tparam_sz<lstsize(lab_2)) { + lab_2_tmp = list(); + if (Tparam_sz!=0) { for (i=1;i<=Tparam_sz;i+=1) { -ee=evstr(exprs.param); + ee = evstr(exprs.param); for (j=1;j<=size(ee,"r");j+=1) { -if (ee[j-1]==Tparam_lab[i-1]) { -lab_2_tmp[i-1]=lab_2[j-1]; + if (ee[j-1]==Tparam_lab[i-1]) { + lab_2_tmp[i-1] = lab_2[j-1]; } } } -lab_2=lab_2_tmp; + lab_2 = lab_2_tmp; } } -if (Tparam_sz!=0) { -lhs_txt=""; -lab_txt=""; -rhs_txt=""; + if (Tparam_sz!=0) { + lhs_txt = ""; + lab_txt = ""; + rhs_txt = ""; for (i=1;i<=Tparam_sz;i+=1) { -lhs_txt=lhs_txt+"%v"+string(i)+","; -if (pprop[i-1]==0) { -lab_txt=lab_txt+"\'"+Tparam_lab[i-1]+"\';"; -} else if (pprop[i-1]==1) { -lab_txt=lab_txt+"\'"+Tparam_lab[i-1]+" (state) \';"; -} else if (pprop[i-1]==2) { -lab_txt=lab_txt+"\'"+Tparam_lab[i-1]+" (fixed state) \';"; -} -rhs_txt=rhs_txt+"\'vec\',-1,"; -} -lhs_txt=part(lhs_txt,1,length(lhs_txt)-1); -lab_txt=part(lab_txt,1,length(lab_txt)-1); -rhs_txt=part(rhs_txt,1,length(rhs_txt)-1); -getvalue_txt="[ok,"+lhs_txt+",lab_2]=scicos_getvalue(\'Set parameters values\',["+lab_txt+"],"+"list("+rhs_txt+"),lab_2)"; + lhs_txt = lhs_txt+"%v"+string(i)+","; + if (pprop[i-1]==0) { + lab_txt = lab_txt+"\'"+Tparam_lab[i-1]+"\';"; + } else if (pprop[i-1]==1) { + lab_txt = lab_txt+"\'"+Tparam_lab[i-1]+" (state) \';"; + } else if (pprop[i-1]==2) { + lab_txt = lab_txt+"\'"+Tparam_lab[i-1]+" (fixed state) \';"; +} + rhs_txt = rhs_txt+"\'vec\',-1,"; +} + lhs_txt = part(lhs_txt,1,length(lhs_txt)-1); + lab_txt = part(lab_txt,1,length(lab_txt)-1); + rhs_txt = part(rhs_txt,1,length(rhs_txt)-1); + getvalue_txt = "[ok,"+lhs_txt+",lab_2]=scicos_getvalue(\'Set parameters values\',["+lab_txt+"],"+"list("+rhs_txt+"),lab_2)"; execstr(getvalue_txt); -if (!ok) { -lab_2=exprs.paramv; + if (!ok) { + lab_2 = exprs.paramv; } } } -if (ok) { -paramv=list(); + if (ok) { + paramv = list(); for (i=1;i<=Tparam_sz;i+=1) { execstr("paramv("+string(i)+")=%v"+string(i)); } } -if (ok) { -mo=modelica(); -mo.model=nameF; -mo.inputs=this.in1; -mo.outputs=this.out; -if (pprop!=[]) { -if (max(pprop)>0) { -mo.parameters=list(transpose(param),paramv,transpose(pprop)); -} else { -mo.parameters=list(transpose(param),paramv); + if (ok) { + mo = modelica(); + mo.model = nameF; + mo.inputs = this.in1; + mo.outputs = this.out; + if (pprop!=[]) { + if (max(pprop)>0) { + mo.parameters = list(transpose(param),paramv,transpose(pprop)); + } else { + mo.parameters = list(transpose(param),paramv); } } -model.equations=mo; -model.rpar=[]; + model.equations = mo; + model.rpar = []; for (i=1;i<=lstsize(paramv);i+=1) { -model.rpar=[[model.rpar],[double(paramv[i-1].slice())]]; -} -model.sim[1-1]=this.funam; -exprs.in1=lab_1[1-1]; -exprs.intype=lab_1[2-1]; -exprs.out=lab_1[3-1]; -exprs.outtype=lab_1[4-1]; -exprs.param=lab_1[5-1]; -exprs.paramv=list(); -if (Tparam_sz!=0) { -if (this.type[lab_2-1]==15) { + model.rpar = [[model.rpar],[double(paramv[i-1].slice())]]; +} + model.sim[1-1] = this.funam; + exprs.in1 = lab_1[1-1]; + exprs.intype = lab_1[2-1]; + exprs.out = lab_1[3-1]; + exprs.outtype = lab_1[4-1]; + exprs.param = lab_1[5-1]; + exprs.paramv = list(); + if (Tparam_sz!=0) { + if (this.type[lab_2-1]==15) { for (i=1;i<=lstsize(lab_2);i+=1) { -exprs.paramv[i-1]=lab_2[i-1]; + exprs.paramv[i-1] = lab_2[i-1]; } -} else { + } else { for (i=1;i<=size(lab_2,"*");i+=1) { -exprs.paramv[i-1]=lab_2[i-1]; + exprs.paramv[i-1] = lab_2[i-1]; } } } -exprs.pprop=lab_1[6-1]; -exprs.nameF=lab_1[7-1]; -exprs.funtxt=""; -x.model=model; -graphics.gr_i[1-1][1-1]="txt=[\' "+nameF+" \'];"; -graphics.in_implicit=this.intype; -graphics.out_implicit=this.outtype; -graphics.exprs=exprs; -x.graphics=graphics; + exprs.pprop = lab_1[6-1]; + exprs.nameF = lab_1[7-1]; + exprs.funtxt = ""; + x.model = model; + graphics.gr_i[1-1][1-1] = "txt=[\' "+nameF+" \'];"; + graphics.in_implicit = this.intype; + graphics.out_implicit = this.outtype; + graphics.exprs = exprs; + x.graphics = graphics; break; } } |