added Sn Sp and Sa

This commit is contained in:
Ryan@fsunuc 2022-12-11 00:53:52 -05:00
parent b236aea862
commit 0128789b91
2 changed files with 58 additions and 67 deletions

View File

@ -19,57 +19,6 @@ def lc_read_csv(url):
mp = 938.27208816; #MeV/c^2 mp = 938.27208816; #MeV/c^2
mn = 939.56542052; mn = 939.56542052;
'''
haha = lc_read_csv(livechart + 'fields=ground_states&nuclides=all')
def FindZ(AZ):
query = livechart + "fields=ground_states&nuclides=" + AZ
temp = lc_read_csv(query);
try :
return temp['z']
except :
return 'na'
def FindSym(Z):
try:
return (haha['symbol'][haha['z']==Z]).iloc[0]
except:
return 'na'
def Mass(A, Z):
try :
BEA = float(haha['binding'][haha['z']==Z][haha['n']==(A-Z)])/1000
return (A-Z)*mn + Z*mp - A * BEA
except :
return -404
def MassSym(AZ):
query = livechart + "fields=ground_states&nuclides=" + AZ
temp = lc_read_csv(query);
Z = temp['z']
N = temp['n']
try :
return Z*mp + N*mn - (Z+N)*temp['binding']/1000
except:
return -404
def Sp(A,Z,a,z):
mA = Mass(A,Z)
mB = Mass(A-a, Z-z)
if z == 0 :
mb = a * mn
elif a == z :
mb = a * mp
else :
mb = Mass(a,z)
if (mB == -404 or mb == -404 or mA == -404) :
return -404
else:
return mB + mb - mA
def Ex(AZ, maxMeV):
query = livechart + "fields=levels&nuclides=" + AZ
tempEx = lc_read_csv(query);
try :
return tempEx[['energy', 'jp']][tempEx['energy']<= maxMeV * 1000]
except:
return -404
'''
#=================================================== #===================================================
import cgi, cgitb import cgi, cgitb
@ -95,7 +44,7 @@ try :
N = temp['n'][0] N = temp['n'][0]
mass = Z*mp + N*mn - (Z+N)*temp['binding']/1000 mass = Z*mp + N*mn - (Z+N)*temp['binding']/1000
halfLife = temp['half_life_sec'][0] halfLife = temp['half_life_sec'][0]
print("<br> A : %3d, Z : %3d, N : %3d" % (Z+N, Z, N)) print("<br> A : %3d, Z : %3d, N : %3d" % (Z+N, Z, N))
print("<br> Jpi : %3s" % (temp['jp'][0])) print("<br> Jpi : %3s" % (temp['jp'][0]))
if halfLife != " " : if halfLife != " " :
@ -103,10 +52,7 @@ try :
print("<br> Mass : %.4f MeV" % (mass)) print("<br> Mass : %.4f MeV" % (mass))
print("<br> Binding : %.4f MeV/A" % (temp['binding']/1000)) print("<br> Binding : %.4f MeV/A" % (temp['binding']/1000))
print("<br> Binding : %.4f MeV" % (temp['binding']/1000*(Z+N))) print("<br> Binding : %.4f MeV" % (temp['binding']/1000*(Z+N)))
#print("<br>Sn : %8.3f MeV, Sp : %8.3f MeV" % (Sp(Z+N,Z, 1, 0), Sp(Z+N,Z, 1, 1)))
#print("<br>S2n : %8.3f MeV, S2p : %8.3f MeV, Sd : %8.3f MeV" % (Sp(Z+N,Z, 2, 0), Sp(Z+N,Z, 2, 2), Sp(Z+N, Z, 2, 1)))
#print("<br>S3n : %8.3f MeV, S3p : %8.3f MeV, St : %8.3f MeV, S(3He) : %8.3f MeV" % (Sp(Z+N,Z, 3, 0), Sp(Z+N,Z, 3, 3), Sp(Z+N, Z, 3, 1), Sp(Z+N, Z, 3, 2)))
#print("<br>S4n : %8.3f MeV, S4p : %8.3f MeV, Sa : %8.3f MeV" % (Sp(Z+N,Z, 4, 0), Sp(Z+N,Z, 4, 4), Sp(Z+N, Z, 4, 2)))
#print(" magnetic dipole : " + temp['magnetic_dipole'][0] + " mu.N") #print(" magnetic dipole : " + temp['magnetic_dipole'][0] + " mu.N")
#print("electric quadruple : " + temp['electric_quadrupole'][0] + " barn") #print("electric quadruple : " + temp['electric_quadrupole'][0] + " barn")
#if halfLife > 0 : #if halfLife > 0 :
@ -117,6 +63,17 @@ try :
except : except :
print("<br>No such Isotopes.") print("<br>No such Isotopes.")
import os, subprocess
os.chdir(r"files")
result=subprocess.run(['../Cleopatra/Isotope', AZ], stdout=subprocess.PIPE).stdout.decode('utf-8')
p1 = result.find('S1n:')
print("<br>" + result[p1:p1+13])
p1 = result.find('S1p')
print("<br>" + result[p1:p1+13])
p1 = result.find('S(4He)')
print("<br>" + result[p1:p1+16])
print("<br>=============================") print("<br>=============================")
if float(maxEx) > 0 : if float(maxEx) > 0 :
@ -136,8 +93,8 @@ if float(maxEx) > 0 :
print("</table>") print("</table>")
except: except:
print("<br> cannot find Ex data") print("<br> cannot find Ex data")
print("</body>") print("</body>")
print("</html>") print("</html>")

View File

@ -29,7 +29,7 @@
<td><input type = "text" name = "beam_A" size="5" value="16"/></td> <td><input type = "text" name = "beam_A" size="5" value="16"/></td>
<td style="text-align:right">Z:</td> <td style="text-align:right">Z:</td>
<td><input type = "text" name = "beam_Z" size="5" value="8"/></td> <td><input type = "text" name = "beam_Z" size="5" value="8"/></td>
<td style="text-align:right">J-pi</td> <td style="text-align:right">J<sup>&pi;</sup></td>
<td><input type = "text" name = "beam_Jpi" size="5" value="0+"/><td> <td><input type = "text" name = "beam_Jpi" size="5" value="0+"/><td>
<td style="text-align:right">Ex:</td> <td style="text-align:right">Ex:</td>
<td><input type = "text" name = "beam_Ex" size="5" value="0.00"/></td> <td><input type = "text" name = "beam_Ex" size="5" value="0.00"/></td>
@ -76,16 +76,12 @@
</tr> </tr>
</table> </table>
<h3>DWBA and Ex List:</h3> <h3>DWBA and E<sub>x</sub> List:</h3>
<input type="checkbox" name="DWBA" value="On"/>Cal. DWBA
<p></p>
<table id="ExTable"> <table id="ExTable">
<tr> <tr>
<td> Ex [MeV]</td> <td> E<sub>x</sub> [MeV]</td>
<td> J-pi</td> <td> J<sup>&#960;</sup></td>
<td> Orbital </td> <td> Orbital </td>
</tr> </tr>
</tr> </tr>
@ -101,6 +97,7 @@
</table> </table>
<p></p> <p></p>
<input type="checkbox" name="DWBA" value="On"/>Cal. DWBA
<table> <table>
<tr> <tr>
@ -160,13 +157,47 @@
<input type = "submit" value = "Submit and Run Simulation" style="width:200px;height:60px;" /> <input type = "submit" value = "Submit and Run Simulation" style="width:200px;height:60px;" />
</form> </form>
<h3> Simple kinematic Calculations (Experimental..) </h3>
<button type="button">Calculate</button>
<table id="XTable">
<tr>
<td>E<sub>x</sub>[MeV]</td>
<td>&theta;<sub>CM</sub>[deg]</td>
<td>E<sub>b</sub>[MeV]</td>
<td>Z<sub>b0</sub>[mm]</td>
<td>Z<sub>b</sub>[mm]</td>
<td>2*&rho;<sub>b</sub>[mm]</td>
<td>&theta;Lab<sub>bM</sub>[deg]</td>
<td>T<sub>b</sub>[ns]</td>
<td>E<sub>B</sub>[MeV]</td>
<td>&theta;Lab<sub>B</sub>[deg]</td>
<td>Z<sub>B0</sub>/2[mm]</td>
<td>2*&rho;<sub>B</sub>[mm]</td>
</tr>
<tr>
<td>0.00</td>
<td><input type="text" value="20" size="7" id="th1"/></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<script> <script>
function addRow() { function addRow() {
var table = document.getElementById("ExTable"); var table = document.getElementById("ExTable");
var nRow = table.rows.length; var nRow = table.rows.length;
var row = table.insertRow(nRow-1); var row = table.insertRow(nRow-1);
row.innerHTML = '<td><input type="text" name="Ex" size="5"/></td> \ row.innerHTML = '<td><input type="text" name="Ex" size="5" /></td> \
<td><input type="text" name="Jpi" size="5"/></td> \ <td><input type="text" name="Jpi" size="5"/></td> \
<td><input type="text" name="Orb" size="5"/></td>'; <td><input type="text" name="Orb" size="5"/></td>';
} }
@ -178,6 +209,9 @@ function deleteRow(){
table.deleteRow(nRow-2); table.deleteRow(nRow-2);
} }
} }
</script> </script>