From 30e2b203fe944317c725a6454412f5dbc1ec99cc Mon Sep 17 00:00:00 2001 From: ColsonZhang <784278850@qq.com> Date: Wed, 24 Mar 2021 14:39:23 +0800 Subject: [PATCH] better the simulaton's result presentation --- README.md | 10 + b3v3_1check.log | 2 +- doc/schematic8.png | Bin 0 -> 55119 bytes doc/schematic9.png | Bin 0 -> 81138 bytes .../sim_data_container.cpython-36.pyc | Bin 2746 -> 4035 bytes handler/__pycache__/simulation.cpython-36.pyc | Bin 3171 -> 4675 bytes handler/__pycache__/spice.cpython-36.pyc | Bin 4145 -> 4043 bytes handler/sim_data_container.py | 41 +++- handler/simulation.py | 117 +++++++++-- handler/spice.py | 8 +- static/spice/show_result2.js | 196 ++++++++++++------ template/schematic/schematic.html | 28 +-- 12 files changed, 306 insertions(+), 96 deletions(-) create mode 100644 doc/schematic8.png create mode 100644 doc/schematic9.png diff --git a/README.md b/README.md index 5d441c0..232d0b9 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,15 @@ app.py ----服务器的主程序 ## 更新日志 +* 2021年3月24号,前端更新 + + * 新增:多种仿真模式下的数据显示,主要解决了在ac仿真模式下对数轴的问题和两个绘图框的问题 + * 新增:解决了simulator窗口和show_result窗口tab功能混淆的问题 + * dc仿真展示 + * ![avatar](./doc/schematic8.png) + * ac仿真展示 + * ![avatar](./doc/schematic9.png) + * * 2021年3月23号,前端更新 * 新增:多种仿真模式下的数据显示 @@ -72,6 +81,7 @@ app.py ----服务器的主程序 * 新增:仿真结果数据显示,成功将仿真得到的节点电压绘制出来。 * todo:绘制仿真结果时增加用户配置项目,可以进行选择性绘图。 + * transient仿真结果展示 * ![avatar](./doc/schematic7.png) * 2021年3月18号,后端更新 diff --git a/b3v3_1check.log b/b3v3_1check.log index 0b93d3a..2aaa01d 100644 --- a/b3v3_1check.log +++ b/b3v3_1check.log @@ -1,3 +1,3 @@ BSIM3V3.1 Parameter Check -Model = cmosp_180nm +Model = cmosn_180nm W = 2e-05, L = 1e-06 diff --git a/doc/schematic8.png b/doc/schematic8.png new file mode 100644 index 0000000000000000000000000000000000000000..b74699294e6ca852953557dbe3cb3a36b3f5e12d GIT binary patch literal 55119 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 Q5-cjRQc99Jw+x^CAL5#V`~Uy| literal 0 HcmV?d00001 diff --git a/doc/schematic9.png b/doc/schematic9.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9bd11a17c61215364f5af303ed66f80238eaa5 GIT binary patch literal 81138 zcmb5WbyQSQ+c%7&qA1`HA|N2$-7V5B4MRzHcPlCk-3;9W(%mWD-6_q`-3;IH*85%0 z_s<)9EhY{#XYYOG?}|NvpX4RbQ1MZbkdV-%Bt?~wke=})Aw6Dr{usEja1=HOJiV}! z)O18bdPDK&?~#-e`4MmteHZ) z^RKiptqpN-G8!Yx`fY+=Bx-z9OyV_zh#W}b9=9c*-mbAZZVtrizm3;-6Cf6_+Vm3K za$MSCt>H==-m)7U9GnP!;rITzpIX6&`%-sz_v8w&*#8Xf;=DX5%IMw=hp;v7Fh^(Z zeNsnfq++V)epgKYKJsCDLrN2!yy)Lsq}F}6Sxp6)lJ#sktg*4NzCICxjVfkkwKoQn z!9jfrLL=g@&B(|=Zjbp{T#Q&e^pOzteYjl~`S_97G>cQa)-I#IzP`HpqV2~^QFf>8 zk@WQRh=_;`k$`$$_J4D18%WE@@Ps9?8V9{Jd|e5aXQawZ+fm7ViMVLr2*%piN`8;MN)Z)`g-dj!92fTl*aWL4)(IS{xNE)1MI@7M3dDdC?V0kd&Cn%PpU>y1Kg2 z54D}E41~O)*N8|;A^?F#d6KHPw@0%mC@5A|Rw_&e4K(v#;xZ=lI`8b)ET^&>_qAgP z?X}JPTUff~^+Cg7ettg0tOEkd5)XBdd+pcSyTO%|$cVjPFywQ;CF8uzVeXkWOb{t5 z?%h1s7H8wNz8QT=u!$x127fprk~9 z%iNm1-4{#e?(Xh=d*QvAU^<6CR(7tEk?Z|97hZnpo>CChwgxghWNzH)5b z;`(HRg@wi3-29Eq?fI_j)zM0Bnom8l0b6WzbcOq=35%haC1SbO<#ESh zf$0}4l7s>tXLD7Sd3kwnWKdqcjYv#POh|A)+a9%9SeDj_OK|=fDL`bM936>$EypH} zPg7IUQ)0fx>#vG|?&$n1-%v6v2(JI=@4kjV>FJe>nrV#XXJ?CMjb7c{xH!D3DZV@0 zyFm*@L9e_!sgT{I!0jo3PXAsWR0=_eO_es})lD<$3ZPux)YU0&aAb-+{;b?np+!6= z4bD@^2jpp3=wZPC{`=RrPQ|Z+f`anlO0+aI@H6;$nlGYG%Je57*uY1;050Y#r1@Mf zy7I9<%LC*qCMKrwq>paw#~;lo(XKn$s~8TF!NkI1V`Dq4-(^%tUGB5!X7;|!nD}hK z107)X7L)>KGxiVk%^j4;v{M5cwM~vICmCBtIKLv`*I@Iw!O|fyge^3aroGCedgz%z zi>%%$=+F0uS$%FW@zVH9gH|?nE-v4bUMfY!`U4pZ{-Y04QoVQAr%g>wd~6{(zIPQ8 zy^q4&icOi)GDJ|A;(aCd26ROZYVECZt)^}E<>X)6=pObS*LXO8LMn9CVB_eQG@&z( zO-*e!8zr^;w#jR~=^R(a>vdJyDXC#wlBb+2cz-sY5?2EVxr&=xZST)ksc1@_ItQ_O zqt-8v47cpi&;c{i>*=8VOF=~I1&-z zhv9jHMxIKQ8E47Bg%77>iuh2o{@6F=Fdd1JLl3OkbYe8#OTc9dhop7fcD`HU+mkx9L)Gpl;!{eCs`4u{U^rJU(hIX)GLreXj2pqK{lSzcJr#UXp&))`8rG5@?xjo>6Db)c6Na!A}Ku8!>XsTBt=+oqDafHvE zp1b@Z1NLJLB1yTB9Y-ll_Zn2yBUwAC_{a+3;&^?2qIjaHe3)!OXMSGddoPpxAzxKk zSh%XHYUuee$T~%&DTPtD(QL_mC&{*%Br`qzJ-iL@54w$Rqbq2COqu(4!AA1Z7{J6W zygq1T3^mf8`c#S_78P~cyFX=m`7zRGpJX>cD|y`eflP!_t@LYV_mty`FSQ#4RuopW z)uwKu@>~q-oWahX9_DOyA0a`xgX*M}bXESI--w<66V0N(qMB5ZO}4lNIjJ+*^&*v& zXT!WG}?hv`d?W$)2jo9IQ#3Z3(v$%2bYH{hwhp4YTv zs-BR~r4Zom{#+HG>%m?!L;XSK#Y#!#91;n7k4MlCR3+v+(am z+Gd^h8aMQl@o;WDu+r}AE)agc?5`C?e%-`Y2sIj+>96qJl>47{n_V2OP-?N^+;#Y) z(HmmD<4v?UIj6yO)@=3>zX)s1sTkXEz=ze9{HAh>HZEKFapM&3yN=~QFueW5`-0l- zhP|Z=OS-CAs_X;Upi=ti%-n}k0c|o{>jgStkxc8X5t+QRCW55p$$;@+xAmLlqlk#1 zfkCy+B3Mt)Ru>EgC#Iw{8FU8i?d{1x8OvVG@g)uvgir5_Y}7pUI4A7L5i#xO340P( zyb6K5YoyB{EVe8OKO(YE+N;*OW6%;P>I%Vgyg7qIAP_Yze(#$zz-K4pW~c%ldZy8x zjlde3md5nFEmJI*SHFSsF)}ifcJ1e}yuM7pygzyNjJGxcAOm%KZPG+X0IS*k^|M6D zO=D7cx^QCChyfwXgVFlk^?e0yGnt$OnvdDap2ScZRbuVYMuEZR5|ZXQOLwe-YS)e;&^(&0qh24 z^gf?d?~h~H-F7n)xN%!_34o@@mf=N&c&NM}gce{P^Dnok`;taEI%r810Ax8iaqx^% z1CY~&iltDjG!7P4bX=UcC>#!_jm^j6v|yyB-k!))z928!E8Jwan#&786&?wHPj3gF z$I^TA9ZG<@>Tj2PtgWv0AHheI)ze4ceY_9svErrmo~9lr@y(tJM`cfIlb%cIGvlQj zTMkjE^A?*55;1Z7SS8G-W^8Y*7pb>q`u1ln>GE+kg!(EF&Bwxd_x$fZ(`8bn2b*fGdqnpCuyCckJgs+X~OKrelC2wQ~-&DApik z#bgrCFhP+YKI#=Sd49HZ`wc*n8u!ypHHqi>D)}jVuJ!FP`zij5SR?DYUpI@j>l^?l z4>&iT+Js;2R68ihJA}90(uv$&rJby#7FQC#eBejT)%b$iLZ3!{ib<6e{(2ewk^iC{{!fmM6(uDlS1Nhzcg!(Mr*id;-+FG` zEN{Ykw`*ONrKp;Bl(N4Yb!Ji@=UoTP6mzA&#N7Q0qBIREh1^sFpnE}E`W+_%*S)kgJSDE&S~d8 zl$E2y!^3MEf#9rgB;!%M=haGprKM#>d3mbWiPUN3L@b^9lJCR4p!W^`-BJ7gY~Sx6 zVo++Ep4SJU3+=|DH22v(3?>G0{5uD+XShQ}Ml!U5$xSVx?Z{Nk^ePd}Pcvs%Q(gv! z36O@0EGJo(`V`ak{d}$4tTQ(ic!v`(LuMcHu05xr&j22>~&2^C1xfm$ME+UyVzux7*vgdT$3%`Chr#jmWmzR926KzYKD0mZr zDE`)U`P#}c`LAM*RGG8m$DLgPp_I$v(*51(Fa{p$I$(n66|3~y{c&!H>qPut!M8ti z<4LfFxursTo04qro$h&kPu2QE3H)l})@pUL_dR!WP27iLt2=yjvI{A0{Ryk=M~L6k@LkNb}uE|H;Y8U=o)Q;%coxy@YevlxOs0 zqu+IJ=GTdGyFVJA!}{~xNmU&k0J|!r33?~0YBhOqB<<$QJrVxxp1S2;q_*3t`woar zq7?-3xNH^xa5wvX7nezwABg2}^}JXB)o?K>Om_wxJUY7N@__Q+eIpfjIH)!^Hv^de z0f<1EEhc`Bjg2V?UVo1bas-1$V`!AYDdRhUn|7$v27+=U*5f7Lu&Whc29!RZxwvI7 z`0BLKy@S>Rok#$eqpQRjAudV7EuwjiIP-$tMrVpkGijHz-#0D*{gt(Vd8dlH`r$%d zMPp+!MIhkJut1<=K!XFme|Hjvq~xSX(UI2Mt+W9k-NMq6Nw-l_^y}BJ01S(!l(Xpm z`JpuWZ$c@vGiOtNo)0lDs+?oUcO5q*Kps z)D!Xh_h-ICg6)OuSW6P~AK5tnKIQgYK^p8lL5SM$+6A@YCh*C>>qpu2C{b#nsSb?) zf;=RC%Kop}I3Q5B{kv}SDzG}rpOnp?@%w#|TEEh}V)PE4de1Rwe(1aI#YXq>|B(sV z-W*Iah-*hyQeX5Ybs@z(`y+TpO&;e_{ToDf7XM~Q=X?D`xL|Ur*8ZC@C%1rl_oS{Q z7=*V~G=p3{GHL(cbMX#w zr8XzGxaD6zxxjX(`@32sJIAr)XYM0K$S+Qcw z>HU#)y#HPUPs){ZF*?e>FV-_-D1dbujxzEs);b-l_VS?6yMq_uuTrmyEwda#<`4SiQg6F` zOLQ#iVTj|Ywvk72(^?m)^}O5a0^+as&Rd_`;vE;G|AQY$^+d&Wb+eN!PU$-shc}b^ zCwzzaL#c?Fvs3s^NfV0f)nw~?`C7^%xa-#84SJxHFvP`i*t^a}=4$wwKxlcyqqmmW z$EMCD8frgLlRI#DK{Qz7)-vBn`D%BvVn3xA6%`f8(6F+xby6%XEphHlPflK6Unf*D zn~kLRNNRQenxCIvJ=gp6DIz}J%sw_GB*eHsE>K}@ZLP*;(W2Zuue`jxAIb#axd;IO zKEPnGu{VXiLqm*AOv??fCGJ0^VXRC{3LbX<$ipA5HDIo)re?xNvBG=~3pR)gfY@9f zlavT2r^hZ{B{pbM-5&<8N)R;nY(w5cegX+EV5EdPjWn}!a(Z}r(#1-5XWk%o28olZ z?maxsi>nrdG7qz`ZiG1XTLoOt%FoI? zfj}BAB;*wwlfazJa^4^*T9AQ`&T#S#qxOuI2>|WJa}{bLZE2~gnQeF0!iAbImplWh zIXJ4y%0|74uCCl{Wj=oV*b(w42Gi9|t(CU3W7aYoW<>tGKPN>S7Jg<{R;4{LgQC;m zc0>VYN4F4S#_6_oIRv9&xe@%krwj*{gc7a=FWh$#b&U_3!4(n`3c$ExV7PaXDXyDZ zXnPrbxaSxUe%BTbJ|sG^f24cwagMmG+ZA<^Ia+-hWnVp~S?^?SVv-YI2`)G4P2{lj z`}Qrxhb6*ZoyPojc6N43O`os?V5>$o1cFaM5P(L|MO1-;g8uIFgSfbOPEJlakuJSV z=M=B!MPXW68n}qlTzfzkmXibI0M)!`tAIeY$@7vnwr^zQ6Wn2na3K2>_wW9`nA!!W zsu43 zLIC0B*bEZ{>vI2W1TQ=FBRByeijI!f%-m}IihO*0>{1+`lESc`7ZV@PZP*2HsJosr zHa3=nogGNT1mn^D;SP|V1sGIPP|)Ag6ET&><4Ec0b+)Z&zw+xF3Xq%-5fM=@);7n) z*fo!jkEaIA%KrYKgDyal-rin%!%4s>tE)?N-48{S{Zr_0BNFr2#6()cRdPZ_3Um*H z@J<#rD~Pg%MZP=P6zfxiq|ne%X;@SdUD%AlqHf2r+F0ED4wrDtn+N45H@pjB`#NzZ zvJeRDZMD@bseqXk&TR!VVGR>y?#z5fSprzMHV=m~w0@uKTO-O+&ThG@u;b}nEP<$~ z-$-{bF<0f`Olz~QfX9hnQI04*Cd(|lVOK~bnZ%s?1(ZRHQf|Y@$mkun-G}<`a`Y6N zA&sE{D8<_FWO)}J9-dWE@M?z!@IqBp6`%|7xY{cIMnPEkR|p;(gqodQ<&{6IcP73Y zz&}IrEM)BLm4Hl?mD%@3Q53qyE9F@YSN(Gizc*#0)r^ge0jIVn;S9`aXlQ6=W~QS< zsKpAf!agx$XU8HA|LEdksovT0Z=y)k+{NW$Ac1X`b`M(Jt5#l7(fQraiIeogGTE63 zI|$dTO{LSJ{IrV{1Z>50<%R*#(6tNJE#=`INw2GOKU``W zlT`*(!BB+0zrVkrpkNRxL)A_y1*IsfiHRS@!ZID>hsL`Y;q`t)!9XYAlubOEt9Pa= z`1I*hsS{j@REahg1OibKR*8;XSHv;u^c5#`6M4#d$O5nj7=U8^(H;-0GI=c&3?eH9 z!GDU-nvy_SbWpdI3J^DFF{}AzrvR`jEG02e=;a1fue{splaiz)M1zEs)K6|!Syz|Q zC2qFdxL;k*+qgV7BI30G0N1+)}wjHw>QEt9=tR1XZunosQkN=F&pTp{c=<&Sc6eN90{ zg^P_1=vrwo3BaUDkk@KwJF61`r`2muMVi>Y{CwIe2AMhaV1X1s>r9OP`MYqV#7fNE zjkqw&Xnc0F2!Z{elnQ#6Eq%6I

eOTM{T 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%0D*PYGJ7cTmerx^ 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 UQ&>To3;OT=Jr-tE)8iNa1!HartN;K2 literal 0 HcmV?d00001 diff --git a/handler/__pycache__/sim_data_container.cpython-36.pyc b/handler/__pycache__/sim_data_container.cpython-36.pyc index 7629dbaef880bf07f53bc7288182be49f2f905b8..76289d837576d92fe38eec2f22e44b023bf4f706 100644 GIT binary patch literal 4035 zcmeHK-EJF26rP#=@!D~cHVrLl3r#90HG(u0givKwRTC8?s!%Bigq3Q$+1VtUZr0As zTGW;!A*HumaL)_y0z3g%Ji^{`)mP{h-JcdRvM#%E{GeCN#hnfZ8jw({V& z#-m5GjQzpJ9t-0;X!;_EWRfSW!9QnGNb4z+)`@5c$+uX|eunpKGbB2A1O|7|^aeka>_R+MhF;xO9Y4^o*# zYMaDMQgsMswbjWz-zP}EPpWDcgz-7y^6sS&PnlYO+1L+Uml7aOc2;&vu@hUG`cX^62 z{_^2;uXz)Krg@Fg&?0XsbR_kRqBUW3R3$KK+~_a~xGJM$i1$3^Y5E$Q#=BRhpd6na zQV7vQcBHS&w*87h%#Qn^)Z+(igPmZ@q*Z4b$A58PofI6qPBX11*YVa~!n}u@(Pp6o7!WUQTNiz%*eH(*;h}_QN!ziz$O&MuF4GyE%0<*Gqxc^@*tSE0!Tl&4RrM*qA(Wra% z)%*5;WRPubcRGH@5?oqtvaFx!5zGb{z)96Qp<>;r19DF@CH%Ek#_WXCRer2$X6vh<@k z#tF?NeAkp4tLGr8mkp<6I5u&P>ir^ul;5+l)=a;cc*9~+HO0gOnzBJtH3el7jn{h- zjo}T^%#NYK8=#pRLsK?reg_&4DCU8tjQ&i&B$egaeo0z*y^{2|0`D$u{3`=5m>ziL zT@@X*qcrT8;Cn`qeh;Gn;br@gPXHQa8Wn3_qt|pGm^>)VgLel_uY#~)@}l&0kuRcT zpU0Wov#E6Vc_`@TaR&FSsn?Mrp#|YEp;2s5GYO5d8%~Qj{w>kvjBld6nRB%$R6B$B z6A1GQy0}Zl%@o(7-KKA1MrS*iYa);F?)y_p-b+5)tX1fOMQ1+W&nv!v*p%&r##P@x zY6nU2MpX&Q0+Dk>=wPEL(<`!=`hdu&4x5oV0FkP6M>01SSjqLOp6#8(@2aAAxKui6 a`>@qf*GUAirpd{@dV%XUU3ra~p7;|F(j3D8 delta 997 zcmb7C%}-N75Z~GN(d{Q%s1-!8CK6u^_<3kZ#psO*qhh zfb7|`o(zdMJo+Dad>s7)j3=+o>=S*dy|~Hzb~5{$-^|YLm-+M3>&N+g=7rwao)L_F zV~J&eKjBt& zb^yM0z~!R>+vfv*0>HWgV>ZT?eTFH{>bfKyX%kR=&ytSb0y%5tR%>!j8af@I-$-;;%>Cjob`!7{qr&H6XflN&P?o2nSW6zb>aEt7qqe3}t z+=F&s$s5Eo-Mex36ByXa%CR2zfPw(%fuYUUk+(c&=lRzWpSG`=#$9te~2t6M9dB8 zf8fC8aFeqHG%tCRVEnk!zsKe8Tn=mLk~?zMJc=x$Dbi(N!xR(|buV4jZwr-*c?llB zL;)EiFB+Bgk3t!q>92(<{{HO5o#QOAt`J-$$PrK#IZyDnyz$Jh06d@%tcWW>xFRQP cF)50YPF8XBw2w=TMD4KW9|i3dlaDO+3({_wtND zO%zX&R&EdiO)__UgIyrd#3w*Zf=jNz5?p}91s8}f0OI+dbdecojn41<{rvpWbNq6C z9sYV!Ka$Dl-`+J=KbrbdA7I%xB}uX+gISUxTLa-CHr;P!K9CH}%9f>k?p}rc%w&y) z$CUeL?l7M4m~~*6F)5I?lr1e#tb-#G@iD<+!I2Tkdi>)=Ael+pd*9yP$+Bcgbjs0t z$;2${?2KBix>FnXHtq51`nX$f`rB2n-g3q#CMKc**Q;{R+~D?g-*(pDi?XiQYR9&7 zj^A9fx!Kw<+jJh!jnX%&ye`g=Pw+7s6@LmC2PO#lbd)RcR@>%Y-FCyJNu|L8Eb&K5&zfzAc%?HfNG-UoeO@I{0R(3?% zWi$cVSxgBk1ACQ$S;=Fxo!i^a(H^ojD5hwTvO<$F6#k{2T>jsGSB}!YQ};}dSDi?q zA=0pP3}y<*1Jgi%4;iGV3G>w4$uLNbrP&bua;#qtKTAE=mm+Zr^0XX&pDJ`@{zRZz z$r0(69_UuFq4G5=U6v>>QFg41$R)}r8@rMj*|C%ho!Z!xL$4y=%4T#mVP&n*i#7IS*fT@-F6=K6YWMYv_*I^8k! z_v9rZdF;SU&l$pf5_8#}yDZ$@m>cN1E5hB6x!eQSv91dFOH2+vkk&Qf{*Jk!o-@hG z{6x&{>pEvLNY|u>LiVV)KS<-|;zl`|x8F)41$}!j;%YJcQ8PPjH&v~tAUh*70MTZ_~hlozQLC>N;T+==9QG$T?P6qH4vL1kqTXh19y zI!XbifMNl~8aC&E8ftSu4Pp*xLNrlpV$;WF1@KX;06s(oa3G3+15pGVh$7I2D0RR# zObKYil;(}R!e68pg}(&6OrXLMY`6LbGQP9?E#L%! z_I(@qq|_nemE@;Umiar#XS#U~880*KeinHFSOnfhRptfcBC^7lkW0Wh6jXj5xeQzY zD!?*ukw6EmAa^c-1}ZAQjC=*S3S0wBV3j~eRFT(!bre)?A=|(PPy;rBI)VHaas$`~ znt%he2;|#h{MS+8fD3qlPsksLWNt^P^;WZ8-?k%mHcD;O9jm&%9c61aeH%Azv%3%& z3EynHpd;uDHeEyUO%WS{1;P0pBk7y;SWVrLQ2} zhKE*{9jbjp&DHQuNHn^vtjRm0cxqtY0 zy>N2ROhEh&A*4+j;F1P)ZIOe#S|?6?@&pcnej#E-`DF3~kGMqIsmZEZ2I?^JOM57) zdIySPSI--YP8m=tzUx=uy+|6*;emK%ET>oiuHB=2H&AfXH9jj(6JOP|xX2b(90+4$ zuj@B`-trukn{tt7Q7)leMmcdLHd01PMb>Cuyk!|s#0OTeG-*`Pq#%B?+BV@~z+5d& zw#>kE(>tv8pN=B2evGa`KqfS`C4G@ zz%+fnr@tor&%gY^@qFq31}_^0Wy{aw(I^>M_2_vsqGGL!ee2YAtsc^WtlG#?_*Ho~ zUO>4fMH)rqMU?B2aRd1#$`TqXzlD4o1?S7}M(#c2Wt0-ieRTDZ@^)x!3BzoEvPNaGk;s)8#O3rEH6bEXF{jSv z>3VlC?zj9QZ&n+{qe-thz!@IR#9ngI%1NBgl{?}`^1>PX1#&Z$>1=_exPi$TUY_J< G((o4y%$+O% diff --git a/handler/__pycache__/spice.cpython-36.pyc b/handler/__pycache__/spice.cpython-36.pyc index aa64e2cf6ab0051399be54233221f4b42b31fb8f..ae66e0c1ffc1d0cf0c9b132658904abfb0d7265d 100644 GIT binary patch delta 86 zcmdm}a9WurxE)veqzUvDL6PGcq!yFa$Gb pGWiv0F)%Pp_UC93-~uujn7EiYn7CNDn5&c~*RacOX5-Xm2LN|O5rY5# delta 182 zcmX>tzfpnHn3tF9%>BrO`i-2+*cp8$Z(vubXRKjqW@Kb2VaZ|zv1(aM7*m))A~g(I zY&EQ4ImQ%b5S_vh%%I8QSER+jz)&TURh*xvP*RkbSDcn#l&g@Rt)Qq_Wl)@&m!eRT zk*ZLfnOmBZSds};l$n>7uTYd)SejZ~qEK9#oSa%*oK~8XQ>mz^IQcz$i--WwKn5l* QCJqQ@1k#L~8#%n#0sCVx^8f$< diff --git a/handler/sim_data_container.py b/handler/sim_data_container.py index 57f2507..d4c4f98 100644 --- a/handler/sim_data_container.py +++ b/handler/sim_data_container.py @@ -1,4 +1,4 @@ - +import numpy as np class Sim_Data_Container : def __init__(self): @@ -15,7 +15,7 @@ class Sim_Data_Container : elif(simtype == 'dc'): self.parse_dc(analysis) elif(simtype == 'ac'): - pass + self.parse_ac(analysis) @@ -46,7 +46,7 @@ class Sim_Data_Container : result_dc = {} result_dc['sweep'] = [float(i) for i in analysis.sweep] result_dc['nodes_name'] = list(analysis.nodes.keys()) - nodes = {} + nodes = {} for i in result_dc['nodes_name'] : nodes[i] = [float(j) for j in analysis.nodes[i]] @@ -60,5 +60,40 @@ class Sim_Data_Container : self.result['dc'] = result_dc + + def parse_ac(self, analysis): + result_ac = {} + result_ac['frequency'] = [float(i) for i in analysis.frequency] + result_ac['nodes_name'] = list(analysis.nodes.keys()) + + nodes_gain = {} + nodes_phase = {} + for i in result_ac['nodes_name'] : + the_gain = 20*np.log10(np.absolute(analysis.nodes[i])) + the_phase = np.angle(analysis.nodes[i], deg=False) + # print(the_gain) + nodes_gain[i] = [float(j) for j in the_gain] + nodes_phase[i] = [float(j) for j in the_phase] + + result_ac['nodes_gain'] = nodes_gain + result_ac['nodes_phase'] = nodes_phase + # print(nodes_gain) + # print(nodes_phase) + + result_ac['branches_name'] = list(analysis.branches.keys()) + branches_gain = {} + branches_phase = {} + for i in result_ac['branches_name']: + the_gain = 20*np.log10(np.absolute(analysis.branches[i])) + the_phase = np.angle(analysis.branches[i], deg=False) + branches_gain[i] = [float(j) for j in the_gain] + branches_phase[i] = [float(j) for j in the_phase] + result_ac['branches_gain'] = branches_gain + result_ac['branches_phase'] = branches_phase + + + self.result['ac'] = result_ac + + def simulation_info_request(self, simtype): return self.result[simtype] diff --git a/handler/simulation.py b/handler/simulation.py index 410d4c6..d89ea54 100644 --- a/handler/simulation.py +++ b/handler/simulation.py @@ -51,12 +51,19 @@ class Simulator_CZ : exec("self.analysis = self.simulator.dc( {} )".format(the_args)) print("dc simulation finished !!!") - # print(self.analysis) - + return self.analysis elif(sim_type == 'ac' ): - pass + print("doing the ac simulation !!!") + self.analysis = self.simulator.ac( start_frequency = parameter['start_frequency'], + stop_frequency = parameter['stop_frequency'], + number_of_points = parameter['number_of_points'], + variation = parameter['variation']) + print("dc simulation finished !!!") + return self.analysis + + else: pass @@ -78,7 +85,10 @@ class Simulator_CZ : parameter["step"] = properties["step"] elif(sim_type == 'ac' ): - pass + parameter["start_frequency"] = self.unit_tran(properties["start_frequency"]) + parameter["stop_frequency"] = self.unit_tran(properties["stop_frequency"]) + parameter["number_of_points"] = int(properties["number_of_points"]) + parameter["variation"] = properties["variation"] return parameter @@ -112,19 +122,69 @@ class Simulator_CZ : elif the_unit in ['none','NONE','None']: return None + elif the_unit in ['ps','Ps','pS','PS']: + the_num = self.get_the_number(unit_num) + return u_ps(the_num) + + elif the_unit in ['ns','Ns','nS','NS']: + the_num = self.get_the_number(unit_num) + return u_ns(the_num) + elif the_unit in ['us','US','uS','Us']: - if(unit_num != []): - the_num = float(unit_num[0]) - else: - the_num = float(0) + the_num = self.get_the_number(unit_num) return u_us(the_num) - elif the_unit in ['ms','MS','mS','Ms']: - if(unit_num != []): - the_num = float(unit_num[0]) - else: - the_num = float(0) - return u_us(the_num) + elif the_unit in ['ms','mS']: + the_num = self.get_the_number(unit_num) + return u_ms(the_num) + + elif the_unit in ['s','S']: + the_num = self.get_the_number(unit_num) + return u_s(the_num) + + elif the_unit in ['ks','Ks','kS','KS']: + the_num = self.get_the_number(unit_num) + return u_ks(the_num) + + elif the_unit in ['Ms','MS']: + the_num = self.get_the_number(unit_num) + return u_Ms(the_num) + + + elif the_unit in ['hz','Hz','HZ']: + the_num = self.get_the_number(unit_num) + return u_Hz(the_num) + + elif the_unit in ['kHz','KHz','khz','Khz','kHZ','KHZ']: + the_num = self.get_the_number(unit_num) + return u_kHz(the_num) + + elif the_unit in ['MHz','Mhz','MHZ']: + the_num = self.get_the_number(unit_num) + return u_MHz(the_num) + + elif the_unit in ['gHz','GHz','ghz','Ghz','gHZ','GHZ']: + the_num = self.get_the_number(unit_num) + return u_GHz(the_num) + + elif the_unit in ['mHz','mhz','mHZ']: + the_num = self.get_the_number(unit_num) + return u_mHz(the_num) + + elif the_unit in ['uHz','UHz','uhz','Uhz','uHZ','UHZ']: + the_num = self.get_the_number(unit_num) + return u_uHz(the_num) + + elif the_unit in ['nHz','NHz','nhz','Nhz','nHZ','NHZ']: + the_num = self.get_the_number(unit_num) + return u_nHz(the_num) + + elif the_unit in ['pHz','PHz','phz','Phz','pHZ','PHZ']: + the_num = self.get_the_number(unit_num) + return u_pHz(the_num) + + + # 无单位时的情况 else: if(unit_num != []): @@ -134,4 +194,33 @@ class Simulator_CZ : return the_num + def get_the_number(self, the_unit_num): + if(the_unit_num != []): + the_num = float(the_unit_num[0]) + else: + the_num = float(0) + + return the_num + + +# 'u_A', 'u_Bq', 'u_C', 'u_Degree', 'u_F', 'u_GA', 'u_GBq', 'u_GC', 'u_GDegree', 'u_GF', 'u_GGy', 'u_GH', 'u_GHz', 'u_GJ', +# 'u_GK', 'u_GN', 'u_GOhm', 'u_GPa', 'u_GS', 'u_GSv', 'u_GV', 'u_GW', 'u_GWb', 'u_Gcd', 'u_Gkat', 'u_Glm', 'u_Glx', 'u_Gm', +# 'u_Gmol', 'u_Grad', 'u_Gs', 'u_Gsr', 'u_Gy', 'u_GΩ', 'u_H', 'u_Hz', 'u_J', 'u_K', 'u_MA', 'u_MBq', 'u_MC', 'u_MDegree', +# 'u_MF', 'u_MGy', 'u_MH', 'u_MHz', 'u_MJ', 'u_MK', 'u_MN', 'u_MOhm', 'u_MPa', 'u_MS', 'u_MSv', 'u_MV', 'u_MW', 'u_MWb', +# 'u_Mcd', 'u_Mkat', 'u_Mlm', 'u_Mlx', 'u_Mm', 'u_Mmol', 'u_Mrad', 'u_Ms', 'u_Msr', 'u_MΩ', 'u_N', 'u_Ohm', 'u_Pa', 'u_S', +# 'u_Sv', 'u_TA', 'u_TBq', 'u_TC', 'u_TDegree', 'u_TF', 'u_TGy', 'u_TH', 'u_THz', 'u_TJ', 'u_TK', 'u_TN', 'u_TOhm', 'u_TPa', +# 'u_TS', 'u_TSv', 'u_TV', 'u_TW', 'u_TWb', 'u_Tcd', 'u_Tkat', 'u_Tlm', 'u_Tlx', 'u_Tm', 'u_Tmol', 'u_Trad', 'u_Ts', 'u_Tsr', +# 'u_TΩ', 'u_V', 'u_W', 'u_Wb', 'u_cd', 'u_kA', 'u_kBq', 'u_kC', 'u_kDegree', 'u_kF', 'u_kGy', 'u_kH', 'u_kHz', 'u_kJ', 'u_kK', +# 'u_kN', 'u_kOhm', 'u_kPa', 'u_kS', 'u_kSv', 'u_kV', 'u_kW', 'u_kWb', 'u_kat', 'u_kcd', 'u_kkat', 'u_klm', 'u_klx', 'u_km', +# 'u_kmol', 'u_krad', 'u_ks', 'u_ksr', 'u_kΩ', 'u_lm', 'u_lx', 'u_m', 'u_mA', 'u_mBq', 'u_mC', 'u_mDegree', 'u_mF', 'u_mGy', +# 'u_mH', 'u_mHz', 'u_mJ', 'u_mK', 'u_mN', 'u_mOhm', 'u_mPa', 'u_mS', 'u_mSv', 'u_mV', 'u_mW', 'u_mWb', 'u_mcd', 'u_mkat', +# 'u_mlm', 'u_mlx', 'u_mm', 'u_mmol', 'u_mol', 'u_mrad', 'u_ms', 'u_msr', 'u_mΩ', 'u_nA', 'u_nBq', 'u_nC', 'u_nDegree', 'u_nF', +# 'u_nGy', 'u_nH', 'u_nHz', 'u_nJ', 'u_nK', 'u_nN', 'u_nOhm', 'u_nPa', 'u_nS', 'u_nSv', 'u_nV', 'u_nW', 'u_nWb', 'u_ncd', +# 'u_nkat', 'u_nlm', 'u_nlx', 'u_nm', 'u_nmol', 'u_nrad', 'u_ns', 'u_nsr', 'u_nΩ', 'u_pA', 'u_pBq', 'u_pC', 'u_pDegree', +# 'u_pF', 'u_pGy', 'u_pH', 'u_pHz', 'u_pJ', 'u_pK', 'u_pN', 'u_pOhm', 'u_pPa', 'u_pS', 'u_pSv', 'u_pV', 'u_pW', 'u_pWb', +# 'u_pcd', 'u_pkat', 'u_plm', 'u_plx', 'u_pm', 'u_pmol', 'u_prad', 'u_ps', 'u_psr', 'u_pΩ', 'u_rad', 'u_s', 'u_sr', 'u_uA', +# 'u_uBq', 'u_uC', 'u_uDegree', 'u_uF', 'u_uGy', 'u_uH', 'u_uHz', 'u_uJ', 'u_uK', 'u_uN', 'u_uOhm', 'u_uPa', 'u_uS', 'u_uSv', +# 'u_uV', 'u_uW', 'u_uWb', 'u_ucd', 'u_ukat', 'u_ulm', 'u_ulx', 'u_um', 'u_umol', 'u_urad', 'u_us', 'u_usr', 'u_Ω', 'u_μA', +# 'u_μBq', 'u_μC', 'u_μF', 'u_μGy', 'u_μH', 'u_μHz', 'u_μJ', 'u_μK', 'u_μN', 'u_μPa', 'u_μS', 'u_μSv', 'u_μV', 'u_μW', 'u_μWb', +# 'u_μcd', 'u_μkat', 'u_μlm', 'u_μlx', 'u_μm', 'u_μmol', 'u_μrad', 'u_μs', 'u_μsr', 'u_μΩ', \ No newline at end of file diff --git a/handler/spice.py b/handler/spice.py index 6876c79..7c4edbd 100644 --- a/handler/spice.py +++ b/handler/spice.py @@ -73,14 +73,14 @@ class SimulationInfoRequest_Handler(AuthBaseHandler): print(sim_type) sim_info = Container_SimResult.simulation_info_request(sim_type) - # sim_info = {'ab':1,'cd':2,'ef':'d2','hello':[1,2,3,4,5]} - print(sim_info) + + # print(sim_info) sim_info_json = json.dumps( sim_info ) - print('json transform ok !!') + # print('json transform ok !!') self.write( sim_info_json ) - print("send the simulation info request successfully!!!") + # print("send the simulation info request successfully!!!") # self.write(json_decode(sim_info)) # self.write("successful") diff --git a/static/spice/show_result2.js b/static/spice/show_result2.js index 17caed3..096352b 100644 --- a/static/spice/show_result2.js +++ b/static/spice/show_result2.js @@ -6,19 +6,17 @@ var SimResult = {} ; var Flag_Refresh = {"transient":false,"dc":false,"ac":false} ; var color_store = ["blue","brown","cyan","green","orange","pink","purple","red","whitesmoke","yellow"]; -// create a data source to hold data -// var the_source = new Bokeh.ColumnDataSource({ -// data: { x: [], y: [], color: [] } -// }); - -function openMode_Bokeh(evt, tabMode) { +function openMode(evt, tabMode, ducument_ID) { var i, tabcontent, tablinks; - tabcontent = document.getElementsByClassName("tabcontent"); + + var the_document = document.getElementById(ducument_ID); + + tabcontent = the_document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } - tablinks = document.getElementsByClassName("tablinks"); + tablinks = the_document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } @@ -30,9 +28,9 @@ function plotPoint_tran() { if(Flag_Refresh['transient'] == true){ - the_source.data.x = []; - the_source.data.y = []; - the_source.data.color = []; + the_source['transient'].data.x = []; + the_source['transient'].data.y = []; + the_source['transient'].data.color = []; console.log("Flag_Refresh = true !"); @@ -41,11 +39,11 @@ function plotPoint_tran() { var the_x = SimResult['transient']["time"]; for(var i=0; i < the_nodes_name.length; i++){ var the_y = SimResult['transient']["nodes"][the_nodes_name[i]] ; - the_source.data.x.push(the_x); - the_source.data.y.push(the_y); - the_source.data.color.push(color_store[i%color_store.length]); + the_source['transient'].data.x.push(the_x); + the_source['transient'].data.y.push(the_y); + the_source['transient'].data.color.push(color_store[i%color_store.length]); } - the_source.change.emit(); + the_source['transient'].change.emit(); } else{ alert("The information has not been updated !!!"); @@ -55,9 +53,9 @@ function plotPoint_dc() { if(Flag_Refresh['dc'] == true){ - the_source.data.x = []; - the_source.data.y = []; - the_source.data.color = []; + the_source['dc'].data.x = []; + the_source['dc'].data.y = []; + the_source['dc'].data.color = []; console.log("Flag_Refresh = true !"); var the_nodes_name = SimResult['dc']["nodes_name"]; @@ -65,11 +63,11 @@ function plotPoint_dc() { var the_x = SimResult['dc']["sweep"]; for(var i=0; i < the_nodes_name.length; i++){ var the_y = SimResult['dc']["nodes"][the_nodes_name[i]] ; - the_source.data.x.push(the_x); - the_source.data.y.push(the_y); - the_source.data.color.push(color_store[i%color_store.length]); + the_source['dc'].data.x.push(the_x); + the_source['dc'].data.y.push(the_y); + the_source['dc'].data.color.push(color_store[i%color_store.length]); } - the_source.change.emit(); + the_source['dc'].change.emit(); } else{ alert("The information has not been updated !!!"); @@ -79,21 +77,30 @@ function plotPoint_ac() { if(Flag_Refresh['ac'] == true){ - the_source.data.x = []; - the_source.data.y = []; - the_source.data.color = []; + the_source['ac']["gain"].data.x = []; + the_source['ac']["gain"].data.y = []; + the_source['ac']["gain"].data.color = []; + + the_source['ac']["phase"].data.x = []; + the_source['ac']["phase"].data.y = []; + the_source['ac']["phase"].data.color = []; - console.log("Flag_Refresh = true !"); var the_nodes_name = SimResult['ac']["nodes_name"]; - var the_x = SimResult['ac']["fre"]; + var the_x = SimResult['ac']["frequency"]; for(var i=0; i < the_nodes_name.length; i++){ - var the_y = SimResult['ac']["nodes"][the_nodes_name[i]] ; - the_source.data.x.push(the_x); - the_source.data.y.push(the_y); - the_source.data.color.push(color_store[i%color_store.length]); + var the_gain = SimResult['ac']["nodes_gain"][the_nodes_name[i]] ; + var the_phase = SimResult['ac']["nodes_phase"][the_nodes_name[i]] ; + the_source['ac']["gain"].data.x.push(the_x); + the_source['ac']["gain"].data.y.push(the_gain); + the_source['ac']["gain"].data.color.push(color_store[i%color_store.length]); + + the_source['ac']["phase"].data.x.push(the_x); + the_source['ac']["phase"].data.y.push(the_phase); + the_source['ac']["phase"].data.color.push(color_store[i%color_store.length]); } - the_source.change.emit(); + the_source['ac']["gain"].change.emit(); + the_source['ac']["phase"].change.emit(); } else{ alert("The information has not been updated !!!"); @@ -117,8 +124,8 @@ function requestSimInfo(sim_type){ var sim_result ; data["sim_type"] = sim_type; - console.log(sim_type); - console.log(data); + // console.log(sim_type); + // console.log(data); $.ajax({ type: 'POST', @@ -133,7 +140,9 @@ function requestSimInfo(sim_type){ error: function(){ alert('ajax post failed !!!'); } - }); + }); + console.log(sim_result); + return sim_result ; }; @@ -146,7 +155,7 @@ function Callback_Refresh(sim_type){ // bokeh组件相关变量 -var bokeh_plot = [] ; +var bokeh_plot = {} ; var the_source = {} ; @@ -163,16 +172,28 @@ frame.append(div_node); for(var i=0; i