added (6Li,d) support )
This commit is contained in:
parent
5503212312
commit
7d7cf0b6e3
|
@ -103,7 +103,7 @@ int InFileCreator(string readFile, string infile, double angMin, double angMax,
|
|||
bool isReactionSupported = false;
|
||||
bool isTransferReaction = true;
|
||||
|
||||
if( iso_a.A <= 4 && iso_a.Z <= 2 && iso_b.A <=4 && iso_b.Z <=2 ) isReactionSupported = true;
|
||||
if( iso_a.A <= 4 && iso_a.Z <= 2 && iso_b.A <= 4 && iso_b.Z <=2 ) isReactionSupported = true;
|
||||
|
||||
///======= elastics-ish scattering
|
||||
if( iso_a.Mass == iso_b.Mass ) isTransferReaction = false;
|
||||
|
@ -115,6 +115,9 @@ int InFileCreator(string readFile, string infile, double angMin, double angMax,
|
|||
int numNucleonsTransfer = iso_a.A - iso_b.A;
|
||||
if( abs(numNucleonsTransfer) >= 3 ) isReactionSupported = false;
|
||||
|
||||
///======= (6Li,d) reaction
|
||||
if( iso_a.A == 6 && iso_a.Z == 3 && iso_b.A == 2 && iso_b.Z == 1 ) isReactionSupported = true;
|
||||
|
||||
if( isReactionSupported == false ){
|
||||
printf(" ===> Ignored. Reaction type not supported. \n");
|
||||
continue;
|
||||
|
@ -176,13 +179,18 @@ int InFileCreator(string readFile, string infile, double angMin, double angMax,
|
|||
spdf = GetLValue(lValue);
|
||||
}
|
||||
|
||||
// two-nucleons transfer
|
||||
if( abs(iso_a.A - iso_b.A) == 2 ){
|
||||
// two-nucleons transfer, v vc
|
||||
if( abs(iso_a.A - iso_b.A) == 2 || abs(iso_a.A - iso_b.A) == 4 ){
|
||||
size_t posEq = orbital.find('=');
|
||||
lValue = orbital.substr(posEq+1,1);
|
||||
spdf=atoi(lValue.c_str());
|
||||
}
|
||||
|
||||
// (6Li,d)
|
||||
if( abs(iso_a.A - iso_b.A) == 4 ){
|
||||
|
||||
}
|
||||
|
||||
if( abs(iso_a.A - iso_b.A) == 0 ){
|
||||
printf(" ===? skipped. p-n exchange reaction does not support. \n");
|
||||
}
|
||||
|
@ -320,10 +328,14 @@ int InFileCreator(string readFile, string infile, double angMin, double angMax,
|
|||
fprintf(file_out, "PARAMETERSET alpha3 r0target\n");
|
||||
fprintf(file_out, "lstep=1 lmin=0 lmax=30 maxlextrap=0 ASYMPTOPIA=40\n");
|
||||
fprintf(file_out, "\n");
|
||||
fprintf(file_out, "PROJECTILE\n");
|
||||
fprintf(file_out, "wavefunction phiffer\n");
|
||||
fprintf(file_out, "L = 0 NODES=0 R0 = 1.25 A = .65 RC0 = 1.25\n");
|
||||
fprintf(file_out, "PROJECTILE nodes=0 l=0 r0=1.25 a=0.65 rc0=1.25\n");
|
||||
}
|
||||
|
||||
if( iso_a.A == 6 && iso_a.Z == 3 && iso_b.A == 2 && iso_b.Z == 1 ){
|
||||
fprintf(file_out, "PARAMETERSET alpha3 r0target maxlextrap=0 asymptopia=100\n");
|
||||
fprintf(file_out, "PROJECTILE nodes=0 l=0 r0=1.25 a=0.65 rc0=1.25\n");
|
||||
}
|
||||
|
||||
fprintf(file_out, ";\n");
|
||||
|
||||
//===== TARGET
|
||||
|
@ -359,6 +371,10 @@ int InFileCreator(string readFile, string infile, double angMin, double angMax,
|
|||
}
|
||||
}
|
||||
|
||||
if( iso_a.A == 6 && iso_a.Z == 3 && iso_b.A == 2 && iso_b.Z == 1 ){
|
||||
fprintf(file_out, "nodes=4 l=%d \n", spdf);
|
||||
}
|
||||
|
||||
fprintf(file_out, ";\n");
|
||||
|
||||
//===== POTENTIAL
|
||||
|
|
|
@ -25,7 +25,7 @@ void PrintPotential(){
|
|||
}
|
||||
|
||||
/// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
||||
/// 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1
|
||||
/// 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 // 1 = used
|
||||
string potentialRef(string name){
|
||||
|
||||
//======== Deuteron
|
||||
|
@ -108,6 +108,11 @@ string potentialRef(string name){
|
|||
return "(FIXED) Bassani and Picard, (1969) 24 < E < 31 | A = 90 | https://doi.org/10.1016/0375-9474(69)90601-0";
|
||||
}
|
||||
|
||||
//======= 6Li
|
||||
if( name == "6"){
|
||||
return "Fixed 6Li potential";
|
||||
}
|
||||
|
||||
//====== custom
|
||||
if( name == "Y"){
|
||||
return "Bardayan Parameters PRC 78 052801(R) (2008)";
|
||||
|
@ -168,6 +173,22 @@ bool CustomYPotential(int A, int Z, double E){
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
//======================== 6Li
|
||||
bool SixLithium(){
|
||||
v = 101.2;
|
||||
r0 = 1.24;
|
||||
a = 0.817;
|
||||
|
||||
vi = 12.64;
|
||||
ri0 = 1.57;
|
||||
ai = 0.690;
|
||||
|
||||
rc0 = 1.3;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//======================== deuteron
|
||||
bool AnCaiPotential(int A, int Z, double E){
|
||||
// d + A(Z)
|
||||
|
@ -1066,6 +1087,8 @@ bool CallPotential(string potName, int A, int Z, double E, int Zproj){
|
|||
if( potName == "X") okFlag = CustomXPotential(A, Z, E);
|
||||
if( potName == "Y") okFlag = CustomYPotential(A, Z, E);
|
||||
|
||||
if( potName == "6") okFlag = SixLithium();
|
||||
|
||||
//printf(" Potenital : %s | A : %d | Z : %d | E : %f\n", potName.c_str(), A, Z, E);
|
||||
//PrintPotential();
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
# s = Su and Han, 2015 | E < 398 | 20 < A < 209 | http://dx.doi/org/10.1142/S0218301315500925
|
||||
# a = Avrigeanu et al., 2009 | E ??? | A ??? | http://dx.doi/org/10.1016/j.adt.2009.02.001
|
||||
# f = Bassani and Picard, 1969(FIXED)| 24 < E < 31 | A = 90 | https://doi.org/10.1016/0375-9474(69)90601-0
|
||||
#========================= 6Li
|
||||
# 6 = a fixed 6Li potential, only valid for (6Li,d)
|
||||
#=======================================================================
|
||||
#reaction gs-spin orbital spin-pi(Ex) Ex ELab Potentials
|
||||
#206Hg(d,d)206Hg 0 none 9/2+ 0.000 7.39MeV/u AA #elastic
|
||||
|
@ -42,5 +44,4 @@
|
|||
#32Si(t,p)34Si 0 0L=0 0+ 0.000 8MeV/u lA #two-nucleon_transfer
|
||||
#133Sb(t,3He)133Sn 7/2 0g7/2 0+ 0.000 8.5MeV/u Ax .... cannot cal
|
||||
|
||||
11C(d,p)12C 3/2- 0p1/2 2+ 4.4 10MeV/u AK
|
||||
11C(d,p)12C 3/2- 0p1/2 1+ 15.1 10MeV/u AK
|
||||
12C(6Li,d)16O 0+ nL=2 2+ 0.0 10MeV/u 6K
|
|
@ -63,6 +63,9 @@ class MyWindow(QMainWindow):
|
|||
self.bnOpenXsecFile = QPushButton("Open X-sec File")
|
||||
self.bnOpenXsecFile.clicked.connect(lambda: self.LoadFileToTextBox(self.DWBAFileName + ".Xsec.txt"))
|
||||
|
||||
self.bnDeleteFiles = QPushButton("Delete in/out/Xsec files")
|
||||
self.bnDeleteFiles.clicked.connect(self.DeleteinOutXsecFiles)
|
||||
|
||||
lbAngMin = QLabel("angMin :")
|
||||
lbAngMin.setAlignment(Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignCenter)
|
||||
lbAngMax = QLabel("angMax :")
|
||||
|
@ -107,22 +110,23 @@ class MyWindow(QMainWindow):
|
|||
group_layout.addWidget(self.bnOpenInFile, 1, 0, 1, 2)
|
||||
group_layout.addWidget(self.bnOpenOutFile, 2, 0, 1, 2)
|
||||
group_layout.addWidget(self.bnOpenXsecFile, 3, 0, 1, 2)
|
||||
group_layout.addWidget(self.bnDeleteFiles, 4, 0, 1, 2)
|
||||
|
||||
group_layout.addWidget(lbAngMin, 4, 0)
|
||||
group_layout.addWidget(self.sbAngMin, 4, 1)
|
||||
group_layout.addWidget(lbAngMax, 5, 0)
|
||||
group_layout.addWidget(self.sbAngMax, 5, 1)
|
||||
group_layout.addWidget(lbAngSize, 6, 0)
|
||||
group_layout.addWidget(self.sbAngSize, 6, 1)
|
||||
group_layout.addWidget(lbAngMin, 5, 0)
|
||||
group_layout.addWidget(self.sbAngMin, 5, 1)
|
||||
group_layout.addWidget(lbAngMax, 6, 0)
|
||||
group_layout.addWidget(self.sbAngMax, 6, 1)
|
||||
group_layout.addWidget(lbAngSize, 7, 0)
|
||||
group_layout.addWidget(self.sbAngSize, 7, 1)
|
||||
|
||||
group_layout.addWidget(self.chkCreateInFile, 7, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkRunPtolemy, 8, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkExtracrXsec, 9, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkCreateInFile, 8, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkRunPtolemy, 9, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkExtracrXsec, 10, 0, 1, 2)
|
||||
|
||||
group_layout.addWidget(self.cbXsec, 10, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkPlot, 11, 0, 1, 2)
|
||||
group_layout.addWidget(self.cbXsec, 11, 0, 1, 2)
|
||||
group_layout.addWidget(self.chkPlot, 12, 0, 1, 2)
|
||||
|
||||
group_layout.addWidget(self.bnCalDWBA, 12, 0, 1, 2)
|
||||
group_layout.addWidget(self.bnCalDWBA, 13, 0, 1, 2)
|
||||
|
||||
# Ex Group
|
||||
self.gbEx = QGroupBox("Ex")
|
||||
|
@ -230,6 +234,15 @@ class MyWindow(QMainWindow):
|
|||
file.write(self.text_edit.toPlainText())
|
||||
self.leStatus.setText(f"File saved to: {file_path}")
|
||||
|
||||
def DeleteinOutXsecFiles(self):
|
||||
if os.path.exists(self.DWBAFileName + ".in"):
|
||||
os.remove(self.DWBAFileName + ".in")
|
||||
if os.path.exists(self.DWBAFileName + ".out"):
|
||||
os.remove(self.DWBAFileName + ".out")
|
||||
if os.path.exists(self.DWBAFileName + ".Xsec.txt"):
|
||||
os.remove(self.DWBAFileName + ".Xsec.txt")
|
||||
self.leStatus.setText("Deleted " + self.DWBAFileName + ".in/.out/.Xsec.txt files")
|
||||
|
||||
def BashCommand(self, cmd):
|
||||
print("Bash Command : |" + cmd + "|")
|
||||
self.bashResult = subprocess.run(cmd, shell=True, capture_output=True, text=True)
|
||||
|
@ -276,7 +289,7 @@ class MyWindow(QMainWindow):
|
|||
if isRunOK and self.chkExtracrXsec.isChecked() and self.file_exists(self.DWBAFileName + ".out") :
|
||||
extract_xsec(self.DWBAFileName + ".out", self.cbXsec.currentIndex())
|
||||
|
||||
if self.chkPlot.isChecked() and self.file_exists(self.DWBAFileName + ".Xsec.txt") :
|
||||
if isRunOK and self.chkPlot.isChecked() and self.file_exists(self.DWBAFileName + ".Xsec.txt") :
|
||||
self.open_plot_window()
|
||||
|
||||
def open_plot_window(self):
|
||||
|
|
Loading…
Reference in New Issue
Block a user