var BASEURL='http://nrv.jinr.ru/nrv/'; var CE=new Array("n","H","He","Li","Be", "B","C","N","O","F","Ne","Na","Mg","Al","Si", "P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr", "Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se", "Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru", "Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe", "Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd", "Tb","Dy","Ho","Er","Tm","Yb","Lu","Hf","Ta","W", "Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po", "At","Rn","Fr","Ra","Ac","Th","Pa","U","Np","Pu", "Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr","Rf", "Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","[113]","[114]", "[115]","[116]","[117]","[118]","[119]","[120]", "[121]","[122]","[123]","[124]","[125]","[126]", "[127]","[128]","[129]","[130]"); //var NucleiName = new NUCLEI(); //for(iN=0;iNmax) w=max; if (type==0) w=Math.floor(w); v="document.f1."+varname+".value=w"; eval(v); draw_applet(redraw); if(varname != "SFACTORS") needToRecalculate(); } function change_projectile(zname,aname,picname,whatchanged) { var a,u,s,z,v,res; c=document.f1; d=document; // Находим z v="z="+zname+".selectedIndex;"; eval(v); // Находим a v="a="+aname+".selectedIndex;"; eval(v); a=1*a+1; // Проверяем все ли в норме /*if (whatchanged==0) { a=Math.round(2*z+6.38e-3*z*z); } else { if (z>a) z=Math.round(a/2); }*/ // Присваиваем z v=zname+".selectedIndex=z;"; eval(v); // Присваиваем a v=aname+".selectedIndex=a-1;"; eval(v); // Меняем картинку v=picname+".src='"+BASEURL+"webnrv/common/show_pic.php?Z="+z+"&A="+a+"';"; eval(v); v=picname+".width=10;"; eval(v); v=picname+".height=10;"; eval(v); // EN_TITLE BoundStateTitleEN(); // EX_TITLE BoundStateTitleEX(); } function def_values() { } //------------------------------------------------------------------------- // functiya peredaet v applet s resultatami komandu dlya "recalculate" function needToRecalculate() { //try{document.APPRES.setRecalculate();} catch(err){;} } function updateSFactor() { var s = document.f1.SFACTORS.value; showCrossSection();// document.APPRES.updateSpectroscopicFactor(s); } //------------------------------------------------------------------------- function draw_applet(p) { if (p==1) reDrawEntranceOMP(); if (p==2) reDrawExitOMP(); if (p==3) showBoundState_EN(); if (p==4) showBoundState_EX(); } //------------------------------------------------------------------------- // comment: getDepthV0() vozvrashaet 1000000 esli ne zavershen Adjusting, // esli vse Ok! => V0, // esli ne smogla => -1000000 // n=1 - entrance channel, n=2 - exit channel function adjustDepth(n) { if(n==1) { app = document.BS_Entrance; if(document.f1.BS_EN_P.value=='volume') V = document.f1.BS_EN_VOL_V; else V = document.f1.BS_EN_GAUS_V; } else { app = document.BS_Exit; if(document.f1.BS_EX_P.value=='volume') V = document.f1.BS_EX_VOL_V; else V = document.f1.BS_EX_GAUS_V; } sleep(75); try { v = app.getDepthV0(); if (v > -500000) V.value = Math.round(100*v)/100; else V.value = "not found"; } catch(err){;} } //------------------------------------------------------------------------- // функция, которая спин нужно количество миллисекунд // использую, чтобы замедлить вызов апплетной функции, пока апплет еще не загрузился // вариант - тупой, но другого пока не знаю function sleep(ms) { ms += new Date().getTime(); while (new Date() < ms) {;} } //------------------------------------------------------------------------- function getSpin(a) { // Например (5/2,3/2) дает 5, а 1+ дает 2 // Удаляем скобки a=a.replace("(",""); a=a.replace(")",""); // Разбиваем по запятым b=a.split(","); c=b[0]; // Удаляем четность + или - c=c.replace("+",""); c=c.replace("-",""); // Находим дробный спин или целый p=c.indexOf("/"); if (p==-1) r=2*c; // Умножаем на два else r=c.substring(0,p); //alert(r); // Возвращаем результат return(r); } function getParity(a) { // Например (5/2-,3/2) дает -1, а 1+ дает +1 // Удаляем скобки a=a.replace("(",""); a=a.replace(")",""); // Разбиваем по запятым b=a.split(","); c=b[0]; // Удаляем четность + или - p=c.indexOf("-"); if (p==-1) return("1"); else return("-1"); } function getSpinmn(v) { p=v.indexOf("/"); if (p==-1) return(2*v); else return(v.substring(0,p)); } //================================================================== function checkEBound() { c = document.f1; tmp = 1.*c.BS_EN_EB.value - 1.*c.BS_EX_EB.value c.Q.value = Math.floor(tmp*10000.)/10000.; change_model(); } //================================================================== function change_model() { lbl=document.getElementById('ANIMATION'); if (document.f1.MODEL[0].checked) { lbl.innerHTML='pickup'; } else { lbl.innerHTML='stripping'; } // proverka i pereschet mass i zaradov, a takzhe spinov! if(document.f1.MODEL[0].checked) { check_mass(0); check_charge(0); checkSpin(0,false); } else { check_mass(1); check_charge(1); checkSpin(1,false); } //pereschet energii: lab(entranse channel) is fixed, ostalnye pereschityvaem updateEnergy(1); needToRecalculate(); } //------------------------------------------------------------------- function init() { for (i=0;i"+c.Z_PART.options[c.Z_PART.selectedIndex].text; if (c.MODEL[0].checked) { // Stripping res=""+(1*c.A_PROJ.selectedIndex+1)+""+c.Z_PROJ.options[c.Z_PROJ.selectedIndex].text+"("+c.SPIN_PROJ.options[c.SPIN_PROJ.selectedIndex].text+") = " +""+(1*c.A_EJECT.selectedIndex+1)+""+c.Z_EJECT.options[c.Z_EJECT.selectedIndex].text+"("+c.SPIN_EJECT.options[c.SPIN_EJECT.selectedIndex].text+") + " +part+"("+c.SPIN_PART.options[c.SPIN_PART.selectedIndex].text+")"; } else { // Pick-up res=""+(1*c.A_TARG.selectedIndex+1)+""+c.Z_TARG.options[c.Z_TARG.selectedIndex].text+"("+c.SPIN_TARG.options[c.SPIN_TARG.selectedIndex].text+") = " +""+(1*c.A_TLIKE.selectedIndex+1)+""+c.Z_TLIKE.options[c.Z_TLIKE.selectedIndex].text+"("+c.SPIN_TLIKE.options[c.SPIN_TLIKE.selectedIndex].text+") + " +part+"("+c.SPIN_PART.options[c.SPIN_PART.selectedIndex].text+")"; } s.innerHTML=res; } function BoundStateTitleEX() { c=document.f1; s=document.getElementById("EX_TITLE"); if (c.Z_PART.selectedIndex==0) part="n"; else part=""+(1*c.A_PART.selectedIndex+1)+""+c.Z_PART.options[c.Z_PART.selectedIndex].text; if (c.MODEL[0].checked) { // Stripping res=""+(1*c.A_TLIKE.selectedIndex+1)+""+c.Z_TLIKE.options[c.Z_TLIKE.selectedIndex].text+"("+c.SPIN_TLIKE.options[c.SPIN_TLIKE.selectedIndex].text+") = " +""+(1*c.A_TARG.selectedIndex+1)+""+c.Z_TARG.options[c.Z_TARG.selectedIndex].text+"("+c.SPIN_TARG.options[c.SPIN_TARG.selectedIndex].text+") + " +part+"("+c.SPIN_PART.options[c.SPIN_PART.selectedIndex].text+")"; } else { // Pick-up res=""+(1*c.A_EJECT.selectedIndex+1)+""+c.Z_EJECT.options[c.Z_EJECT.selectedIndex].text+"("+c.SPIN_EJECT.options[c.SPIN_EJECT.selectedIndex].text+") = " +""+(1*c.A_PROJ.selectedIndex+1)+""+c.Z_PROJ.options[c.Z_PROJ.selectedIndex].text+"("+c.SPIN_PROJ.options[c.SPIN_PROJ.selectedIndex].text+") + " +part+"("+c.SPIN_PART.options[c.SPIN_PART.selectedIndex].text+")"; } s.innerHTML=res; } //------------------------------------------------------------------- function check_mass(n) { d=document.f1; AP=d.A_PROJ.selectedIndex+1; ZP=d.Z_PROJ.selectedIndex; AT=d.A_TARG.selectedIndex+1; ZT=d.Z_TARG.selectedIndex; ATR=d.A_PART.selectedIndex+1; ZTR=d.Z_PART.selectedIndex; AEJ=d.A_EJECT.selectedIndex+1; ZEJ=d.Z_EJECT.selectedIndex; ATL=d.A_TLIKE.selectedIndex+1; ZTL=d.Z_TLIKE.selectedIndex; AEP=d.EXP_A_PROJ.selectedIndex+1; ZEP=d.EXP_Z_PROJ.selectedIndex; AET=d.EXP_A_TARG.selectedIndex+1; ZET=d.EXP_Z_TARG.selectedIndex; AETR=d.EXP_A_PART.selectedIndex+1; ZETR=d.EXP_Z_PART.selectedIndex; Proj=false; Targ = false; Part = false; Eject = false; TLike = false; //=========================================== // projectile mass changed if(n==0) { if(d.MODEL[0].checked) // stripping { if(AP < 2) { alert ("Projectile mass must be greater than 2 a.m.u. in the case of stripping reactions."); AP = 2; ZP = 1; } if(ZP > AP) ZP = StabilityLineZ(AP); if(AP-ATR<=0)// trans. particle { ATR = AP - 1; if(ZTR>ATR) ZTR = StabilityLineZ(ATR); } AEJ = AP - ATR; ZEJ = ZP - ZTR; ATL = AT + ATR; ZTL = ZT + ZTR; Proj=true; Part = true; Eject = true; TLike = true; } else // pick-up { if(ZP>AP) ZP = StabilityLineZ(AP); AEJ = AP + ATR; ZEJ = ZP + ZTR; Proj=true; Eject = true; } } //=========================================== // target mass changed if(n==1) { if(d.MODEL[0].checked) // stripping { if(ZT>AT) ZT = StabilityLineZ(AT); ATL = AT + ATR; ZTL = ZT + ZTR; Targ=true; TLike = true; } else { if(AT<2) { alert ("Target mass must be greater than 2 a.u.m. in the case of pick-up reactions."); AT = 2; ZT = 1; } if(ZT>AT) ZT = StabilityLineZ(AT); if(AT-ATR<=0) { ATR = AT - 1; if(ZTR>ATR) ZTR = StabilityLineZ(ATR); } ATL = AT - ATR; ZTL = ZT - ZTR; AEJ = AP + ATR; ZEJ = ZP + ZTR; Targ=true; Part = true; Eject = true; TLike = true; } } //=========================================== // transfered particle mass changed if(n==2) { if(d.MODEL[0].checked) // stripping { if(ATR>AP-1) ATR = AP-1; if(ZTR>ATR) ZTR = StabilityLineZ(ATR); AEJ = AP - ATR; ZEJ = ZP - ZTR; ATL = AT + ATR; ZTL = ZT + ZTR; } else { if(ATR>AT-1) ATR = AT-1; if(ZTR>ATR) ZTR = StabilityLineZ(ATR); ATL = AT - ATR; ZTL = ZT - ZTR; AEJ = AP + ATR; ZEJ = ZP + ZTR; } Part = true; Eject = true; TLike = true; } //=========================================== d.A_PROJ.selectedIndex=AP-1; d.Z_PROJ.selectedIndex=ZP; if(Proj) checkSpinForA(0,AP,false); d.A_TARG.selectedIndex=AT-1; d.Z_TARG.selectedIndex=ZT; if(Targ) checkSpinForA(1,AT,false); d.A_PART.selectedIndex=ATR-1; d.Z_PART.selectedIndex=ZTR; if(Part) checkSpinForA(2,ATR,false); d.A_EJECT.selectedIndex=AEJ-1; d.Z_EJECT.selectedIndex=ZEJ; if(Eject) checkSpinForA(3,AEJ,false); d.A_TLIKE.selectedIndex=ATL-1; d.Z_TLIKE.selectedIndex=ZTL; if(TLike) checkSpinForA(4,ATL,false); d.EXP_A_PROJ.selectedIndex=AEP-1; d.EXP_Z_PROJ.selectedIndex=ZEP; d.EXP_A_TARG.selectedIndex=AET-1; d.EXP_Z_TARG.selectedIndex=ZET; d.EXP_A_PART.selectedIndex=AETR-1; d.EXP_Z_PART.selectedIndex=ZETR; if(Proj) checkSpin(0,false);//Proj if(Targ) checkSpin(1,false);//Targ if(Part) checkSpin(2,false);//Particle if(Eject) checkSpin(3,false);//Eject if(TLike) checkSpin(4,false);//TLike change_projectile('document.f1.Z_PROJ','document.f1.A_PROJ','document.PIC_PROJ',0); change_projectile('document.f1.Z_TARG','document.f1.A_TARG','document.PIC_TARG',0); change_projectile('document.f1.Z_EJECT','document.f1.A_EJECT','document.PIC_EJECT',0); change_projectile('document.f1.Z_TLIKE','document.f1.A_TLIKE','document.PIC_TLIKE',0); change_projectile('document.f1.Z_PART','document.f1.A_PART','document.PIC_PART',0); change_projectile('document.f1.EXP_Z_PROJ','document.f1.EXP_A_PROJ','document.PIC_EXP_PROJ',0); change_projectile('document.f1.EXP_Z_TARG','document.f1.EXP_A_TARG','document.PIC_EXP_TARG',0); change_projectile('document.f1.EXP_Z_PART','document.f1.EXP_A_PART','document.PIC_EXP_PART',0); updateENRadius(1);updateENRadius(3);updateENRadius(5); updateEXRadius(1);updateEXRadius(3);updateEXRadius(5); //updateEnergy(1); needToRecalculate(); } //------------------------------------------------------- function check_charge(n) { d=document.f1; AP=d.A_PROJ.selectedIndex+1; ZP=d.Z_PROJ.selectedIndex; AT=d.A_TARG.selectedIndex+1; ZT=d.Z_TARG.selectedIndex; ATR=d.A_PART.selectedIndex+1; ZTR=d.Z_PART.selectedIndex; AEJ=d.A_EJECT.selectedIndex+1; ZEJ=d.Z_EJECT.selectedIndex; ATL=d.A_TLIKE.selectedIndex+1; ZTL=d.Z_TLIKE.selectedIndex; AEP=d.EXP_A_PROJ.selectedIndex+1; ZEP=d.EXP_Z_PROJ.selectedIndex; AET=d.EXP_A_TARG.selectedIndex+1; ZET=d.EXP_Z_TARG.selectedIndex; AETR=d.EXP_A_PART.selectedIndex+1; ZETR=d.EXP_Z_PART.selectedIndex; Proj=false; Targ=false; Part=false; Eject=false; Tlike = false; //=========================================== // projectile charge changed if(n==0) { Proj = true; if(1*ZP > 1*AP) {AP = StabilityLineA(ZP); /*checkSpin(0,false);*/} if(d.MODEL[0].checked) // stripping { if(1*ZP-1*ZTR<0) { ZTR = ZP; if(ZTR>ATR) ATR = StabilityLineA(ZTR);//ZTR = StabilityLineZ(ATR); } ZEJ = 1*ZP - 1*ZTR; AEJ = 1*AP - 1*ATR; ZTL = 1*ZT + 1*ZTR; ATL = 1*AT + 1*ATR; Part = true; Eject = true; Tlike = true; } else // pick-up { ZEJ = 1*ZP + 1*ZTR; AEJ = 1*AP + 1*ATR; Eject = true; } } //=========================================== // target charge changed if(n==1) { Targ = true; if(ZT>AT) {AT=StabilityLineA(ZT); /*checkSpin(1,false);*/} if(d.MODEL[0].checked) // stripping { ZTL = ZT + ZTR; ATL = AT + ATR; Tlike = true; } else // pick-up { if(ZT-ZTR<0) { ZTR = ZT; if(ZTR>ATR) ATR = StabilityLineA(ZTR); } ZTL = ZT - ZTR; ATL = AT - ATR; ZEJ = ZP + ZTR; AEJ = AP + ATR; Part = true; Eject = true; Tlike = true; } } //=========================================== // transfered particle charge changed if(n==2) { Part = true; if(ZTR>ATR) {ATR=StabilityLineA(ZTR); /*checkSpin(2,false);*/} if(d.MODEL[0].checked) // stripping { if(ZTR>ZP) ZTR = ZP; ZEJ = ZP - ZTR; AEJ = AP - ATR; //checkSpin(3,false); ZTL = ZT + ZTR; ATL = AT + ATR; //checkSpin(4,false); } else { if(ZTR>ZT) ZTR = ZT; ZEJ = ZP + ZTR; AEJ = AP + ATR; //checkSpin(3,false); ZTL = ZT - ZTR; ATL = AT - ATR; //checkSpin(4,false); } Eject = true; Tlike = true; } //=========================================== d.A_PROJ.selectedIndex=AP-1; d.Z_PROJ.selectedIndex=ZP; if(Proj) checkSpinForA(0,AP,false); d.A_TARG.selectedIndex=AT-1; d.Z_TARG.selectedIndex=ZT; if(Targ) checkSpinForA(1,AT,false); d.A_PART.selectedIndex=ATR-1; d.Z_PART.selectedIndex=ZTR; if(Part) checkSpinForA(2,ATR,false); d.A_EJECT.selectedIndex=AEJ-1; d.Z_EJECT.selectedIndex=ZEJ; if(Eject) checkSpinForA(3,AEJ,false); d.A_TLIKE.selectedIndex=ATL-1; d.Z_TLIKE.selectedIndex=ZTL; if(TLike) checkSpinForA(4,ATL,false); d.EXP_A_PROJ.selectedIndex=AEP-1; d.EXP_Z_PROJ.selectedIndex=ZEP; d.EXP_A_TARG.selectedIndex=AET-1; d.EXP_Z_TARG.selectedIndex=ZET; d.EXP_A_PART.selectedIndex=AETR-1; d.EXP_Z_PART.selectedIndex=ZETR; if(Proj) checkSpin(0,false);//Proj if(Targ) checkSpin(1,false);//Targ if(Part) checkSpin(2,false);//Particle if(Eject) checkSpin(3,false);//Eject if(Tlike) checkSpin(4,false);//TLike change_projectile('document.f1.Z_PROJ','document.f1.A_PROJ','document.PIC_PROJ',0); change_projectile('document.f1.Z_TARG','document.f1.A_TARG','document.PIC_TARG',0); change_projectile('document.f1.Z_EJECT','document.f1.A_EJECT','document.PIC_EJECT',0); change_projectile('document.f1.Z_TLIKE','document.f1.A_TLIKE','document.PIC_TLIKE',0); change_projectile('document.f1.Z_PART','document.f1.A_PART','document.PIC_PART',0); change_projectile('document.f1.EXP_Z_PROJ','document.f1.EXP_A_PROJ','document.PIC_EXP_PROJ',0); change_projectile('document.f1.EXP_Z_TARG','document.f1.EXP_A_TARG','document.PIC_EXP_TARG',0); change_projectile('document.f1.EXP_Z_PART','document.f1.EXP_A_PART','document.PIC_EXP_PART',0); updateENRadius(1);updateENRadius(3);updateENRadius(5); updateEXRadius(1);updateEXRadius(3);updateEXRadius(5); //updateEnergy(1); needToRecalculate(); } //------------------------------------------------------------------------- function checkSpin(n,doAlert) { //--------------------------------------------------------------------------- d=document.f1; _2SP = d.SPIN_PROJ.selectedIndex; _2ST = d.SPIN_TARG.selectedIndex; _2STR = d.SPIN_PART.selectedIndex; _2SEJ = d.SPIN_EJECT.selectedIndex; _2STL = d.SPIN_TLIKE.selectedIndex; _2JTR = d.BS_EN_J.selectedIndex; _2LTR = 2*d.BS_EN_L.selectedIndex; _2JTR_OUT = d.BS_EX_J.selectedIndex; _2LTR_OUT = 2*d.BS_EX_L.selectedIndex; AP = d.A_PROJ.selectedIndex+1; AT = d.A_TARG.selectedIndex+1; ATR = d.A_PART.selectedIndex+1; AEJ = d.A_EJECT.selectedIndex+1; ATL = d.A_TLIKE.selectedIndex+1; //--------------------------------------------------------------------------- // izmenili projectile spin (SP) if(n==0) { checkSpinForA(n,AP,doAlert); _2SP = d.SPIN_PROJ.selectedIndex; if(d.MODEL[0].checked) // stripping // proj = eject + tr: podgonyaem Jtr, Ltr, if Ltr is odd, => izmenim { if(_2JTR%2 != _2STR%2) _2JTR += 1.0; if(_2JTR < Math.abs(_2SP-_2SEJ)) _2JTR = Math.abs(_2SP-_2SEJ); else if(_2JTR > (_2SP+_2SEJ)) _2JTR = _2SP+_2SEJ; if(_2LTR < Math.abs(_2JTR - _2STR)) _2LTR = Math.abs(_2JTR - _2STR); else if(_2LTR > (_2JTR + _2STR)) _2LTR = _2JTR + _2STR; if(_2LTR%2 != 0) { //alert("Technical problem 0: Ltr is non-integer - l,s,j:"+_2LTR+"|"+_2STR+"|"+_2JTR); } } else // ejct = proj + tr: podgonyaem Jtr_out, Ltr_out { if(_2JTR_OUT%2 != _2STR%2) _2JTR_OUT += 1.0; if(_2JTR_OUT < Math.abs(_2SP-_2SEJ)) _2JTR_OUT = Math.abs(_2SP-_2SEJ); else if(_2JTR_OUT > (_2SP+_2SEJ)) _2JTR_OUT = _2SP+_2SEJ; if(_2LTR_OUT < Math.abs(_2JTR_OUT - _2STR)) _2LTR_OUT = Math.abs(_2JTR_OUT - _2STR); else if(_2LTR_OUT > (_2JTR_OUT + _2STR)) _2LTR_OUT = _2JTR_OUT + _2STR; if(_2LTR_OUT%2 != 0) { //alert("Technical problem 0: L'tr is non-integer - l,s,j:"+_2LTR_OUT+"|"+_2STR+"|"+_2JTR_OUT+"| Aej="+AEJ+" Sej= "+_2SEJ); } } } //--------------------------------------------------------------------------- // izmenili target spin (ST) if(n==1) { checkSpinForA(n,AT,doAlert); _2ST = d.SPIN_TARG.selectedIndex; if(d.MODEL[0].checked) // stripping // tlike = targ + tr: podgonyaem Jtr i Ltr in out-channel { if(_2JTR_OUT%2 != _2STR%2) _2JTR_OUT += 1.0; if(_2JTR_OUT < Math.abs(_2ST-_2STL)) _2JTR_OUT = Math.abs(_2ST-_2STL); else if(_2JTR_OUT > (_2ST+_2STL)) _2JTR_OUT = _2ST+_2STL; if(_2LTR_OUT < Math.abs(_2JTR_OUT - _2STR)) _2LTR_OUT = Math.abs(_2JTR_OUT - _2STR); else if(_2LTR_OUT > (_2JTR_OUT + _2STR)) _2LTR_OUT = _2JTR_OUT + _2STR; if(_2LTR_OUT%2 != 0) { //alert("Technical problem 1: L'tr is non-integer!"); } } else // targ = tlike + tr: podgonyaem Jtr i Ltr in in-channel { if(_2JTR%2 != _2STR%2) _2JTR += 1.0; if(_2JTR < Math.abs(_2ST-_2STL)) _2JTR = Math.abs(_2ST-_2STL); else if(_2JTR > (_2ST+_2STL)) _2JTR = _2ST+_2STL; if(_2LTR < Math.abs(_2JTR - _2STR)) _2LTR = Math.abs(_2JTR - _2STR); else if(_2LTR > (_2JTR + _2STR)) _2LTR = _2JTR + _2STR; if(_2LTR%2 != 0) { //alert("Technical problem 1: Ltr is non-integer!"); } } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili spin tr. particle STR: menyaem tolko Bound sates parameters, reaction ne trogaem! else if(n==2) { checkSpinForA(n,ATR,doAlert); _2STR = d.SPIN_PART.selectedIndex; //-------------------------------------------- // in-channel _2LTR_min = Math.abs(_2STR - _2JTR); _2LTR_max = _2STR + _2JTR; if(_2LTR < _2LTR_min) _2LTR = _2LTR_min; else if(_2LTR > _2LTR_max) _2LTR = _2LTR_max; if(_2LTR%2 != 0) { //alert("Technical problem 2: Ltr is non-integer!"); } //-------------------------------------------- // out-channel _2LTR_min = Math.abs(_2STR - _2JTR_OUT); _2LTR_max = _2STR + _2JTR_OUT; if(_2LTR_OUT < _2LTR_min) _2LTR_OUT = _2LTR_min; else if(_2LTR_OUT > _2LTR_max) _2LTR_OUT = _2LTR_max; if(_2LTR_OUT%2 != 0) { //alert("Technical problem 2: L'tr is non-integer!"); } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili ejectile spin SEJ else if(n==3) { checkSpinForA(n,AEJ,doAlert); _2SEJ = d.SPIN_EJECT.selectedIndex; //-------------------------------------------- if(d.MODEL[0].checked) // stripping // proj = eject + tr { if(_2JTR%2 != _2STR%2) _2JTR += 1.0; if(_2JTR < Math.abs(_2SP-_2SEJ)) _2JTR = Math.abs(_2SP-_2SEJ); else if(_2JTR > (_2SP+_2SEJ)) _2JTR = _2SP+_2SEJ; if(_2LTR < Math.abs(_2JTR - _2STR)) _2LTR = Math.abs(_2JTR - _2STR); else if(_2LTR > (_2JTR + _2STR)) _2LTR = _2JTR + _2STR; if(_2LTR%2 != 0) { //alert("Technical problem 3: Ltr is non-integer!"); } } else// pick-up: eject = proj + tr { if(_2JTR_OUT%2 != _2STR%2) _2JTR_OUT += 1.0; if(_2JTR_OUT < Math.abs(_2SP-_2SEJ)) _2JTR_OUT = Math.abs(_2SP-_2SEJ); else if(_2JTR_OUT > (_2SP+_2SEJ)) _2JTR_OUT = _2SP+_2SEJ; if(_2LTR_OUT < Math.abs(_2JTR_OUT - _2STR)) _2LTR_OUT = Math.abs(_2JTR_OUT - _2STR); else if(_2LTR_OUT > (_2JTR_OUT + _2STR)) _2LTR_OUT = _2JTR_OUT + _2STR; if(_2LTR_OUT%2 != 0) { //alert("Technical problem 3: L'tr is non-integer!"); } } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili target like spin STL else if(n==4) { checkSpinForA(n,ATL,doAlert); _2STL = d.SPIN_TLIKE.selectedIndex; //-------------------------------------------- if(d.MODEL[0].checked) // stripping // tlike = targ + tr { if(_2JTR_OUT%2 != _2STR%2) _2JTR_OUT += 1.0; if(_2JTR_OUT < Math.abs(_2ST-_2STL)) _2JTR_OUT = Math.abs(_2ST-_2STL); else if(_2JTR_OUT > (_2ST+_2STL)) _2JTR_OUT = _2ST+_2STL; if(_2LTR_OUT < Math.abs(_2JTR_OUT - _2STR)) _2LTR_OUT = Math.abs(_2JTR_OUT - _2STR); else if(_2LTR_OUT > (_2JTR_OUT + _2STR)) _2LTR_OUT = _2JTR_OUT + _2STR; if(_2LTR_OUT%2 != 0) { //alert("Technical problem 4: L'tr is non-integer!"); } } else// pick-up: targ = tlike + tr { if(_2JTR%2 != _2STR%2) _2JTR += 1.0; if(_2JTR < Math.abs(_2ST-_2STL)) _2JTR = Math.abs(_2ST-_2STL); else if(_2JTR > (_2ST+_2STL)) _2JTR = _2ST+_2STL; if(_2LTR < Math.abs(_2JTR - _2STR)) _2LTR = Math.abs(_2JTR - _2STR); else if(_2LTR > (_2JTR + _2STR)) _2LTR = _2JTR + _2STR; if(_2LTR%2 != 0) { //alert("Technical problem 4: Ltr is non-integer!"); } } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili LTR else if(n==5) { _2LTR_min = Math.abs(_2STR - _2JTR); _2LTR_max = _2STR + _2JTR; if(_2LTR < _2LTR_min) { alert ("Orbital momentum Ltr value has to be in the interval ["+(1*_2LTR_min/2)+","+(1*_2LTR_max/2)+"]"); _2LTR = _2LTR_min; } else if(_2LTR > _2LTR_max) { alert ("Orbital momentum Ltr value has to be in the interval ["+(1*_2LTR_min/2)+","+(1*_2LTR_max/2)+"]"); _2LTR = _2LTR_max; } if(_2LTR%2 != 0) { //alert("Technical problem 5: Ltr is non-integer!"); } } // izmenili JTR else if(n==6) { if(d.MODEL[0].checked) // stripping // proj = eject + tr { if(_2JTR < Math.abs(_2SP-_2SEJ)) _2JTR = Math.abs(_2SP-_2SEJ); if(_2JTR > (_2SP+_2SEJ)) _2JTR = _2SP+_2SEJ; } else// pick-up: targ = tlike + tr { if(_2JTR < Math.abs(_2ST-_2STL)) _2JTR = Math.abs(_2ST-_2STL); if(_2JTR > (_2ST+_2STL)) _2JTR = _2ST+_2STL; } _2LTR_min = Math.abs(_2STR - _2JTR); _2LTR_max = _2STR + _2JTR; if(_2LTR < _2LTR_min) _2LTR = _2LTR_min; else if(_2LTR > _2LTR_max) _2LTR = _2LTR_max; if(_2LTR%2 != 0) { //alert("Technical problem 6: Ltr is non-integer!"); } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili LTR_OUT else if(n==7) { _2LTR_min = Math.abs(_2STR - _2JTR_OUT); _2LTR_max = _2STR + _2JTR_OUT; if(_2LTR_OUT < _2LTR_min) { alert ("Orbital momentum Ltr value has to be in the interval ["+(1*_2LTR_min/2)+","+(1*_2LTR_max/2)+"]"); _2LTR_OUT = _2LTR_min; } else if(_2LTR_OUT > _2LTR_max) { alert ("Orbital momentum Ltr value has to be in the interval ["+(1*_2LTR_min/2)+","+(1*_2LTR_max/2)+"]"); _2LTR_OUT = _2LTR_max; } if(_2LTR_OUT%2 != 0) { //alert("Technical problem 7: L'tr is non-integer!"); } } // izmenili JTR_OUT else if(n==8) { if(d.MODEL[0].checked) // stripping // tlike = targ + tr { if(_2JTR_OUT < Math.abs(_2STL-_2ST)) _2JTR_OUT = Math.abs(_2STL-_2ST); if(_2JTR_OUT > (_2STL+_2ST)) _2JTR_OUT = _2STL+_2ST; } else// pick-up: eject = proj + tr { if(_2JTR_OUT < Math.abs(_2SEJ-_2SP)) _2JTR_OUT = Math.abs(_2SEJ-_2SP); if(_2JTR_OUT > _2SEJ+_2SP) _2JTR_OUT = _2SEJ+_2SP; } _2LTR_min = Math.abs(_2STR - _2JTR_OUT), _2LTR_max = _2STR + _2JTR_OUT; if(_2LTR_OUT < _2LTR_min) _2LTR_OUT = _2LTR_min; else if(_2LTR_OUT > _2LTR_max) _2LTR_OUT = _2LTR_max; if(_2LTR_OUT%2 != 0) { //alert("Technical problem 8: L'tr is non-integer!"); } } //-------------------------------------------------------------- d.SPIN_PROJ.selectedIndex = _2SP; d.SPIN_TARG.selectedIndex = _2ST; d.SPIN_PART.selectedIndex = _2STR; d.SPIN_EJECT.selectedIndex = _2SEJ; d.SPIN_TLIKE.selectedIndex = _2STL; d.BS_EN_J.selectedIndex = _2JTR; d.BS_EN_L.selectedIndex = _2LTR/2; d.BS_EN_S.selectedIndex = _2STR; d.BS_EX_J.selectedIndex = _2JTR_OUT; d.BS_EX_L.selectedIndex = _2LTR_OUT/2; d.BS_EX_S.selectedIndex = _2STR; //-------------------------------------------------------------- if(n==5 || n==6) draw_applet(3); else if(n==7 || n==8) draw_applet(4); //-------------------------------------------------------------- BoundStateTitleEN(); BoundStateTitleEX(); needToRecalculate(); } //======================================================================= // При изменении масс сначала нужно просто проверить спин на правильность: // дробный для нечетного А и целый для четного А // // Эта функция не запускается отдельно! только из других функций, где // потом спин должен быть еще доопределен. function checkSpinForA(n,a,doAlert) { //--------------------------------------------------------------------------- d=document.f1; _2SP = d.SPIN_PROJ.selectedIndex; _2ST = d.SPIN_TARG.selectedIndex; _2STR = d.SPIN_PART.selectedIndex; _2SEJ = d.SPIN_EJECT.selectedIndex; _2STL = d.SPIN_TLIKE.selectedIndex; //--------------------------------------------------------------------------- // izmenili projectile spin (SP) if(n==0) { if(a%2 != 0 && _2SP%2 == 0) { if(doAlert) alert ("This projectile nucleus may have an half-integer spin value only."); _2SP -= 1; if(_2SP<0) _2SP = 1; } if(a%2 == 0 && _2SP%2 != 0) { if(doAlert) alert ("This projectile nucleus may have an integer spin value only."); _2SP -= 1; if(_2SP<0) _2SP = 0; } } //--------------------------------------------------------------------------- // izmenili target spin (ST) if(n==1) { if(a%2 != 0 && _2ST%2 == 0) { if(doAlert) alert ("This target nucleus may have an half-integer spin value only."); _2ST -= 1; if(_2ST<0) _2ST = 1; } if(a%2 == 0 && _2ST%2 != 0) { if(doAlert) alert ("This target nucleus may have an integer spin value only."); _2ST -= 1; if(_2ST<0) _2ST = 0; } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili spin tr. particle STR: menyaem tolko Bound sates parameters, reaction ne trogaem! else if(n==2) { if(a%2 != 0 && _2STR%2 == 0) { if(doAlert) alert ("This transfered particle may have an half-integer spin value only."); _2STR -= 1; if(_2STR<0) _2STR = 1; } if(a%2 == 0 && _2STR%2 != 0) { if(doAlert) alert ("This transfered particle may have an integer spin value only."); _2STR -= 1; if(_2STR<0) _2STR = 0; } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili ejectile spin SEJ else if(n==3) { if(a%2 != 0 && _2SEJ%2 == 0) { if(doAlert) alert ("This ejectile nucleus may have an half-integer spin value only."); _2SEJ -= 1; if(_2SEJ<0) _2SEJ = 1; } if(a%2 == 0 && _2SEJ%2 != 0) { if(doAlert) alert ("This ejectile nucleus may have an integer spin value only."); _2SEJ -= 1; if(_2SEJ<0) _2SEJ = 0; } } //. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // izmenili target like spin STL else if(n==4) { if(a%2 != 0 && _2STL%2 == 0) { if(doAlert) alert ("This target-like nucleus may have an half-integer spin value only."); _2STL -= 1; if(_2STL<0) _2STL = 1; } if(a%2 == 0 && _2STL%2 != 0) { if(doAlert) alert ("This target-like nucleus may have an integer spin value only."); _2STL -= 1; if(_2STL<0) _2STL = 0; } } //-------------------------------------------------------------- d.SPIN_PROJ.selectedIndex = _2SP; d.SPIN_TARG.selectedIndex = _2ST; d.SPIN_PART.selectedIndex = _2STR; d.SPIN_EJECT.selectedIndex = _2SEJ; d.SPIN_TLIKE.selectedIndex = _2STL; } //======================================================================= function getQgg(n){ c=document.f1; excEJ = c.EXC_ENERGY_EJECT.value; excTL = c.EXC_ENERGY_TLIKE.value; if(n==0) {excEJ = 0.0; excTL = 0.0;} if(c.MODEL[0].checked) Model = 1; // stripping else Model = 2; // pick-up document.getElementById('MyFrame1').src=BASEURL+"webnrv/transfer/getQgg.php?" +"Z_PROJ="+c.Z_PROJ.selectedIndex+"&A_PROJ="+(1*c.A_PROJ.selectedIndex+1) +"&Z_TARG="+c.Z_TARG.selectedIndex+"&A_TARG="+(1*c.A_TARG.selectedIndex+1) +"&Z_EJECT="+c.Z_EJECT.selectedIndex+"&A_EJECT="+(1*c.A_EJECT.selectedIndex+1) +"&Z_TLIKE="+c.Z_TLIKE.selectedIndex+"&A_TLIKE="+(1*c.A_TLIKE.selectedIndex+1) +"&Z_PART="+c.Z_PART.selectedIndex+"&A_PART="+(1*c.A_PART.selectedIndex+1) +"&EXC_EJECT="+excEJ+"&EXC_TLIKE="+excTL +"&MODEL="+Model; } //======================================================================= function showLevels(n){ c=document.f1; if (n==1) { // Показать список уровней s=document.getElementById('ExpLev1'); res=""; s.innerHTML=res; document.getElementById('MyFrame1').src="http://nrv.jinr.ru/nrv/webnrv/transfer/getLevels.php?I=1&" +"Z="+c.Z_EJECT.selectedIndex+"&A="+(1*c.A_EJECT.selectedIndex+1); } if (n==2) { // Показать список уровней s=document.getElementById('ExpLev2'); res=""; s.innerHTML=res; document.getElementById('MyFrame1').src="http://nrv.jinr.ru/nrv/webnrv/transfer/getLevels.php?I=2&" +"Z="+c.Z_TLIKE.selectedIndex+"&A="+(1*c.A_TLIKE.selectedIndex+1); } if (n==3) { // Убрать список уровней if (c.LEVELS1.selectedIndex!=0) { a=c.LEVELS1.options[c.LEVELS1.selectedIndex].value; // Удаляем пробелы и ( a=a.replace(/ /g,""); a=a.replace("keV",""); a=a.replace("(",""); a=a.replace(")",""); b=a.split(","); // Находим E a=b[0]; if (a.substr(0,4)=="g.s.") a=0; else a=Math.round(a)/1000; c.EXC_ENERGY_EJECT.value=a; getQgg(1); // Находим спин a=b[1]; a=a.replace("+",""); a=a.replace("-",""); setIndex(c.SPIN_EJECT,a); checkSpinEjectile(); } s=document.getElementById('ExpLev1'); res=""; s.innerHTML=res; } if (n==4) { // Убрать список уровней if (c.LEVELS2.selectedIndex!=0) { a=c.LEVELS2.options[c.LEVELS2.selectedIndex].value; // Удаляем пробелы и ( a=a.replace(/ /g,""); a=a.replace("keV",""); a=a.replace("(",""); a=a.replace(")",""); b=a.split(","); // Находим E a=b[0]; if (a.substr(0,4)=="g.s.") a=0; else a=Math.round(a)/1000; c.EXC_ENERGY_TLIKE.value=a; getQgg(2); // Находим спин a=b[1]; a=a.replace("+",""); a=a.replace("-",""); setIndex(c.SPIN_TLIKE,a); checkSpinTargetLike(); } s=document.getElementById('ExpLev2'); res=""; s.innerHTML=res; } } //======================================================================= // Vybrali uroveni v ejectile i => izmenili Spin ejectila, nuzhno podkorrektirovat' ostalnye spiny function checkSpinEjectile() { d=document.f1; _2SP = d.SPIN_PROJ.selectedIndex; _2ST = d.SPIN_TARG.selectedIndex; _2STR = d.SPIN_PART.selectedIndex; _2SEJ = d.SPIN_EJECT.selectedIndex; _2STL = d.SPIN_TLIKE.selectedIndex; _2JTR = d.BS_EN_J.selectedIndex; LTR = d.BS_EN_L.selectedIndex; _2JTR_OUT = d.BS_EX_J.selectedIndex; LTR_OUT = d.BS_EX_L.selectedIndex; if(c.MODEL[0].checked) // stripping // proj = eject + tr { _2JTR = Math.abs(_2SP - _2SEJ); _2ltr = Math.abs(_2JTR - _2STR); if(_2ltr%2) ;//alert("Impossible!"); else LTR = _2ltr/2; alert("Entrance channel bound state:\n"+ "L(orbital momentum) and J(total momentum) of the transferred\n"+ "particle state in the projectile nucleus have been corrected:\n"+ "L = "+LTR+" and 2J = "+_2JTR); d.BS_EN_J.selectedIndex = _2JTR; d.BS_EN_L.selectedIndex = LTR; } else // pick-up // eject = proj + tr { _2JTR_OUT = Math.abs(_2SP - _2SEJ); _2ltr = Math.abs(_2JTR_OUT - _2STR); if(_2ltr%2 != 0) ;//alert("Impossible! 2L="+_2ltr); else LTR_OUT = _2ltr/2; alert("Exit channel bound state:\n"+ "L(orbital momentum) and J(total momentum) of the transferred\n"+ "particle state in the ejectile have been corrected:\n"+ "L = "+LTR_OUT+" 2J = "+_2JTR_OUT); d.BS_EX_J.selectedIndex = _2JTR_OUT; d.BS_EX_L.selectedIndex = LTR_OUT; } } //======================================================================= // Vybrali uroveni v TLike Fragmente i => izmenili Spin ejectila, nuzhno podkorrektirovat' ostalnye spiny function checkSpinTargetLike() { d=document.f1; _2SP = d.SPIN_PROJ.selectedIndex; _2ST = d.SPIN_TARG.selectedIndex; _2STR = d.SPIN_PART.selectedIndex; _2SEJ = d.SPIN_EJECT.selectedIndex; _2STL = d.SPIN_TLIKE.selectedIndex; _2JTR = d.BS_EN_J.selectedIndex; LTR = d.BS_EN_L.selectedIndex; _2JTR_OUT = d.BS_EX_J.selectedIndex; LTR_OUT = d.BS_EX_L.selectedIndex; if(c.MODEL[0].checked) // stripping // tlike = targ + tr { _2JTR_OUT = Math.abs(_2ST - _2STL); _2ltr = Math.abs(_2JTR_OUT - _2STR); if(_2ltr%2) ;//alert("Impossible!"); else LTR_OUT = _2ltr/2; alert("Exit channel bound state:\n"+ "L(orbital momentum) and J(total momentum) of the transferred\n"+ "particle state in the target-like fragment have been corrected:\n"+ "L = "+LTR_OUT+" 2J = "+_2JTR_OUT); d.BS_EX_J.selectedIndex = _2JTR_OUT; d.BS_EX_L.selectedIndex = LTR_OUT; } else // pick-up // targ = tlike + tr { _2JTR = Math.abs(_2ST - _2STL); _2ltr = Math.abs(_2JTR - _2STR); // nuzhno potom uchest' chetnost' if(_2ltr%2 != 0) ;//alert("Impossible! 2L="+_2ltr); else LTR = _2ltr/2; alert("Entrance channel bound state:\n"+ "L(orbital momentum) and J(total momentum) of the transferred particle state\n"+ "in the target nucleus have been corrected:\n"+ "L = "+LTR+" and 2J = "+_2JTR); d.BS_EN_J.selectedIndex = _2JTR; d.BS_EN_L.selectedIndex = LTR; } } //======================================================================= function updateENRadius(n) { c = document.f1; if(c.MODEL[0].checked) // stripping // proj = eject + tr a13 = c.A_EJECT.selectedIndex+1.; else // pick-up // targ = tlike + tr a13 = c.A_TLIKE.selectedIndex+1.; a13 = Math.pow(a13,1./3.); if(n==1) c.BS_EN_VOL_RR.value = Math.round(1000.*a13*c.BS_EN_VOL_R.value)/1000.; if(n==2) c.BS_EN_VOL_R.value = Math.round(1000.*c.BS_EN_VOL_RR.value/a13)/1000.; if(n==3) c.BS_EN_GAUS_RR.value = Math.round(1000.*a13*c.BS_EN_GAUS_R.value)/1000.; if(n==4) c.BS_EN_GAUS_R.value = Math.round(1000.*c.BS_EN_GAUS_RR.value/a13)/1000.; if(n==5) c.BS_EN_RRC.value = Math.round(1000.*c.BS_EN_RC.value*a13)/1000.; if(n==6) c.BS_EN_RC.value = Math.round(1000.*c.BS_EN_RRC.value/a13)/1000.; } //======================================================================= function updateEXRadius(n) { c = document.f1; if(c.MODEL[0].checked) // stripping // tlike = targ + tr a13 = c.A_TARG.selectedIndex+1.; else // pick-up // eject = proj + tr a13 = c.A_PROJ.selectedIndex+1.; a13 = Math.pow(a13,1./3.); if(n==1) c.BS_EX_VOL_RR.value = Math.round(1000.*a13*c.BS_EX_VOL_R.value)/1000.; if(n==2) c.BS_EX_VOL_R.value = Math.round(1000.*c.BS_EX_VOL_RR.value/a13)/1000.; if(n==3) c.BS_EX_GAUS_RR.value = Math.round(1000.*a13*c.BS_EX_GAUS_R.value)/1000.; if(n==4) c.BS_EX_GAUS_R.value = Math.round(1000.*c.BS_EX_GAUS_RR.value/a13)/1000.; if(n==5) c.BS_EX_RRC.value = Math.round(1000.*c.BS_EX_RC.value*a13)/1000.; if(n==6) c.BS_EX_RC.value = Math.round(1000.*c.BS_EX_RRC.value/a13)/1000.; } //======================================================================= function show_levels(n) { if (n==1) {showBoundState_EN();} if (n==2) {showBoundState_EX();} } //======================================================================= function convertSpin(sys_from,val) { var a=new Array(0,"1/2",1,"3/2",2,"5/2",3,"7/2",4,"9/2",5,"11/2",6,"13/2",7,"15/2",8,"17/2",9,"19/2",10,"21/2",11); if (sys_from=="1") { return(a[val]); } else if (sys_from=="1/2") { for (i=0;i<20;i++) if (val==a[i]) return(i); } } //======================================================================= function save(n) { c=document.f1; if (c.MODEL[0].checked) MODEL="stripping"; else MODEL="pickup"; if (c.POST_PRIOR[0].checked) POST_PRIOR="post"; else POST_PRIOR="prior"; console.log("save: dr="+c.DR.value); w="Z_PROJ="+c.Z_PROJ.selectedIndex+"&A_PROJ="+(1*c.A_PROJ.selectedIndex+1)+"&R0_PROJ="+c.R0_PROJ.value+"&SPIN_PROJ="+c.SPIN_PROJ.selectedIndex+ "&Z_TARG="+c.Z_TARG.selectedIndex+"&A_TARG="+(1*c.A_TARG.selectedIndex+1)+"&R0_TARG="+c.R0_TARG.value+"&SPIN_TARG="+c.SPIN_TARG.selectedIndex+ "&Z_EJECT="+c.Z_EJECT.selectedIndex+"&A_EJECT="+(1*c.A_EJECT.selectedIndex+1)+"&R0_EJECT="+c.R0_EJECT.value+"&SPIN_EJECT="+c.SPIN_EJECT.selectedIndex+ "&Z_TLIKE="+c.Z_TLIKE.selectedIndex+"&A_TLIKE="+(1*c.A_TLIKE.selectedIndex+1)+"&R0_TLIKE="+c.R0_TLIKE.value+"&SPIN_TLIKE="+c.SPIN_TLIKE.selectedIndex+ "&EXC_ENERGY_EJECT="+c.EXC_ENERGY_EJECT.value+"&EXC_ENERGY_TLIKE="+c.EXC_ENERGY_TLIKE.value+ "&Z_PART="+c.Z_PART.selectedIndex+"&A_PART="+(1*c.A_PART.selectedIndex+1)+"&SPIN_PART="+c.SPIN_PART.selectedIndex+ "&EN_E_LAB="+c.EN_E_LAB.value+"&EN_E_CM="+c.EN_E_CM.value+"&EN_E_EA="+c.EN_E_EA.value+ "&EX_E_LAB="+c.EX_E_LAB.value+"&EX_E_CM="+c.EX_E_CM.value+"&EX_E_EA="+c.EX_E_EA.value+ "&Q_GG="+c.Q_GG.value+"&Q="+c.Q.value+ "&THETA="+c.THETA.value+"&DTHETA="+c.DTHETA.value+"&NTHETA="+c.NTHETA.value+"&LMAX="+c.LMAX.value+ "&RMAX="+c.RMAX.value+"&DR="+c.DR.value+"&SFACTORS="+c.SFACTORS.value+"&POST_PRIOR="+POST_PRIOR+ "&EN_OM_VOL_V="+c.EN_OM_VOL_V.value+"&EN_OM_VOL_R="+c.EN_OM_VOL_R.value+"&EN_OM_VOL_A="+c.EN_OM_VOL_A.value+ "&EN_OM_SURF_V="+c.EN_OM_SURF_V.value+"&EN_OM_SURF_R="+c.EN_OM_SURF_R.value+"&EN_OM_SURF_A="+c.EN_OM_SURF_A.value+ "&EN_OM_SUP_V="+c.EN_OM_SUP_V.value+"&EN_OM_SUP_R="+c.EN_OM_SUP_R.value+"&EN_OM_SUP_A="+c.EN_OM_SUP_A.value+ "&EN_OM_SUP_VD="+c.EN_OM_SUP_VD.value+"&EN_OM_SUP_RD="+c.EN_OM_SUP_RD.value+"&EN_OM_SUP_AD="+c.EN_OM_SUP_AD.value+ "&EN_OM_PROX_B="+c.EN_OM_PROX_B.value+"&EN_R0_COUL="+c.EN_R0_COUL.value+ "&EN_AP_VOL_V="+c.EN_AP_VOL_V.value+"&EN_AP_VOL_R="+c.EN_AP_VOL_R.value+"&EN_AP_VOL_A="+c.EN_AP_VOL_A.value+ "&EN_AP_SURF_V="+c.EN_AP_SURF_V.value+"&EN_AP_SURF_R="+c.EN_AP_SURF_R.value+"&EN_AP_SURF_A="+c.EN_AP_SURF_A.value+ "&EN_AP_SUP_V="+c.EN_AP_SUP_V.value+"&EN_AP_SUP_R="+c.EN_AP_SUP_R.value+"&EN_AP_SUP_A="+c.EN_AP_SUP_A.value+ "&EN_AP_SUP_VD="+c.EN_AP_SUP_VD.value+"&EN_AP_SUP_RD="+c.EN_AP_SUP_RD.value+"&EN_AP_SUP_AD="+c.EN_AP_SUP_AD.value+ "&EN_SO_V="+c.EN_SO_V.value+"&EN_SO_W="+c.EN_SO_W.value+"&EN_SO_R="+c.EN_SO_R.value+"&EN_SO_A="+c.EN_SO_A.value+ "&EX_OM_VOL_V="+c.EX_OM_VOL_V.value+"&EX_OM_VOL_R="+c.EX_OM_VOL_R.value+"&EX_OM_VOL_A="+c.EX_OM_VOL_A.value+ "&EX_OM_SURF_V="+c.EX_OM_SURF_V.value+"&EX_OM_SURF_R="+c.EX_OM_SURF_R.value+"&EX_OM_SURF_A="+c.EX_OM_SURF_A.value+ "&EX_OM_SUP_V="+c.EX_OM_SUP_V.value+"&EX_OM_SUP_R="+c.EX_OM_SUP_R.value+"&EX_OM_SUP_A="+c.EX_OM_SUP_A.value+ "&EX_OM_SUP_VD="+c.EX_OM_SUP_VD.value+"&EX_OM_SUP_RD="+c.EX_OM_SUP_RD.value+"&EX_OM_SUP_AD="+c.EX_OM_SUP_AD.value+ "&EX_OM_PROX_B="+c.EX_OM_PROX_B.value+"&EX_R0_COUL="+c.EX_R0_COUL.value+ "&EX_AP_VOL_V="+c.EX_AP_VOL_V.value+"&EX_AP_VOL_R="+c.EX_AP_VOL_R.value+"&EX_AP_VOL_A="+c.EX_AP_VOL_A.value+ "&EX_AP_SURF_V="+c.EX_AP_SURF_V.value+"&EX_AP_SURF_R="+c.EX_AP_SURF_R.value+"&EX_AP_SURF_A="+c.EX_AP_SURF_A.value+ "&EX_AP_SUP_V="+c.EX_AP_SUP_V.value+"&EX_AP_SUP_R="+c.EX_AP_SUP_R.value+"&EX_AP_SUP_A="+c.EX_AP_SUP_A.value+ "&EX_AP_SUP_VD="+c.EX_AP_SUP_VD.value+"&EX_AP_SUP_RD="+c.EX_AP_SUP_RD.value+"&EX_AP_SUP_AD="+c.EX_AP_SUP_AD.value+ "&EX_SO_V="+c.EX_SO_V.value+"&EX_SO_W="+c.EX_SO_W.value+"&EX_SO_R="+c.EX_SO_R.value+"&EX_SO_A="+c.EX_SO_A.value+ "&EN_OM="+c.EN_OM.value+"&EN_AP="+c.EN_AP.value+"&EX_OM="+c.EX_OM.value+"&EX_AP="+c.EX_AP.value+ "&MODEL="+MODEL+ "&BS_EN_J="+c.BS_EN_J.selectedIndex+ "&BS_EN_L="+c.BS_EN_L.selectedIndex+ "&BS_EN_S="+c.BS_EN_S.selectedIndex+ "&BS_EN_NR="+(1*c.BS_EN_NR.selectedIndex+1)+ "&BS_EN_EB="+c.BS_EN_EB.value+ "&BS_EN_VOL_V="+c.BS_EN_VOL_V.value+ "&BS_EN_VOL_R="+c.BS_EN_VOL_R.value+ "&BS_EN_VOL_A="+c.BS_EN_VOL_A.value+ "&BS_EN_GAUS_V="+c.BS_EN_GAUS_V.value+ "&BS_EN_GAUS_R="+c.BS_EN_GAUS_R.value+ "&BS_EN_GAUS_RR="+c.BS_EN_GAUS_RR.value+ "&BS_EN_RC="+c.BS_EN_RC.value+ "&BS_EN_P="+c.BS_EN_P.value+ "&BS_EX_J="+c.BS_EX_J.selectedIndex+ "&BS_EX_L="+c.BS_EX_L.selectedIndex+ "&BS_EX_S="+c.BS_EX_S.selectedIndex+ "&BS_EX_NR="+(1*c.BS_EX_NR.selectedIndex+1)+ "&BS_EX_EB="+c.BS_EX_EB.value+"&BS_EX_VOL_V="+c.BS_EX_VOL_V.value+"&BS_EX_VOL_R="+c.BS_EX_VOL_R.value+"&BS_EX_VOL_A="+c.BS_EX_VOL_A.value+ "&BS_EX_GAUS_V="+c.BS_EX_GAUS_V.value+ "&BS_EX_GAUS_R="+c.BS_EX_GAUS_R.value+ "&BS_EX_GAUS_RR="+c.BS_EX_GAUS_R.value+ "&BS_EX_RC="+c.BS_EX_RC.value+ "&BS_EX_P="+c.BS_EX_P.value; if (n=="save") { $.ajax({ type: "POST", url: "save.php", data: w, success: function(html){ document.location.href="save_variant.php/transfer.var?COMMAND=GET"; //$("#content").html(html); } }); } else if (n=="dwuck") { $.ajax({ type: "POST", url: "save.php", data: w, success: function(html){ //document.location.href="save.php/dwuck5.zip?COMMAND=DWUCK"; document.location.href="save_DWUCK_results.php/dwuck5.zip?COMMAND=DWUCK"; } }); } else if (n=="fresco") { $.ajax({ type: "POST", url: "save.php", data: w, success: function(html){ document.location.href="save_FRESCO_results.php/fresco.zip?COMMAND=FRESCO"; } }); } else if (n=="calculate") { cs_DWUCK5 = null; document.getElementById('CALCULATION_STATUS').innerHTML = "DWUCK5 is running, please wait."; if(c.EX_E_CM.value < 0)// энергия в выходном канале меньше нуля! { alert("Total energy in entrance channel is lower than the reaction threshold!\nCalculation can't be performed."); return; } $.ajax({ type: "POST", url: "save.php", data: w+"&COMMAND=CALCULATE_DWUCK5", success: function(html) { s = html.split("\n"); ss=s[0].trim(); s2=ss.split(" ");// анализируем 1ую строку if(s2[0] == 'Error') {console.log("DWUCK5 failed!"); return;} pts = 1*s2[0]; //console.log(ss+"|"+s2+"| N="+pts); cs_DWUCK5 = new AngularCrossSection(); cs_DWUCK5.setReaction(c.Z_PROJ.selectedIndex,(1*c.A_PROJ.selectedIndex+1), c.Z_TARG.selectedIndex,(1*c.A_TARG.selectedIndex+1),c.EN_E_LAB.value,"lab", c.Z_PART.selectedIndex,(1*c.A_PART.selectedIndex+1),c.Q.value,MODEL); var th = [], cs = [], err = []; for (i=0;i