diff options
author | Sunil Shetye | 2018-06-16 02:25:21 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-16 02:25:21 +0530 |
commit | 1c39ed809c3870b5922bf9b66938b6346eeaa318 (patch) | |
tree | 42312190d9bf7092d1232359647f387b31828238 /js/Electrical | |
parent | ca2285f5d4f7acbd4b19ea4d8d685b3d21db0743 (diff) | |
download | sci2js-1c39ed809c3870b5922bf9b66938b6346eeaa318.tar.gz sci2js-1c39ed809c3870b5922bf9b66938b6346eeaa318.tar.bz2 sci2js-1c39ed809c3870b5922bf9b66938b6346eeaa318.zip |
support numbers of format 1.0d10
Diffstat (limited to 'js/Electrical')
-rw-r--r-- | js/Electrical/Inductor.js | 47 | ||||
-rw-r--r-- | js/Electrical/NPN.js | 73 | ||||
-rw-r--r-- | js/Electrical/PNP.js | 73 |
3 files changed, 187 insertions, 6 deletions
diff --git a/js/Electrical/Inductor.js b/js/Electrical/Inductor.js index 4a696abd..bbd0e95c 100644 --- a/js/Electrical/Inductor.js +++ b/js/Electrical/Inductor.js @@ -1,3 +1,46 @@ -Syntax error in input LexToken(VAR,'d',1,1574) /* autogenerated from "macros/Electrical/Inductor.sci" */ -None +function Inductor() { +Inductor.prototype.get = function Inductor() { +} +Inductor.prototype.set = function Inductor() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +while (true) { +[ok,L,exprs]=scicos_getvalue("Set Inductor block parameter","L (H)",list("vec",1),exprs); +if (!ok) { +break +} +model.rpar=L; +model.equations.parameters[2-1]=list(L); +graphics.exprs=exprs; +x.graphics=graphics; +x.model=model; +break +} +} +Inductor.prototype.define = function Inductor() { +model=scicos_model(); +model.in1=[1]; +model.out=[1]; +L=1.e-5; +model.rpar=L; +model.sim="Inductor"; +model.blocktype="c"; +model.dep_ut=[true,None]; +mo=modelica(); +mo.model="Inductor"; +mo.inputs="p"; +mo.outputs="n"; +mo.parameters=list("L",list(L)); +model.equations=mo; +exprs=string(L); +gr_i=[]; +x=standard_define([2,0.9],model,exprs,list(gr_i,0)); +x.graphics.in_implicit=["I"]; +x.graphics.out_implicit=["I"]; +} +Inductor.prototype.details = function Inductor() { +} +} diff --git a/js/Electrical/NPN.js b/js/Electrical/NPN.js index d44e9310..18dd01a7 100644 --- a/js/Electrical/NPN.js +++ b/js/Electrical/NPN.js @@ -1,3 +1,72 @@ -Syntax error in input LexToken(VAR,'D',1,2509) /* autogenerated from "macros/Electrical/NPN.sci" */ -None +function NPN() { +NPN.prototype.get = function NPN() { +} +NPN.prototype.set = function NPN() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x=arg1; +exprs=x.graphics.exprs; +while (true) { +[ok,Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax,exprs]=scicos_getvalue(["Set NPN block parameters:",""],["Bf : Forward beta","Br : Reverse beta","Is : Transport saturation current","Vak : Early voltage (inverse), 1/Volt","Tauf: Ideal forward transit time","Taur: Ideal reverse transit time","Ccs : Collector-substrat(ground) cap.","Cje : Base-emitter zero bias depletion cap.","Cjc : Base-coll. zero bias depletion cap.","Phie: Base-emitter diffusion voltage","Me : Base-emitter gradation exponent","Phic: Base-collector diffusion voltage","Mc : Base-collector gradation exponent","Gbc : Base-collector conductance","Gbe : Base-emitter conductance","Vt : Voltage equivalent of temperature","EMinmax: if x > EMinMax, the exp(x) is linearized"],list("vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs); +if (!ok) { +break +} +x.model.equations.parameters[2-1]=list(Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax); +x.graphics.exprs=exprs; +break +} +} +NPN.prototype.define = function NPN() { +ModelName="NPN"; +PrametersValue=[50,0.1,0,0.02,1.200e-10,5.000e-09,1.000e-12,4.000e-13,5.000e-13,0.8,0.4,0.8,0.333,1.000e-15,1.000e-15,0.02585,40]; +ParametersName=["Bf","Br","Is","Vak","Tauf","Taur","Ccs","Cje","Cjc","Phie","Me","Phic","Mc","Gbc","Gbe","Vt","EMinMax"]; +model=scicos_model(); +Typein=[]; +Typeout=[]; +MI=[]; +MO=[]; +P=[100,90,-2,0,0,50,2,0,100,10,-2,0]; +PortName=["C","B","E"]; +for(i=1;i<=size(P,"r");i+=1) { +if (P(i,3)==1) { +Typein=[Typein,"E"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==2) { +Typein=[Typein,"I"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==-1) { +Typeout=[Typeout,"E"]; +MO=[MO,PortName(i)]; +} +if (P(i,3)==-2) { +Typeout=[Typeout,"I"]; +MO=[MO,PortName(i)]; +} +} +model=scicos_model(); +mo=modelica(); +model.sim=ModelName; +mo.inputs=MI; +mo.outputs=MO; +model.rpar=PrametersValue; +mo.parameters=list(ParametersName,PrametersValue,zeros(ParametersName)); +exprs=["50","0.1","1.e-16","0.02","0.12e-9","5e-9","1e-12","0.4e-12","0.5e-12","0.8","0.4","0.8","0.333","1e-15","1e-15","0.02585","40"]; +gr_i=[]; +model.blocktype="c"; +model.dep_ut=[None,true]; +mo.model=ModelName; +model.equations=mo; +model.in1=ones(size(MI,"*"),1); +model.out=ones(size(MO,"*"),1); +x=standard_define([2,2],model,exprs,list(gr_i,0)); +x.graphics.in_implicit=Typein; +x.graphics.out_implicit=Typeout; +} +NPN.prototype.details = function NPN() { +} +} diff --git a/js/Electrical/PNP.js b/js/Electrical/PNP.js index 3afdf184..a6201f02 100644 --- a/js/Electrical/PNP.js +++ b/js/Electrical/PNP.js @@ -1,3 +1,72 @@ -Syntax error in input LexToken(VAR,'D',1,2520) /* autogenerated from "macros/Electrical/PNP.sci" */ -None +function PNP() { +PNP.prototype.get = function PNP() { +} +PNP.prototype.set = function PNP() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x=arg1; +exprs=x.graphics.exprs; +while (true) { +[ok,Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax,exprs]=scicos_getvalue(["Set PNP block parameters:",""],["Bf : Forward beta","Br : Reverse beta","Is : Transport saturation current","Vak : Early voltage (inverse), 1/Volt","Tauf: Ideal forward transit time","Taur: Ideal reverse transit time","Ccs : Collector-substrat(ground) cap.","Cje : Base-emitter zero bias depletion cap.","Cjc : Base-coll. zero bias depletion cap.","Phie: Base-emitter diffusion voltage","Me : Base-emitter gradation exponent","Phic: Base-collector diffusion voltage","Mc : Base-collector gradation exponent","Gbc : Base-collector conductance","Gbe : Base-emitter conductance","Vt : Voltage equivalent of temperature","EMinMax: if x > EMinMax, the exp(x) function is linearized"],list("vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs); +if (!ok) { +break +} +x.model.equations.parameters[2-1]=list(Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax); +x.graphics.exprs=exprs; +break +} +} +PNP.prototype.define = function PNP() { +ModelName="PNP"; +PrametersValue=[50,0.1,0,0.02,1.200e-10,5.000e-09,1.000e-12,4.000e-13,5.000e-13,0.8,0.4,0.8,0.333,1.000e-15,1.000e-15,0.02585,40]; +ParametersName=["Bf","Br","Is","Vak","Tauf","Taur","Ccs","Cje","Cjc","Phie","Me","Phic","Mc","Gbc","Gbe","Vt","EMinMax"]; +model=scicos_model(); +Typein=[]; +Typeout=[]; +MI=[]; +MO=[]; +P=[100,90,-2,0,0,50,2,0,100,10,-2,0]; +PortName=["C","B","E"]; +for(i=1;i<=size(P,"r");i+=1) { +if (P(i,3)==1) { +Typein=[Typein,"E"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==2) { +Typein=[Typein,"I"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==-1) { +Typeout=[Typeout,"E"]; +MO=[MO,PortName(i)]; +} +if (P(i,3)==-2) { +Typeout=[Typeout,"I"]; +MO=[MO,PortName(i)]; +} +} +model=scicos_model(); +mo=modelica(); +model.sim=ModelName; +mo.inputs=MI; +mo.outputs=MO; +model.rpar=PrametersValue; +mo.parameters=list(ParametersName,PrametersValue,zeros(ParametersName)); +exprs=["50","0.1","1.e-16","0.02","0.12e-9","5e-9","1e-12","0.4e-12","0.5e-12","0.8","0.4","0.8","0.333","1e-15","1e-15","0.02585","40"]; +gr_i=[]; +model.blocktype="c"; +model.dep_ut=[None,true]; +mo.model=ModelName; +model.equations=mo; +model.in1=ones(size(MI,"*"),1); +model.out=ones(size(MO,"*"),1); +x=standard_define([2,2],model,exprs,list(gr_i,0)); +x.graphics.in_implicit=Typein; +x.graphics.out_implicit=Typeout; +} +PNP.prototype.details = function PNP() { +} +} |