Computer code MRM


0. Contents

1. Preliminary remarks
2. Data file TAPE1
3. Data file INPUT
4. Result file OUTPUT
5. Result file TAPE2
6. Result file tapetab
7. COMMON lengths
8. Test of TAPE1

1. Preliminary remarks

1.1. All angular momenta j are represented as integers in the code and in the data with the following convention which is used throughout:

- if j is integer, the integer value J = j is entered

- if j is half-integer, the integer value J = 2j is entered.

Note that the code always knows whether an angular momentum is integer or half-integer from the nucleon numbers.

1.2. A partition corresponds to a division of the system of nucleons into two nuclei. A partition may involve several channels. A channel requires the additional definition of the internal states of these nuclei.

1.3. Most data are entered from a file TAPE1 which essentially contains information about the different channels and the GCM matrix elements. Data about the conditions of the collisions such as the energy are entered from the INPUT file.

1.4. All data described below are followed by their FORMAT which also indicates the type of the variable (e.g. I3 represents an INTEGER variable composed of three characters and F8 represents a REAL variable composed of 8 characters)

1.5. Some data need not be given; they are then replaced by the quoted DEFAULT value.

1.6. The computer memory is assumed to be initialized at the value zero (LOGICAL variables are assumed to be initialized to .FALSE.). If it is not the standard option of the computer, it may require a special control statement.

1.7 Wave functions, collision matrices and cross sections are printed on the file TAPE2.

1.8 The nucleon-nucleon interaction is allowed to depend linearily on (at most) 2 parameters. In other words, all Hamiltonian matrix elements are written as

H=H0 + XM* HM +(VSO/vv0)*HSO

where XM and VSO are inputs, and vv0 is a normalization factor (see line 5).

These parameters will be referred to as the Majorana and spin-orbit parameters, but they can be replaced by any other parameters involved linearily in the Hamiltonian.


2. Data file TAPE1

The first lines (of type 1 to 6) are a prologue which contains the physical and numerical information about the GCM matrix elements which form the main part of this file.

2.1. Prologue


NK (I3) : number of partitions (see 1.2) of the total nucleon number NA = NA1 + NA2 and total charge number NZ = NZ1 + NZ2 (DEFAULT: 1) ;if NK < 0 see below

NBOS (I3) : number of oscillator parameters in the asymptotic region (1 or NK, DEFAULT: 1); if NBOS < 0, format 4E20.13 in the main body (see below)

NPAR (I3) : number of parities (1 or 2, DEFAULT: 1) [abs(NPAR)]
if NPAR = 1, only natural parities are considered;
if NPAR < 0, distortion is allowed (see sect. 2.2)

TITLE (7A10) : title of the file

For k = 1 to NK, repeat the following set of lines


Line 2: NA1, NA2, NZ1, NZ2, NPRO, JPAIR, KA

NA1 (I3) : number of nucleons in nucleus 1

NA2 (I3) : number of nucleons in nucleus 2

NZ1 (I3) : number of protons in nucleus 1 [abs(Z1)]

NZ2 (I3) : number of protons in nucleus 2

if NZ1 < 0, the matrix elements allow a calculation of the mirror reaction with NZ1'= NA1 abs(NZ1) and NZ2'= NA2 - NZ2 (see below)

NPRO (I3) : number of channels in partition k (DEFAULT: 1)

JPAIR(I3) : JPAIR = 2 forces the code to consider only even values of the total angular momentum (DEFAULT: 0)

KA (I3) : multiplicative factor of all the GCM matrix elements (1 in general, DEFAULT:1)

For given k, for i = 1 to NPRO, repeat the line

Line 3: I1, I2, NORM, NII1, NII2, NY

I1 (I3) : parity and spin of nucleus 1 (see remark 1.1)

I2 (I3) : parity and spin of nucleus 2 (The parity is given by the sign of I1 or I2)

NORM (I3) : multiplication factor of the matrix elements in the considered channel (DEFAULT:1)

NII1 (I3) : if NPAR < 0, number of basis states of nucleus 1

NII2 (I3) : if NPAR < 0, number of basis states of nucleus 2

NY (I3) : number of generator coordinates in the considered channel ; must be £ NP (DEFAULT: NP, see below)



Line 4: NP, LV

NP (I3) : number of values of the generator coordinate

LV (I3) : largest total angular momentum

Line 5: (TT(I),I=1,NI), (B(I)=1,NBOS), (TTS(I),I=1,NI), VV0, (TTM(I),I=1,NI) (format 10F8)

where the number of channels NI is equal to the sum of the NPRO

(this "line" may take more than 80 characters and extend over several lines)

TT(I) (F8) : threshold of channel I with spin-orbit and Majorana (or other) parameters set to zero (if TTM(1) = 0, the Majorana parameter is set to its actual value)

B(I) (F8) : Ith oscillator parameter b (see NBOS) (in practice, NBOS must be 1)

TTS(I) (F8) : spin-orbit threshold of channel I (if the spin-orbit strength VV0 is zero, these numbers are equal to zero, but must be present)

VV0 (F8) : spin-orbit strength with which the spin-orbit thresholds and GCM matrix elements are calculated (may be zero if there is no spin-orbit interaction)

TTM(I) (F8) : Majorana threshold of channel I, i.e. Majorana part of the threshold calculated with M = 1 (OPTIONAL, NOT ALLOWED IF VV0 IS 0)



Important remark : all these parameters must be given, even when they are equal to zero

The Ith threshold is given by:

(VSO, and XM are input data - see below)


If NZ1 < 0, there is an additional line

Line 5a: (CAD(I),I=1,NI)

CAD(I) (F8) : Coulomb correction which added to the Ith reaction threshold gives the threshold of the mirror reaction

Line 6: (R(I),I=1,NP)

R(I) (F8) : Ith value of the generator coordinate

2.2. Distortion of the nuclei

If NPAR < 0, the internal wave functions of nucleus 1 are assumed to be given by linear combinations:

Where are used for the calculation of matrix elements in the main body. Coefficients f are computed by the code from the matrix elements <|> and <|H|> which must be provided after line 6. The same definitions hold for nucleus 2. Notice that the code has never been tested for distortion in both nuclei simultaneously (october 1997).

Therefore, if NPAR < 0, the prologue is complemented by the following lines:

For k = 1 to NK, for i = 1 to NPRO, repeat the line

Line 7 : I1, NII1

I1 (I3) : spin of nucleus 1

NII1 (I3) : number of basis functions

Line 8: ((H0(i,j), HM(i,j), HSO(i,j), VCAD(i,j), N(i,j),j=1,NII1),i=1,NII1) in format 1p5e16.9

Line 9 : I2, NII2

I2 (I3) : spin of nucleus 2

NII2 (I3) : number of basis functions (=1 in the present case)

Line 10: ((H0(i,j), HM(i,j), HSO(i,j), VCAD(i,j), N(i,j),j=1,NII2),i=1,NII2) in format 1p5e16.9



2.3. Main body

The lines following the line of type 6 contain the values of the GCM matrix elements in the FORMAT (5E16) if NBOS>0 or (4E20) if NBOS<0, classified and normalized as explained hereafter.

The GCM matrix elements are classified according to their angular momentum and parity. The angular momenta start at 0 if A is even or at 1/2 if A is odd and increase to LV with a step 1 (except if odd J-values are forbidden by symmetry or if JPAIR = 2, where the step is 2). For each angular momentum, the two parities are given (except if NPAR = 1 and A even) in the order "natural (-)J, non-natural (-)J+1" if A is even, or "+, -" if A is odd. If NPAR = 1, only natural parities are considered. Note that only physically acceptable values need be introduced.

For given angular momentum and parity, the GCM matrix elements start at the beginning of a line and form an uninterrupted sequence in the order corresponding to the following DO-loops:

- partition number in the bra (1 to NK)
- nuclear spins I1,I2 in the bra (1 to NPRO)
- channel spin I in the bra (/I1-I2/ to I1+I2)
- relative orbital momentum in the bra (/j-I/ to j+I by step of 2 but in agreement with the parity)
- partition number in the ket (1 to NK)
- nuclear spins I1',I2' in the ket (1 to NPRO)
- channel spin I' in the ket (/I1'-I2'/ to I1'+I2')
- relative orbital momentum in the ket (/j-I'/ to j+I' by step of 2 but in agreement with the parity)
- index n of the generator coordinate in the bra (n = 1 to NP)
- index n of the generator coordinate in the ket (n' = 1 to n)
- H, (VCAD), N
H, VM, VSO, (VCAD), N , if VVO

N : norm kernel normalized so that it tends asymptotically to

where il is a spherical Hankel function of order l and m =A1*A2/A

H : hamiltonian kernel. If VV0 is not 0, H does not contain the spin-orbit term. If TTM(1) is not 0, H is calculated with the Majorana parameter set to zero. If TTM(1) is not 0 and NK<0, H does not contain the nuclear term.

VM : Majorana kernel calculated from the Majorana part of the two-body interaction with M = 1 (OPTIONAL: if TTM(1) is not 0, NOT ALLOWED IF VV0 IS 0)

VSO : spin-orbit kernel calculated with the spin-orbit strength

VV0 (OPTIONAL: if VV0 is not 0)

VCAD : additional Coulomb term giving the matrix element of the mirror reaction

(if NZ1 < 0)


Only physical values of the different angular momenta and parities need to appear in the DO-loops. For example, values of the channel spin for which no relative orbital momentum satisfies the parity and angular momentum conservation laws will not be present.


3. Data file INPUT

Line 1 : name of file TAPE1 (up to 80 characters). The program aborts if TAPE1 does not exist

Line 2 : name of file TAPE2 (up to 80 characters). The program aborts if TAPE2 already exists, except if the name is preceded by a *.

Line 3: JL1, JL2, LPR

The matrix elements contained on TAPE1 are stored from J=JL1 to J=JL2 in the COMMON /LIRE/. This allows the user to repeat the calculation in different conditions (channel radius, interaction,) without rereading the file.

JL1, JL2 (I3) : smallest and largest angular momenta (£ LV)

LPR (I3) = 0 (no parity selection)

LPR = 1 (parity + only)

LPR = 2 (parity - only)



JMIN, JMAX (2I3): smaller and larger total angular momenta in an arbitrary order (if JMIN<0, a single angular momentum |JMIN| is considered)

NG (I3) : number of generator coordinates rejected to the left (DEFAULT: 0)

ND (I3) : number of generator coordinates rejected to the right (DEFAULT: 0)

LEC (I3) : print control parameter (DEFAULT: 0) (see Line 6 when LEC<0)

NV0 (I3) : number of dropped channels (DEFAULT: 0)

LPAR(I3) : 0 (no parity selection)

1 (parity + only)

2 (parity - only)

NX (I3) : execution control parameter (DEFAULT:1)

From NX, two variables are defined

NUGH = MOD (NX,10)

NUGI = NX/10

The allowed values for NUGH are

NUGH = 1 : calculation of the collision matrices (MRM)

NUGH = 2 : the R-matrix is computed by the pole expansion (POLE)

NUGH = 3 : calculation of resonance and bound-state properties (UGHM)

NUGH = 4 : diagonalisation, energy curves (TABULI)

NUGH = 5 : test of the matrix elements (TEST), see section 8



The allowed values for NUGI depend on the value of NUGH, see table.







































with NUGI= 0: collision matrix

1: collision matrix + scattering wave functions

2: collision matrix + differential cross sections

3: collision matrix + integrated cross sections

4: collision matrix + differential and integrated cross sections

5: collision matrix + change of basis (a)

6: collision matrix + eigenvalues of the overlap kernel (b)

7: (a) + (b)

8: the Bloch constants for closed channels are set to zero

9: not used


If NV0 > 0, there is an additional line, if not go to Line 6

Line 5: (NV1(I),I=1,NV0)

NV1(I) (I3) : Ith dropped channel


Line 6 : RMAX, VSO, XM, AD

RMAX (F8) : radius of the internal region (DEFAULT: RNP-ND)

VSO (F8) : spin-orbit strength parameter (DEFAULT: 0)

XM (F8) : Majorana parameter (DEFAULT: 0)

AD (F8) : if not zero, the mirror reaction is studied (only if NZ1<0)

Remark: if LEC<0, line 6 is repeated for each J value, but the RMAX value must be identical.


Next lines depend on the values of NUGH and NUGI




1) if NUGH = 1 (MRM: calculation of the collision matrices)


Line 7 : LE, E0, EP, NVE

LE (I3) : number of energies [abs(LE)]

if LE = 0, exit

if LE > 99, return to line 4

E0 (F8) : starting energy minus step

EP (F8) : energy step

NVE (I3) : entrance channel (DEFAULT: 1)


if NUGI = 2 or 4 (differential cross sections)

Line 8 : M, (AN(I), I=1,M)

M (I3) : number of angles for the different cross sections

AN(I) (F8) : angles

Return to Line 7




2) if NUGH = 2 (POLE: R-matrix pole expansion)


if NUGI = 5, line 9 is necessary

The new basis functions fNI are defined as


The following line is repeated NI times:

Line 9 : NV (NI), [NC(1, NI, I), NC(2, NI, I), I = 1, NV (NI)]

NV (NI) (I3) : DEFAULT:1

if NV (NI)<0, the NIth channel of the new basis is dropped


NC (2,NI,I) (I3) : DEFAULT:1. The coefficients are normalized to unity.


Line 10 : LE, E0, EP, NX, NVE

see line 9 in 1) for LE, E0, EP and NVE

NX (I3) : number of poles used (if NX>0) or rejected (if NX<0)


If NX 0 there is an additional line

Line 11 : (NPOLE(I),I=IABS(NX))

NPOLE(I) (I3) : Ith pole used (if NX>0) or rejected (if NX<0)




3) if NUGH = 3 (UGHM: resonances and bound-states)



NEL (I3) : number of bound-state or resonance energies

if NEL = 0, exit

if NEL = 99, return to line 4

NEPS(I3) : if not zero, the diagonal of the norm is multiplied by the factor (1+10**NEPS) (DEFAULT :0)

NIMA(I3) : maximum number of iterations (DEFAULT :10)

NEL1(I3) : first eigenvalue (DEFAULT :1)

LMAX(I3) : if LMAX 0, larger l-value considered in each channel

NSE (I3) : reference channel for the threshold (DEFAULT :1)

EIN (F8) : forces the initial value of the Bloch constant to be different from zero (optional)




4) if NUGH = 4 (TABULI: diagonalisation)


if NUGI=5, line 9 is necessary, see "NUGH=2"


Line 13 : NEL, NEPS, NTEST

NEL (I3) : number of wave functions printed on TAPE2

NEL=0 : no wave functions

NEL99: return to line 4

NEL<0 : call exit

NEPS (I3) : if different from zero, the diagonal elements of the overlap kernel are multiplied by 1 + 10 ** NEPS

NTEST (I) : if different from zero, the symmetry of the GCM matrix elementd is tested within an accuracy of 10 ** NTEST

Return to Line 13.




5) if NUGH = 5 (TEST) see section 8

4. Result file OUTPUT

The printed results depend on the values of LEC and NUGH (see line 4).

If (NUGH=1 or 2)

LEC=0 : the lines corresponding to the entrance channel of the collision matrix.

LEC=4 : complete collision matrix.

LEC=100 : R matrix

LEC=300 : projected gaussian functions Gl

LEC=350 : wave numbers, Coulomb wave functions

LEC=400 : matrices (EN-H) and (EN-H)-1

Remark : if LEC is odd, the matrix elements contained on TAPE1 are printed

If (NUGH = 3)

Energies, total widths of bound states and resonances.

Partial reduced widths (q2) and widths (G) in each channel.

If (NUGH=4)

Energy curves, eigenvalues of the Hamiltonian

If (NUGI=6 or 7) Eigenvalues of the overlap kernel

If (LEC10) Components of the wave functions in the different NI channels

If (LEC20) Components of the wave functions in the different (NI, I, l) channels


5. Result file TAPE2

The file TAPE2 contains information similar to the file OUTPUT but in a format well adapted to a further use, such as drawings.

Line 1 : title of the file, date

Line 2 : MRM radius, potential parameters

Line 3 : NUGH, NUGI

Line 4 : MRM radius, potential parameters, oscillator parameters

Repetition of the following lines:

Line 5 : E, J, NVE, MR, (NV(I),I=1,NI)

E (3X, F10.6) : energy

J (I3) : spin and parity (according to the sign)

NVE (I3) : entrance channel

MR (I3) : dimension of the collision matrix

NV(I) (I3) : number of partial waves in the Ith channel (zero if the channel is closed or removed through TV0(I)=.TRUE.)

Line 6 : ((U(1, I1, I2), U(2, I1, I2), I2 = 1, NI), I1 = 1, NI)

U(1,I1,I2) (E10.3) : modulus of the (I1,I2) element of the collision matrix

U(2,I1,I2) (E10.3) : phase (in degrees)

If wave functions are requested

Line 5 : J, E

J (I3) : spin and parity

E (E16.9) : energy

Line 6: ((FO (I, K), I=1, N-NG-ND), K=1, M)

FO (I,K)(E16.9) : coefficient of the wave function in the M (NI, I, l) channels (complex for positive energies)


Line 7 : (A (K), K=1, M)

A(K)(E16.9) : amplitude of the wave function in the external region (complex for positive energies)

6. Result file tapetab

This file is automatically created when option NUGH=4 is used. The 4 first lines are identical to TAPE2.

Line 5 : J, E (see section 5)

Repetition of N-NG-ND lines

R (I), (W1(L, I), L=1, M), (W2(L, I), L=1,M)

R(I) (F8) : Ith generator coordinates

W1 (F8) : energy curve without diagonalization

W2 (F8) : energy curve after diagonalization

7. COMMON lengths

Some COMMON may need to be significantly enlarged by modifying the PARAMETER statements.

The main COMMON are

Minimal dimensions for these COMMON appear during the execution. If the COMMON length is insufficient, the program stops.


Other COMMON or DIMENSION can be increased with the PARAMETER statement appearing at the beginning of each SUBROUTINE. The parameters are the following

NPN : maximum number of partitions (DEFAULT: 5)

NCH : maximum number of channels (DEFAULT: 10)

NCG : maximum number of generator coordinates (DEFAULT: 30)

NBJ : 2 * maximum number of values of the angular momentum (DEFAULT 40)

NBL : maximum number of relative orbital momentum

In subroutine CASE (if differential cross sections are calculated):

NSE : maximum number of channel spin projections (DEFAULT: 25)

NLLP1 : NBL*(NBL+1)/2 (DEFAULT: 210)

8. Test of TAPE1

If the variable NUGH is equal to 5, the corrections over the external region are extended from zero to infinity and subtracted from the matrix elements of TAPE1. For large values of the generator coordinates, the resulting differences must be very small since antisymmetrization becomes negligible.

The overlap and hamiltonian matrices are then automatically printed before and after correction (It is essential to drop most of the points, but a few last ones!). A factor of at least 103 should appear between the data of TAPE1 and the corrected matrix elements.

If both the overlap and hamiltonian kernels do not become significantly smaller after correction, the GCM matrix elements of TAPE1 are inconsistent with their asymptotic form. In general, they are not properly normalized.

If the corrected overlaps are small but not the corrected hamiltonian matrix elements, the threshold energies in the prologue are in general incorrect.