From b43da195a4b04b77c339170c5926406a72f7ae68 Mon Sep 17 00:00:00 2001
From: "Ryan@Home" <goluckyryan@gmail.com>
Date: Thu, 13 Mar 2025 20:48:12 -0400
Subject: [PATCH] added DWtest3.DAT for inelastic

---
 dwuck4/DWtest3.DAT        | 24 +++++++++++++++++
 dwuck4/inFileCreatorDW.py | 54 ++++++++++++++++++++++-----------------
 dwuck4/test.dat           | 26 +++++++++++++++++++
 3 files changed, 80 insertions(+), 24 deletions(-)
 create mode 100644 dwuck4/DWtest3.DAT
 create mode 100644 dwuck4/test.dat

diff --git a/dwuck4/DWtest3.DAT b/dwuck4/DWtest3.DAT
new file mode 100644
index 0000000..9971539
--- /dev/null
+++ b/dwuck4/DWtest3.DAT
@@ -0,0 +1,24 @@
+10001310500100000    16O(a,a)16O  6.971 2+, 40MeV
++181.    +00.    +01.0
++15+01+02+02
++00.10  +00.000 +15.000
++40.00  +04.    +02.    +16.    +08.    +01.30                  +00.
++01.    -88.955 +01.149 +00.675         -02.348 +01.345 +00.603     
++02.            +01.394 +00.687         +40.872 +01.394 +00.687
+-04.    -14.228 +00.972 +01.011                 +01.562 +00.477     
+-6.971  +04.    +02.    +16.    +08.    +01.30                  +00.  
++01.    -49.544 +01.146 +00.675         -02.061 +01.146 +00.675
++02.                                    +30.680 +01.302 +00.528
+-04.    -21.184 +00.934 +00.590         +00.424 +00.934 +00.590
+
+-00.00  +01.    +00.    +16.    +08.    +01.30                  +00.  
++02.000 -46.380 +01.250 +00.735 +00.    +00.000 +01.250 +00.735 +00.000        
+-03.000 +00.000 +01.250 +00.437 +00.000 +61.400 +01.250 +00.437 +00.000  
+
++00.000 +01.000 +00.000 +16.000 +08.    +01.250 +00.000 +00.000 +00.000        
++11.000 -46.380 +01.250 +00.735 +00.    +00.000 +01.250 +00.735 +00.000        
++00.10    +03.
+-12.000 +00.000 +01.250 +00.437 +00.    +61.400 +01.250 +00.437 +00.000        
++00.10  +03.  
+
+9                    END OF DATA  DWUCK4 test cases
\ No newline at end of file
diff --git a/dwuck4/inFileCreatorDW.py b/dwuck4/inFileCreatorDW.py
index f0af1f3..7cd917c 100755
--- a/dwuck4/inFileCreatorDW.py
+++ b/dwuck4/inFileCreatorDW.py
@@ -82,12 +82,14 @@ with open(fileOutName, "w") as file:
     file.write("10001310500100000     " + reaction + "(" + str(Ex) + "," + orbital + ")" +  " @ " + str(ELab) + " MeV/u\n")
     file.write("+181.    +00.    +01.0\n")
     file.write(f"+{maxL}+01+{l:02d}+{int(2*j):02d}\n")
-    file.write(f"{0.1:+08.4f}{15:+08.4f}\n")
+    file.write(f"{0.1:+08.4f}{0.0:+08.4f}{15:+08.4f}\n")
 #===== Block 5
     if A_a == 2 :
         pot = op.AnCai(A_A, Z_A, A_a*ELab)
-    else:
+    if A_a == 1 :
         pot = op.Koning(A_A, Z_A, A_a*ELab, Z_a)
+    if A_a == 4 :
+        pot == op.SuAndHan(A_A, Z_A, A_a*ELab)
 
     file.write(f"{A_a*ELab:+08.4f}")
     file.write(f"{A_a:+08.4f}")
@@ -95,24 +97,24 @@ with open(fileOutName, "w") as file:
     file.write(f"{A_A:+08.4f}")
     file.write(f"{Z_A:+08.4f}")
     file.write(f"{pot.rc0:+08.4f}")
-    file.write(f"{"":8s}")
-    file.write(f"{"":8s}")
+    file.write(f"{'':8s}")
+    file.write(f"{'':8s}")
     file.write(f"{2*spin_a:+08.4f}\n")
     # Woods-Saxon
     file.write(f"{1:+08.4f}") 
     file.write(f"{-pot.v:+08.4f}") # real
     file.write(f"{pot.r0:+08.4f}") # 
     file.write(f"{pot.a:+08.4f}") # 
-    file.write(f"{"":8s}") # spin-orbit skipped
+    file.write(f"{'':8s}") # spin-orbit skipped
     file.write(f"{-pot.vi:+08.4f}") # imag
     file.write(f"{pot.ri0:+08.4f}") # 
     file.write(f"{pot.ai:+08.4f}\n") # 
     # Woods-Saxon surface
     file.write(f"{2:+08.4f}") 
-    file.write(f"{"":8s}") # real
-    file.write(f"{"":8s}") # 
-    file.write(f"{"":8s}") # 
-    file.write(f"{"":8s}") # spin-orbit skipped
+    file.write(f"{'':8s}") # real
+    file.write(f"{'':8s}") # 
+    file.write(f"{'':8s}") # 
+    file.write(f"{'':8s}") # spin-orbit skipped
     file.write(f"{4*pot.vsi:+08.4f}") # imag
     file.write(f"{pot.rsi0:+08.4f}") # 
     file.write(f"{pot.asi:+08.4f}\n") # 
@@ -121,39 +123,43 @@ with open(fileOutName, "w") as file:
     file.write(f"{-4*pot.vso:+08.4f}") # real
     file.write(f"{pot.rso0:+08.4f}") # 
     file.write(f"{pot.aso:+08.4f}") # 
-    file.write(f"{"":8s}") # spin-orbit skipped
+    file.write(f"{'':8s}") # spin-orbit skipped
     file.write(f"{-4*pot.vsoi:+08.4f}") # imag
     file.write(f"{pot.rsoi0:+08.4f}") # 
     file.write(f"{pot.asoi:+08.4f}\n") # 
 #===== Block 6
-    if A_a == 2 :
-        pot = op.Koning(A_B, Z_B, A_a*ELab + Q_value - Ex, Z_b)
-    else:
-        pot = op.AnCai(A_B, Z_B, A_a*ELab + Q_value - Ex)
+    Eout = A_a*ELab + Q_value - Ex
+    if A_b == 1 :
+        pot = op.Koning(A_B, Z_B, Eout, Z_b)
+    if A_b == 2 :
+        pot = op.AnCai(A_B, Z_B, Eout)
+    if A_b == 4 :
+        pot = op.SuAndHan(A_B, Z_B, Eout)
+
     file.write(f"{Q_value:+08.4f}")
     file.write(f"{A_b:+08.4f}")
     file.write(f"{Z_b:+08.4f}")
     file.write(f"{A_B:+08.4f}")
     file.write(f"{Z_B:+08.4f}")
     file.write(f"{pot.rc0:+08.4f}")
-    file.write(f"{"":8s}")
-    file.write(f"{"":8s}")
+    file.write(f"{'':8s}")
+    file.write(f"{'':8s}")
     file.write(f"{2*spin_b:+08.4f}\n")
     # Woods-Saxon
     file.write(f"{1:+08.4f}") 
     file.write(f"{-pot.v:+08.4f}") # real
     file.write(f"{pot.r0:+08.4f}") # 
     file.write(f"{pot.a:+08.4f}") # 
-    file.write(f"{"":8s}") # spin-orbit skipped
+    file.write(f"{'':8s}") # spin-orbit skipped
     file.write(f"{-pot.vi:+08.4f}") # imag
     file.write(f"{pot.ri0:+08.4f}") # 
     file.write(f"{pot.ai:+08.4f}\n") # 
     # Woods-Saxon surface
     file.write(f"{2:+08.4f}") 
-    file.write(f"{"":8s}") # real
-    file.write(f"{"":8s}") # 
-    file.write(f"{"":8s}") # 
-    file.write(f"{"":8s}") # spin-orbit skipped
+    file.write(f"{'':8s}") # real
+    file.write(f"{'':8s}") # 
+    file.write(f"{'':8s}") # 
+    file.write(f"{'':8s}") # spin-orbit skipped
     file.write(f"{4*pot.vsi:+08.4f}") # imag
     file.write(f"{pot.rsi0:+08.4f}") # 
     file.write(f"{pot.asi:+08.4f}\n") # 
@@ -162,7 +168,7 @@ with open(fileOutName, "w") as file:
     file.write(f"{-4*pot.vso:+08.4f}") # real
     file.write(f"{pot.rso0:+08.4f}") # 
     file.write(f"{pot.aso:+08.4f}") # 
-    file.write(f"{"":8s}") # spin-orbit skipped
+    file.write(f"{'':8s}") # spin-orbit skipped
     file.write(f"{-4*pot.vsoi:+08.4f}") # imag
     file.write(f"{pot.rsoi0:+08.4f}") # 
     file.write(f"{pot.asoi:+08.4f}\n") # 
@@ -173,8 +179,8 @@ with open(fileOutName, "w") as file:
     file.write(f"{A_c:+08.4f}")
     file.write(f"{Z_c:+08.4f}")
     file.write(f"{1.30:+08.4f}") # Coulomb radius
-    file.write(f"{"":8s}") # 
-    file.write(f"{"":8s}") # 
+    file.write(f"{'':8s}") # 
+    file.write(f"{'':8s}") # 
     file.write(f"{1:+08.4f}\n") # neutron spin x 2
     # Woods-Saxon
     file.write(f"{-1:+08.4f}") 
diff --git a/dwuck4/test.dat b/dwuck4/test.dat
new file mode 100644
index 0000000..28a4735
--- /dev/null
+++ b/dwuck4/test.dat
@@ -0,0 +1,26 @@
+1011000030000000    FE56(P,P)FE56* L=3-     SPIN ORBIT = OPTION 4               
++37.0000+00.0000+05.0000                                                        
++15+02+03+03                                                                    
++00.1000+00.0000+15.0000   
+
++22.5000+01.0078+01.0000+56.0000+26.0000+01.2500+00.0000+00.0000+01.0000        
++04.    -28.2   +01.25  +00.735 +00.    +00.    +01.25  +00.735 +00.            
++01.0000-46.3800+01.2500+00.7350+00.    +00.0000+01.2500+00.7350+00.0000        
+-02.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000  
+
+-04.4999+01.0078+01.0000+56.0000+26.0000+01.2500+00.0000+00.0000+01.0000        
++04.    -28.2   +01.25  +00.735 +00.    +00.    +01.25  +00.735 +00.            
++01.0000-46.3800+01.2500+00.7350+00.    +00.0000+01.2500+00.7350+00.0000        
+-02.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000  
+
++00.0000+01.0000+00.0000+56.0000+26.0000+01.2500+00.0000+00.0000+00.0000        
++02.0000-46.3800+01.2500+00.7350+00.    +00.0000+01.2500+00.7350+00.0000        
+-03.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000  
+
++00.0000+01.0000+00.0000+56.0000+26.0000+01.2500+00.0000+00.0000+00.0000        
++11.0000-46.3800+01.2500+00.7350+00.    +00.0000+01.2500+00.7350+00.0000        
++00.10    +03.
+-12.0000+00.0000+01.2500+00.4370+00.0000+61.4000+01.2500+00.4370+00.0000        
++00.10  +03.    
+
+9                    END OF DATA  DWUCK4 test cases
\ No newline at end of file