.PS 1.
\setlength{\parindent}{0em}


\begin{center}
{\Large\bf NuShellX@MSU}
.SK 2.

{\large B. A. Brown}
.SK 1.

{\sl
Department of Physics and Astronomy\\
and National Superconducting
Cyclotron Laboratory,\\
Michigan State University, \\
East Lansing, Michigan 48824-1321, USA}

.SK 1.
{\large W. D. M. Rae}
.SK 1.

{\sl
Garsington, Oxfordshire, OX44, UK}



\end{center}


!.PA
\tableofcontents

.PA
\section{Introduction}

This manual describes the version of NuShellX that can be used 
on Windows or Linux (64 bit).

NuShellX is set of programs for carrying out shell-model calculations with
dimensions up to about 10,000,000.
The main code NuShellX was written by W. D. M. Rae
and is documented in the file NuShellX.pdf.
NuShellX@MSU contains wrapper codes for input and output
similar in style to the Oxbash code, and 
comes with a library of model spaces and
interactions.
Any paper that is written using the NuShellX@MSU code should
contain a sentence of the type - "The calculations were carried out in the
x model space with the y hamiltonian (give source reference for the interaction) 
using the code NuShellX@MSU [1]".
If the model space, model-space truncation
or Hamiltonian is changed from the original reference
it must be discussed and justified in the text. 

Note that all calculations with NuShellX are in the proton-neutron
formalism. When *.sp files and *.int files in isospin formalism
are used, they are converted to proton-neutron formalism.
Calculations in isospin formalism only can be carried out with
the NuShell@MSU or Oxbash codes.

The complete listing
of model spaces and hamiltonians is given in the text file
label.dat in the sps folder. The folder sps contains some of the
well established hamiltonians with references. The reference for the
hamiltonians is usually given at the top of the *.int files. 
For most model spaces there are several hamiltonians (*.int files).
In order to determine which one to use, start with those
that have the most recent publications and read the
discussion in these papers. 
A review for interactions in light nuclei
is given in [2].

\begin{verbatim}
[1] The Shell-Model Code NuShellX@MSU, B. A. Brown and W. D. M. Rae,
Nuclear Data Sheets 120, 115 (2014).


[2] The Nuclear Shell Model Towards the Drip Lines,
B. A. Brown, Progress in Particle and Nuclear Physics 47, 517 (2001).
\end{verbatim}

.PA
\section{Installation}
\subsection{Windows setup}

Unzip the folders to
\begin{verbatim}
c:\aaa\
\end{verbatim}
so that the directory structure for nushellx is 
\begin{verbatim}
c:\aaa\nushellx\windows\  (windows login, exe and bat files)
c:\aaa\nushellx\help\
c:\aaa\nushellx\sps\    (input files - same for windows and linux)
c:\aaa\nushellx\toi\    (table of isotopes data - same for windows and linux)
\end{verbatim}
Go the nushellx-login folder
\begin{verbatim} 
c:\aaa\nushellx\windows\login
\end{verbatim}
Edit the file login.bat (if needed).

You may edit the file ed.bat to point to your text editor.

Copy the nushellx-login shortcut file to the desktop.
Right-click on the shortcut and then click on "properties."
Under the shortcut-tab in the 
line "start in" put the name of the aaa-nushellx-login folder
on your computer.
You may also want to change the font, layout and color options 
for the default screen.

This part only needs to be done once.

\subsection{Linux setup}

First you must install gfortran. Then unzip the folders to
\begin{verbatim}
...aaa/
\end{verbatim}
so that the directory structure for nushellx is 
\begin{verbatim}
...aaa/nushellx/linux/bin/   (linux executables)
...aaa/nushellx/help/   
...aaa/nushellx/sps/    (input files - same for windows and linux)
...aaa/nushellx/toi/    (table of isotopes data - same for windows and linux)
\end{verbatim}

\subsection{Logging into nushellx with Windows}

Left-click on the command-prompt (setup as above). This command goes to the 
nushellx-login folder and executes the login.bat command. 
Login.bat initializes the path so that the exe and bat files 
in the nushellx-windows folder
can be used. 
Some special *.bat files in this nushellx-windows folder are listed below.

\subsection{Logging into nushellx with Linux}

You will need a 
\begin{verbatim}
.bash_profile 
\end{verbatim}
file that contains (example given by my path names):

\begin{verbatim}
nuxhome=/mnt/home/brownbo
export PATH=$nuxhome/aaa/nushellx/linux/nushellx-gfortran-bin:$PATH
export nushellx_sps=$nuxhome/aaa/nushellx/sps/
export mass_data=$nuxhome/aaa/nushellx/toi/mass-data/
export toi_data=$nuxhome/aaa/nushellx/toi/toi-data/
\end{verbatim}

There is a sample bash file in the linux folder.
To make linux commands alias names for some common 
windows commands the followings can be defined in the bash file:

\begin{verbatim}
alias copy=cp
alias del=rm
alias q='qstat -u brownbo'
alias qall='checknode -v ifi-003'
alias sd='cd'
alias di='ls -g -l -a'
alias dis='ls -tr -l -g -a'
alias d='ls -l | egrep ^d'
alias ed='vi'
alias md='mkdir'
\end{verbatim}


.PA
\section{Using the batch file system}
\subsection{Some useful Windows commands}

{\bf dir} - make a listing of all files in the current folder

{\bf cd x} - go to folder x, where x specifies a subfolder or the full directory structure.

.ED OFF
{\bf cd ..} - go to the parent folder
.ED ON

{\bf md x} - make a subfolder with the name x

{\bf copy x y} - will copy files from x to y, e.g. 

\subsection{Special commands (the *.bat files in nushellx-login)}

{\bf sd x} (Windows only) - if x is one of the following, the command prompt will move 
directly to one of the nushellx folders
\begin{verbatim}
login - login files
help  - help files
sps   - *.sp and *.int files and the label.dat file
rsh   - c:\rsh-nushellx, the suggested scratch folder name 
\end{verbatim}

{\bf shell} - runs the nushellx code for making the *.bat files for calculations

{\bf ed x} - is {\bf editor x} where x is the file name
and {\bf editor} is the name path specified in ed.bat in the login folder.

(Note - do not use {\bf edit}. By Windows default this brings 
up a screen for an old and hard to use editor)

{\bf di} - makes a listing of all files in the current folder.
You can use x*y.z to get specific types of files. 

{\bf dis} - same as {\bf di} but files are listed in order of data made
with the latest being last.

{\bf d} - list of directories.

{\bf save} - copy all of the files to be kept to the subfolder save using the list
from save.dat in the sps folder.




.PA
\section{Basic input commands}
\subsection{Doing a shell-model calculation}

After logging into nushellx type the following (replace x and y with your own names)

\begin{verbatim}
sd rsh   - goes to the rsh-nushellx folder (make the folder if it is not already made).
md x     - make the subfolder x (if it is not already made)
sd x     - goes to the subfolder x
shell    - answer the questions - call the batch file, for example, "test"
test     - runs the batch file made by shell
save     - (at the end) save the stuff to keep in the subfolder save
\end{verbatim}

Once the subfolder is made, one can go to this folder and use it for any
number of batch files. Shell makes unique names for all of the files (see below). 


\section{Input libraries}

The folders sps contains previously made input files for the
model space (*.sp) and hamiltonians (*.int). The file label.dat in the 
folder sps contains
a list of available model space and hamiltonian combinations. The file
label.dat is used to make names for the output files.

When shell is run with a given model space and interaction
it looks for the input files (label.dat, *.sp and *.int) in 
the following folders\\
1) first in the current folder\\
2) next in the sps folder.

When the *.int files are modified it is best to first copy them from
sps folder to the current working folder.





.PA
\subsection{Sample inputs for shell}


Answers to shell for the $(20)Ne J=0$+ to J=8$+, wavefunctions in the sd shell.

\begin{verbatim}
ne20     - the batch file name
lpe      - the option to calculate wave functions (a)
sd       - model space name (b)
         - no restrictions (yes/no)
w        - interaction name
10       - number of protons
20       - number of nucleons
0.,8.    - min,max J 
0        - parity
st       - stop

\end{verbatim}

Notes:

A blank line can be used in place of  {\bf n} (no),
{\bf 0.}, {\bf 0} or {\bf st}

The energies for each state and some information
on the wavefunctions are found in the *.lpe files.
The energies for all levels in $(20)Ne
are found in the file ne200.lpt.
The energies can be compared against those given at
\begin{verbatim}
http://www.nscl.msu.edu/~brown/resources/SDE.HTM
\end{verbatim}

a) The default value for the number of convered wavefunctions is 10. If you
want a larger number modify the *.nieg file after running shell and 
before running the
batch job.

b) The default label for the model space name is in the
file label.dat. If you want to use another symbol type
(in this example) sd,a where "a" will be the new symbol.
In the model space and interaction are not in label.dat the
"x" is used for the model space label and "y" is used for the
interaction label.


.PA
Answers to shell for the $(20)Ne J=0$+ and J=2$+ wavefunctions in the sd shell
space followed by a calculation for the 0$+ to 2$+
and 2$+ to 2$+ one-body transition density for M1 and E2. 

\begin{verbatim}
ne20t    - the batch file name
lpe      - the option to calculate wave functions
sd       - model space name 
         - no restrictions (yes/no)
w        - interaction name
10       - number of protons
20       - number of nucleons
0.,2.,2. - min,max,delta J 
0        - parity
--------------------------------- (a)
den      - the option to calculate overlaps between two wavefunctions
t        - the one-body transition density overlap option
bw2400   - the name of the initial state (b)
1        - number of initial states
bw2400   - the name of the final state
5        - number of final states
0.,2.,2. - min,max,delta J for initial state
0.,2.,2. - min,max,delta J for final state
y        - restrict the tensor ranks for the one-body operator (c)
1.,2.    - min, max tensor-rank (for M1 and E2 in this case)
st       - stop
\end{verbatim}

Notes:

a) If the wavefunctions have been calcualted previously you 
may start here to make a batch file for the transition density.
(It is recommended to give the
wavefunction and one-body transition batch files difference names).

b) In the names bw2400 and bw2400 the last characters ("0" in this case)
dummy letters that will be 
filled in after the min, max questions are answered.

c) If you want all possible tensor ranks type a blank line here and the 
next line will be skipped.




.PA
Answers to shell for the spectroscopic factor between 
$(19)F J=1/2$+ and $(20)Ne J=0$+ in the sd shell. 
The dashed lines separate different part of the input.

\begin{verbatim}
ne20s  - the batch file name
--------------------------------- 
lpe      - the option to calculate wave functions
sd       - model space name 
         - no restrictions (yes/no)
w        - interaction name
10       - number of protons
20       - number of nucleons
0.       - min,max J 
0        - parity
--------------------------------- 
lpe      - the option to calculate wave functions (a)
 9       - number of protons
19       - number of nucleons
0.5      - min,max J 
0        - parity
--------------------------------- 
den      - the option to calculate overlaps between two wavefunctions
1        - the spectroscopic factor overlap option
bw1301   - the name of the initial (core) state 
1        - number of initial states
bw2400   - the name of the final (overlap) state
5        - number of final states
0.5      - min,max J for initial state
0.       - min,max J for final state
         - restrict the tensor rank (no restrictions)
st       - stop
\end{verbatim}

a) Note that when lpe is run the second time the information
on model space, restrictions and interaction is not entered again.


\subsection{Sample inputs for $(22)Ne}

The folder ne22 contains *.ans files for examples and for testing the code.
ne22lpe.ans - is the input for wavefunctions and energy spectra
for 22Ne and surrounding nuclei.
ne22den.ans - is the input for gamma decay in 22Ne, Gamow-Teller charge
exchange from 22Ne, one nucleon spectroscopic factors from 22Ne
and two-nucleon transfer amplitudes from 22Ne. The ne22den.ans file
is also devided into seperate inputs. The save folder contains the results
of these calculations.

.PA
\section{Model space truncations}

In the examples given in the previous section the answer 
to the question for
"any restrictions" was "n" (or blank) for "no". If you want to put 
restrictions on partitions that are allowed answer "y" for "yes".
Shell will then ask for the type of restriction you want from the
list of options\\
(s) subshell restrictions\\


When "s" is chosen, shell will ask for the minimum and maximum number
of nucleons for each orbital. (NuShellX does not work for &h^w type
truncations. For this you will need to use the code Oxbash or NuShell.)




.PA
\section{The *.nux files}

Files labeled *.nux are special control inputs.

iso.nux (before running shell):
If this file exists we calculate the expectation value of T$2.
The output files are *.iso and *.lol.

fastin.nux (before running shell):
A MPI type batch for the den(t) option was implemented for windows in Feb 2017.
Inside shell, ifast = 1 uses the new batch system, ifast = 0 uses the old sequential system.
The defaults are ifast = 1 fow windows and ifast = 0 for linux.
To override this default for windows make a file called fastin.nux and put 0 or 1 at the top.

maxj2.nux (before running shell):
The default value for the maximum value for 2xJp and 2xJn
in (JpxJn)J are the maximum allowed in the model space. For example
for 21Ne in the sd-shell the 2xJpmax=8 and 2xJnmax=11. To decrease these
values  make a file called maxj2.nux and put the new values for 2xJpmax and 2xJnmax
in the first line.

nimin.nux: (nutra.f90) The default value for the minimum (min) value of the initial
state index for transition matrix element is one (min=1). 
(The max value is entered in shell). To change the value make a file called 
nimin.nux and put the value for min in the first line.

maxdj.nux (nupom.f90). The default value is the maximum possible for the
a+(j1)a(j2) operator determined by the j1 and j2 values. To reduce this
make a file called maxdj.nux and put the max value in the first line.

converge.nux (nucorex.f90, nulnz). Use this to change the converge
criteria for the change in the eigenvalues from its default value of 0.0005 keV
during the run.
Make a file called converge.nux and put
the new value in the first line.

iter.nux (nucorex.f90, nulnz). Use this to change the maximum 
number of interations during the run. The default value depends
on the case and is printed in the *.cpu file during the run.
Make a file called iter.nux and put
the new value in the first line.


.PA
\section{Description of some other programs}

{\bf shell} makes a batch file {\bf y.bat} that coordinates the program 
sequence and their inputs. 
The input is the answers to a series of questions. Alternatively, the input
is from a  {y.ans} file that has been made by a previous run of shell or
by hand.


{\bf tbme} generates a set of JT-coupled two-body matrix elements for
a wide variety of two-body potential models.

{\bf dens} calculates the radial wavefunctions for a given nucleus with
 oscillator, Woods-Saxon or Skyrme Hartree-Fock potentials and reads the *.obd
from nushellx to calculated B(EL), B(ML) and B(GT) values. Sample inputs
for dens are given in a separate section.

{\bf prs} calculates values for Clebsch-Gordan, 3j, 6j and 9j coefficients.

.PA
\section{Phase conventions}

Phase conventions enter into the one-body transition densities.
They are defined by the calculation of the Hamiltonian matrix elements. 
The radial wavefunction is positive at near ..r=0...
..|j> = |[&l \otimes s ]$j>....
The wavefunctions are real and do not contain any (i)$&l factor.
The Edmonds reduced matrix element convention is used.

.PA
\section{Conversion of isospin to proton-neutron two-body matrix elements}

The conversion of normalized isospin wavefunctions to normalzied
proton-neutron (..pn..) wavefunctions is (..a \neq b..):
..
|a a,J>_(pp) = |a a,J=even,T=1>
..
..
|a b,J>_(pp) = |a b,J,T=1> 
..
..
|a a,J=even>_(pn) = |a a,J=even,T=1>
..
..
|a a,J=odd>_(pn) = |a a,J=odd,T=0>
..
..
|a b,J>_(pn) = sq\frac{1}{2} [ |a b,J,T=1> + |a b,J,T=0> ]
..

Thus the normalized proton-proton (and neutron-neutron) matrix
elements are just the ..T=1.. matrix elements, and the normalized
proton-neutron matrix elements are (..a \neq b.. and ..c \neq d..):
..
<a a,J|V|c c,J>_(pn)
= <a a,J,T=1|V|c c,J,T=1> + <a a,J,T=0|V|c c,J,T=0> 
..
..
<a b,J|V|c c,J>_(pn)
= sq\frac{1}{2} [ <a b,J,T=1|V|c c,J,T=1> + <a b,J,T=0|V|c c,J,T=0> ]
..
..
<a a,J|V|c d,J>_(pn)
= sq\frac{1}{2} [ <a a,J,T=1|V|c d,J,T=1> + <a a,J,T=0|V|c d,J,T=0> ]
..
..
<a b,J|V|c d,J>_(pn) 
= \frac{1}{2} [ <a b,J,T=1|V|c d,J,T=1> + <a b,J,T=0|V|c d,J,T=0> ]
..
In the first three of these equations one of the matrix elements on the right-hand
side is zero. 

Nushellx uses unnormalized proton-neutron matrix elements (..upn..) of the form
..
<a a,J|V|c c,J>_(upn) = [ <a a,J,T=1|V|c c,J,T=1> + <a a,J,T=0|V|c c,J,T=0> ]
..
..
<a b,J|V|c c,J>_(upn) = [ <a b,J,T=1|V|c c,J,T=1> + <a b,J,T=0|V|c c,J,T=0> ]
..
..
<a a,J|V|c d,J>_(upn) = [ <a a,J,T=1|V|c d,J,T=1> + <a a,J,T=0|V|c d,J,T=0> ]
..
..
<a b,J|V|c d,J>_(upn) = [ <a b,J,T=1|V|c d,J,T=1> + <a b,J,T=0|V|c d,J,T=0> ]
..

In the proton-neutron interaction (*.int) file there is a label ..T'...
For the pp
and nn matrix elements you must have ..T'=1...
If you are given a 
set of normalized proton-neutron matrix elements they must be converted
into unnormalized matrix elements to use in nushell:
..
<a a,J,T'|V|c c,J,T'>_(upn) = <a a,J|V|c c,J>_(pn) \,\, (J+T'=,,odd,,)
..
..
<a b,J,T'|V|c c,J,T'>_(upn) = sq2 <a b,J|V|c c,J>_(pn) \,\, (J+T'=,,odd,,)
..
..
<a a,J,T'|V|c d,J,T'>_(upn) = sq2 <a a,J|V|c d,J>_(pn)  \,\, (J+T'=,,odd,,)
..
..
<a b,J,T'|V|c d,J,T'>_(upn) = 2 <a b,J|V|c d,J>_(pn)  \,\, (T'=0,1)
..

When the upn matrix elements are obtained from a set of good isospin
matrix elements both matrix elements (with ..T=0.. and ..T=1..) can be
used with ..T'=T... {\bf When the upn matrix element is obtained
from normalized pn matrix elements one must have T=1 for pp and nn
and J+T'=odd for pn except for the last line above where T'=0 can be used.}





.PA
\section{File names}
\subsection{Files made by shell}

y.bat - Windows batch file for program sequence


y.ans - a copy of the answers to the shell questions. If the *.ans 
file already exits it can be modified by notepad, and then used to answer
the shell questions as follows:
\begin{verbatim}
shell
y.ans
\end{verbatim}
 For a series of calculations it may be efficient to generate the *.ans file 
(or files) with another program.

y.mit - a list of the hamiltonians and their normalizations. In some cases the 
hamiltonian may be broken into two or more parts. To change the 
details of the hamiltonian
input copy the y.mit file to a file called "input.mit", then edit this file.
The values in "input.mit" will override the default values from shell. 

.PA
\subsection{Names for the wavefunction and overlap files}

The first part of the file name for wavefunctions has the six letter form {\bf abxypj}
where:
 
\begin{verbatim}
a - symbol for the model space found in label.dat
b - symbol  for the interaction found in label.dat
x - sympol for the number of valence protons
y - symbol for the number of valence nucleons
p - symbol for the parity (0 for + and 1 for -)
j - symbol for two times the spin from the list below

\end{verbatim}

The first part of the names for overlaps has the nine letter form
{\bf ABXYPJ_xypj} where {\bf ABXYPJ} is the name of the initial state
and {\bf xypj} is part of the
name of the final state.


If the model space and interaction name do not exist in label.dat they
will be assigned the names {\bf x} and {\bf y}, respectively.

The symbols for J, T and N correspond to the following numbers
\begin{verbatim}
0 - 0     k - 20    f - 40    0 - 60    h - 80    f - 100   0 - 120
1 - 1     l - 21    g - 41    1 - 61    l - 81    g - 101   1 - 121
2 - 2     m - 22    h - 42    2 - 62    m - 82    h - 102   2 - 122
3 - 3     n - 23    i - 43    3 - 63    n - 83    i - 103   3 - 123
4 - 4     o - 24    j - 44    4 - 64    o - 84    j - 104   4 - 124
5 - 5     p - 25    k - 45    5 - 65    p - 85    k - 105   5 - 125
6 - 6     q - 26    l - 46    6 - 66    q - 86    l - 106   6 - 126
7 - 7     r - 27    m - 47    7 - 67    r - 87    m - 107   7 - 127
8 - 8     s - 28    n - 48    8 - 68    s - 88    n - 108   8 - 128
9 - 9     t - 29    o - 49    9 - 69    t - 89    o - 109   9 - 129
a - 10    u - 30    p - 50    a - 70    u - 90    p - 110   a - 130
b - 11    v - 31    q - 51    b - 71    v - 91    q - 111
c - 12    w - 32    r - 52    c - 72    w - 92    r - 112
d - 13    x - 33    s - 53    d - 73    x - 93    s - 113
e - 14    y - 34    t - 54    e - 74    y - 94    t - 114
f - 15    a - 35    u - 55    f - 75    a - 95    u - 115
g - 16    b - 36    v - 56    g - 76    b - 96    v - 116
h - 17    c - 37    w - 57    h - 77    c - 97    w - 117
i - 18    d - 38    x - 58    i - 78    d - 98    x - 118
j - 19    e - 39    y - 59    j - 79    e - 99    y - 119
\end{verbatim}


.PA
\subsection{*.ext names for the outputs}

The "save" command will copy all of these files to a subdirectory 
called save. The files saved (the list below) are in the save.dat file in the
sps folder.
\begin{verbatim}
sps is the sps data folder, x is the nushellx program run in the batch
           from     to    
*.ab       x                  tri-diagaonal matrix              
*.ans               shell     shell input file with answers to questions
*.bat      shell    x         shell output with scripts for running x
*.bei      dens     beta      made with *.ben file for GT
*.ben      shell    dens      input for GT beta decay matrix elements
*.beq      shell    beta      beta input for GT beta decay
*.beo      beta               beta output for GT beta decay
*.bgt      dens               made with *.ben file
*.bm1      gamma              list of B(M1) values, Ef-Ei, B, sum B, Ji, Jf
*.be2      gamma              list of B(E2) values, Ef-Ei, B, sum B, Ji, Jf
*.cpu      x                  log of *.bat that contains cpu times
*.dei      dens     gamma     made with *.den file for M1 and E2
*.dai      sps      beta      xfg and fgtw input files for beta phase space   
*.dat                         input control files for shell and x
*.den      shell    dens      input for M1 and E2 matrix elements
*.deo      gamma              gamma decay scheme for M1 and E2
*.det      gamma              gamma decay half-lives
*.dim      shell              dimensions
*.eps      levp               postscript figure of energy levels, B(M1) and B(E2)
*.pdf      cps                pdf version of eps files
*.fid      shell              list of files to make accumulated *.lsf with nulsf
*.fil      shell              list of files to make *.lpt with nulev
*.int      sps                Hamiltonian files
*.iso      nuxpt              Information on isospin and isospin mixing (if iso.nux is present)
*.lev      nulev    levp      theory energies input to levp
*.lpe      x                  list of eigenfunction properties
*.lpt      nulev              accumulated level scheme based on *.fil input
*.ls       x                  Jp Jn decomposition of wf
*.lp       x                  partition decomposition of wf
*.amp      x                  ampitude decomposition of wf (made if amp.nux if present)
*.lsa      nulsf              spectroscopic amplitudes (with sign)
*.lsf      nulsf              spectroscopic factors
*.mit      shell              list of Hamiltonians to be added together
*.map      map                makes *.eps for B(M1) and B(E2)
*.npar     shell              list of neutron partitions
*.ppar     shell              list of proton partitions
*.nux                         special condition files
*.plt      dens               data to plot with top(cps)
*.obd      nulsf              one-body transition densities
*.occ      x                  accumulated levels with occupation numbers
*.ov       shellx2            expectation values of two-body scalar operators
*.sp       sps                model space information
*.tna      nulsf              two-nucleon amplitudes
*.top      levp               input to make the *.eps figures 
\end{verbatim}
.PA
\section{Short history of NushellX}

\begin{verbatim}
1976  Oxbash conception (W. D. M. Rae and C. H. Zimmerman).
 
1978  Working PDP10 version (N. S. Godwin and W. D. M. Rae).
 
1980  First VAX version with MACRO multiple-integer words,
      (A. Etchegoyen, B. A. Brown, W. A. Richter, 
      N. S. Godwin and J. S. Winfield).
 
1982  General overall upgrade, multiple-integer words used 
      for partitions (A. Etchegoyen and W. D. M. Rae).
 
1983  BASIS speeded up (J. S. Winfield). Documentation and 
      general organization added (B. A. Brown).
 
1986  Upgrade to standard FORTRAN and preparation for
      use on the FPS-164 array processor (W. E. Ormand).
      (As of Nov 1988 the FPS versions are no longer being
      used.)
 
1988  Changes made to make OXBASH CRAY compatible (L. Zhao). 
      General two-body interaction code added (B. A. Brown).
 
1994  Unix version and anonymous FTP (M. Horoi).

2004  Windows PC version (B. A. Brown).

2007  Nushell is a completely rewritten code in Fortran 
      95 by W. D. M. Rae. Nushell@MSU is the
      nushell core program with input and output
      formats in the Oxbash style.
      
2008  NuShellX is a completely new code written code in Fortran 
      95 by W. D. M. Rae. It starts with input from Nushell 
      to create proton-neutron basis states.
      NuShellx@MSU is the NuShellx core program with input and output
      formats in the Oxbash style.
      
2009- many changes and additions to the code by Alex Brown
\end{verbatim}

.PA
\section{Sample formats for the *.sp and *.int files}
\subsection{General information on the *.sp and *.int files}

The basic input files for oxbash are *.sp and *.int. The *.sp file specifies the
single particle states. The *.int file specifies the hamiltonian. Sample
files formats are given below.



The SPE are always read 
from the *.int file. Thus, if only the SPE are changed in the *.int file
the *.op file does not have to be deleted.


.PA
\subsection{Sample SP file in isospin formalism (p.sp)}

\begin{verbatim}
! p.sp
t            t = isospin formalism
4 2          a and z of core
2            number of orbits
1 2          number of major shell and number of orbits in each
1 1 1 1      1st orbit n,l,2j
2 1 1 3
\end{verbatim}


.PA

\subsection{Sample SP file in proton/neutron formalism (ppn.sp)}

\begin{verbatim}
! ppn.sp
pn           pn = proton-neutron formalism
4 2          a and z of core
4            number of orbits
2 2 2        2 major shell, number of proton orbtis, number of neutron orbits
1 1 1 1      1st orbit n,l,2j
2 1 1 3
3 1 1 1
4 1 1 3
\end{verbatim}


.PA
\subsection{Sample INT file in isospin formalism (ckpot.int)}

\begin{verbatim}
! ORDER IS:  1 = 1P1/2    2 = 1P3/2
    15      2.420  1.130
   1   1   1   1        0   1      0.24
   1   1   1   1        1   0     -4.29
   2   1   1   1        1   0      1.20
   2   1   2   1        1   0     -6.56
   2   1   2   1        1   1      0.73
   2   1   2   1        2   0     -4.06
   2   1   2   1        2   1     -1.14
   2   2   1   1        0   1     -5.05
   2   2   1   1        1   0      1.77
   2   2   2   1        1   0      3.21
   2   2   2   1        2   1     -1.74
   2   2   2   2        0   1     -3.33
   2   2   2   2        1   0     -3.44
   2   2   2   2        2   1      0.09
   2   2   2   2        3   0     -7.27
\end{verbatim}


     The first line and any subsequent line with a "!" in
front is header information not used by the programs. NMAT
in the second line is the number of matrix elements. This
number is not used but OPER will give a warning message if
the number of inputs differs from NMAT. The remaining
entries in the second line are the single-particle
energies. Then comes a list of the matrix elements in the
form I1,I2,I3,I4,J,T,tbme where I is the orbit index number.
The input is aways read in "free" format. Tbme is the
value of the two body matrix element.

.PA
\subsection{Sample INT file in proton/neutron formalism (ckpotpn.int)}\

\begin{verbatim}
 ! 1=P1P1/2 2=P1P3/2 3=N1P1/2 4=N1P3/2
    44   2.42000   1.13000   2.42000   1.13000
    1   1   1   1   0  1    0.24000
    2   1   2   1   1  1    0.73000
    2   1   2   1   2  1   -1.14000
    2   2   1   1   0  1   -5.05000
    2   2   2   1   2  1   -1.74000
    2   2   2   2   0  1   -3.33000
    2   2   2   2   2  1    0.09000
    3   3   3   3   0  1    0.24000
    4   3   4   3   1  1    0.73000
    4   3   4   3   2  1   -1.14000
    4   4   3   3   0  1   -5.05000
    4   4   4   3   2  1   -1.74000
    4   4   4   4   0  1   -3.33000
    4   4   4   4   2  1    0.09000
    1   3   1   3   0  1    0.24000
    1   3   1   3   1  0   -4.29000
    2   3   1   3   1  0    1.20000
    1   4   1   3   1  0   -1.20000
    2   3   2   3   1  0   -6.56000
    1   4   2   3   1  0    6.56000
    2   3   1   4   1  0    6.56000
    1   4   1   4   1  0   -6.56000
    2   3   2   3   1  1    0.73000
    1   4   2   3   1  1    0.73000
    2   3   1   4   1  1    0.73000
    1   4   1   4   1  1    0.73000
see ckpotpn.int for the rest of this input
\end{verbatim}

The proton-proton and neutron-neutron matrix elements 
are just those for T=1 in the isospin formalism. {\bf The 
proton-neutron matrix elements are not in the standard
formalism, but must be converted from the isospin T=0
and T=1 matrix elements as in this example - compare with
the ckpot.int matrix elements.}

.PA

\section{Orbit labels}

\begin{verbatim}

   k  n l  j   magic   | group
               numbers | names
----------------------------------
   1  0 s 1/2    2
   
   2  0 p 3/2           |
   3  0 p 1/2    8      |  p        
--------------------
   4  0 d 5/2   14      |
   5  0 d 3/2           | sd
   6  1 s 1/2   20      |
--------------------             
   7  0 f 7/2   28      |
   8  0 f 5/2      |    | fp (pf)
   9  1 p 3/2      |    |
  10  1 p 1/2   40 | j4 |                  
  11  0 g 9/2   50 |   
--------------------
  12  0 g 7/2      |
  13  1 d 5/2      |
  14  1 d 3/2      | j5  
  15  2 s 1/2      |                   
  16  0 h 11/2  82 |
--------------------     
  17  0 h 9/2      |
  18  1 f 7/2      |
  19  1 f 5/2      | j6
  20  2 p 3/2      |
  21  2 p 1/2      |                      
  22  0 i 13/2 126 | 
--------------------  
  23  0 i 11/2     |
  24  1 g 9/2      |
  25  1 g 7/2      |  
  26  2 d 5/2      | j7    
  27  2 d 3/2      |
  28  3 s 1/2      |                         
  29  0 j 15/2 184 |
\end{verbatim}

\newpage

\section{Sample inputs for Dens}


\subsection{Ground state densities}

To obtain the ground state density for $(208)Pb with the SKX Skyrme 
hamiltonian:
\begin{verbatim}
dens
fn       - change filenane for outoput (default=dens.dao)
pb208      filename
az       - to input A and Z values
208,82     the A and Z values
cp       - to setup the potential model (change potential)
sk20       the Skx Skyrme interaction
gd       - do the calculation for the Ground state Density
st       - stop
\end{verbatim}

To find all of the potential model available type h after cp.
In this list you will see that sk20 corresponds to Skx.

\subsection{B(EL) and B(ML) values}

(In many cases this will automaticaly be run to produce a gamma
decay scheme.)

To calculate the B(M1) in $(20)Ne between the first
2$+ state and the second 2$+ state
\begin{verbatim}
dens
az            - to input A and Z values
20,10         - the A and Z values
mh            - start the calculation for oscillator B value
M1,10         - 10 indicates the how the obd will be read
2.,2.         - J_i, J_f, T_i, T_f (if different from the defaults)
1,2,1,1,16,bw2404_2404   - n_i, n_f, p_i, p_f, A_c, name of OBD file 
st            - stop
\end{verbatim}


The n_i and the n_f is the state number, -n will loop from 1, to n.
When n=-999 the loop if from 1 to all states in the obd file.
p_i and p_f are the parities, 1 for + and -1 for -. A_c is the mass of
core for the model space ($(16)O in this case).



To calculate the B(E2) in $(20)Ne between the first
0$+ state (ground state) and the first 2$+ using the default oscillator
value of &h^w = 45A$(-1/3)-25A$(-2/3):
\begin{verbatim}
dens
az       
20,10    
mh       - start the calculation for oscillator B value
E2,10    - 10 indicates the how the obd will be read
0.,2.    - J_i, J_f, T_i, T_f (if different from the defaults)
1,1,1,1,16,bw2400_2404   - n_i, n_f, p_i, p_f, A_c, name of OBD file 
st       - stop
\end{verbatim}

To use a b-value of 2.5 fm for the oscillator, do the following just
beore MH:
\begin{verbatim}
CP
HO,2.5
\end{verbatim}

To use an &h^w-value of 14.0 MeV for the oscillator, do the following just
beore MH:
\begin{verbatim}
CP
HO,-14.0
\end{verbatim}

To use another potential model such as SKX, do the following:
\begin{verbatim}
dens
az      
20,10   
cp
sk20
gd
td      
E2,10    
0.,2.    - J_i, J_f, T_i, T_f (if different from the defaults)
1,1,1,1,16,bw2400_2404
st       
\end{verbatim}

To calculate the electron scattering form
factor for the $(20)Ne transition with SKX:
\begin{verbatim}
DENS
az      
20,10   
cp
sk20
gd
ff       - start the form-factor calculation
E2,10    
0.,2.    
1,1,1,1,16,bw2400_2404
st       
\end{verbatim}


\subsection{B(GT) values}

(In many cases this will automatically be run.)

\vspace{ 12pt}
To calculate B(GT) values from state J$_{i}$ to all states with J$_{f}$
\begin{verbatim}
dens
az
20,10,9     - the A, Z_i, Z_f values
gt
M1,10       - 10 indicates the how the obd will be read
2.,2.,0.,1. - J_i, J_f, T_i, T_f (if different from the defaults)
1,-999,1,1,16,bw2404_1404   - n_i, n_f, p_i, p_f, A_c, name of OBD file
st
\end{verbatim}


\subsection{Nested inputs for Dens, the *.den files}

Any of the inputs given in the example above can
be made in terms of a *.den file. For example, the
$(20)Ne electron scattering calculation can be done as
\begin{verbatim}
dens
ne
ne20ff
st
\end{verbatim}
where ne20ff refers to another file called ne20ff.den that 
contains
\begin{verbatim}
az
20,10   
cp
sk20
gd
ff       - start the form-factor calculation
E2,10    
0.,2.    
1,1,1,1,16,bw2400_2404 
RE
\end{verbatim}    
The *.den file can end with "re" that means return
to the main input stream or "st" that ends the
calculation. These type of inputs can be nested to
any level. They are convenient for defining files
that define aspects of the calculation like the
potential models and the effective operator
parameters.   


\section{Gamma decay}

(In many cases the following will automatically be run.)

Proceedure for generating a gamma decay spectrum for nucleus x

\begin{verbatim}
1) Run shell with lpe and den(t) to obtain the *.obd files for 
   all transitions

2) Edit the *.den file if needed.

3) Run dens by doing with the following input

dens
ne
x

7) Type

gamma x

8) Data output is in x.deo.
\end{verbatim}




\end{document}



\subsection{Logging into nushellx with Mac}

You will need a 
\begin{verbatim}
.bash_profile 
\end{verbatim}
file that contains (example given by my path names):

\begin{verbatim}
nuxhome=/mnt/home/brownbo
export PATH=$nuxhome/aaa/nushellx/mac/bin-mac-intel:$PATH
export nushellx_sps=$nuxhome/aaa/nushellx/sps/
export mass_data=$nuxhome/aaa/nushellx/toi/mass-data/
export toi_data=$nuxhome/aaa/nushellx/toi/toi-data/
\end{verbatim}



