Newer
Older
c 18.11.2011 Link routines between UrQMD 1.3 and CONEX.
c author T. Pierog based on CORSIKA and EPOS link to UrQMD
c adapted by M. Reininghaus for linking UrQMD to CORSIKA 8 (Apr 2019)
#ifdef __STD__
#define __GHEISHA__
#define __QGSJET__
#define __ANALYSIS__
#endif
c-----------------------------------------------------------------------
subroutine IniUrQMDC8
c-----------------------------------------------------------------------
c Primary initialization for UrQMD 1.31
c-----------------------------------------------------------------------
implicit none
c CONEX includes
c~ #include "conex.h"
c~ #include "conex.incnex"
#ifndef __CXCORSIKA__
c~ character*500 furqdat
c~ integer ifurqdat, nfurqdat
c~ common/urqfname/ furqdat, ifurqdat, nfurqdat
include 'boxinc.f'
include 'inputs.f'
include 'options.f'
c commons from coms.f
integer Ap, At, Zp, Zt, npart, nbar, nmes, ctag
integer nsteps,ranseed,event,eos,dectag,uid_cnt
integer NHardRes,NSoftRes,NDecRes,NElColl,NBlColl
common /sys/ npart, nbar, nmes, ctag,nsteps,uid_cnt,
+ ranseed,event,Ap,At,Zp,Zt,eos,dectag,
+ NHardRes,NSoftRes,NDecRes,NElColl,NBlColl
c local
INTEGER i,io,ia,ie,id
CHARACTER CTPStrg(numctp)*60, CTOStrng(numcto)*60
integer mxie,mxid,mxia
parameter (mxie=41,mxid=10,mxia=3)
character adum
double precision sig_u1,ekdummy
integer iamaxu,idmaxu,iemaxu
c~ common /cxs_u1/ sig_u1(mxie,mxid,mxia),iamaxu,idmaxu,iemaxu
c~ double precision xs(3),bim(3)
c~ c M.R.: bim added to cxs_u2
c~ common /cxs_u2/ xs,bim
integer init
data init/0/
SAVE
if(init.ge.1)return
init=init+1
#ifdef __CXDEBUG__
call utisx1('iniurqmd ',4)
write(*,'(a)')'initialize URQMD ...'
#endif
C-----------------------------------------------------------------------
c~ IF ( isx.ge.2 ) THEN
c~ IUDEBUG = isx-1
c~ ELSE
c~ IUDEBUG = 0
c~ ENDIF
WRITE (*,*)
$ '############################################################'
WRITE (*,*)
$ '## ##'
WRITE (*,*)
$ '## UrQMD 1.3.1 University of Frankfurt ##'
WRITE (*,*)
$ '## urqmd@th.physik.uni-frankfurt.de ##'
WRITE (*,*)
$ '## ##'
WRITE (*,*)
$ '############################################################'
WRITE (*,*)
$ '## ##'
WRITE (*,*)
$ '## please cite when using this model: ##'
WRITE (*,*)
$ '## S.A.Bass et al. Prog.Part.Nucl.Phys. 41 (1998) 225 ##'
WRITE (*,*)
$ '## M.Bleicher et al. J.Phys. G25 (1999) 1859 ##'
WRITE (*,*)
$ '## ##'
WRITE (*,*)
$ '############################################################'
C SET THE 'LARGE' CROSS-SECTIONS FOR ALL 3 TARGET ELEMENTS
c~ DO I = 1, 3
c~ XS(I) = 10.D0 * PI * BIM(I)**2
c~ ENDDO
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
C SET NMAX TO DEFAULT VALUE
call set0
call params
C THIS IS THE SUBSTITUE FOR THE URQMD INPUT ROUTINE
C INITIALIZE COUNTERS
boxflag = 0
mbflag = 0
edens = 0.d0
para = 0
solid = 0
mbox = 0
io = 0
C THE FOLLOWING FLAGS CHECK, WHETHER ALL NECESSARY INPUT IS GIVEN
C PROJECTILE
prspflg = 0
C TARGET
trspflg = 0
C
srtflag = 0
firstev = 0
C EXCITATION FUNCTION
nsrt = 1
npb = 1
efuncflag = 0
C DEFAULT NUMBER OF EVENTS
nevents = 1
C DEFAULT NUMBER OF TIMESTEPS
nsteps = 1000
C SKIP CONDITIONS ON UNIT 13, 14, 15, 16 & 18
C SUPPRESS ALL OUTPUT
bf13 = .true.
bf14 = .true.
bf15 = .true.
bf16 = .true.
bf18 = .true.
bf19 = .true.
bf20 = .true.
C SET DEBUG OUTPUT DEPENDING ON CHOSEN DEBUG LEVEL
C SET THE OUTPUT OF UNITS 13, 14, 15 TO THE DEBUG OUTPUT UNIT
c~ IF ( IUDEBUG .EQ. 1 ) THEN
c~ bf13 = .true.
c~ bf14 = .false.
c~ call uounit(14,IFCK)
c~ bf15 = .true.
c~ ELSEIF ( IUDEBUG .EQ. 2 ) THEN
c~ bf13 = .false.
c~ call uounit(13,IFCK)
c~ bf14 = .true.
c~ bf15 = .true.
c~ ELSEIF ( IUDEBUG .GT. 2 ) THEN
c~ bf13 = .true.
c~ bf14 = .true.
c~ bf15 = .false.
c~ call uounit(15,IFCK)
c~ ENDIF
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
do i = 1, numcto
CTOdc(i) = ' '
enddo
do i = 1, numctp
CTPdc(i) = ' '
enddo
do i = 1, maxstables
stabvec(i) = 0
enddo
nstable = 0
C DEFAULT SETTINGS FOR CTParam AND CTOption
C DEFAULT SETTINGS FOR CTParam
CTParam(1)=1.d0
CTPStrg(1)='scaling factor for decay-width'
CTParam(2)=0.52d0
CTPStrg(2)='used for minimal stringmass & el/inel cut in makestr'
CTParam(3)=2.d0
CTPStrg(3)='velocity exponent for modified AQM'
CTParam(4)=0.3d0
CTPStrg(4)='transverse pion mass, used in make22 & strexct'
CTParam(5)=0.d0
CTPStrg(5)='probabil. for quark rearrangement in cluster'
CTParam(6)=0.37d0
CTPstrg(6)='strangeness probability'
CTParam(7)=0.d0
CTPStrg(7)='charm probability (not yet implemented in UQMD)'
CTParam(8)=0.093d0
CTPStrg(8)='probability to create a diquark'
CTParam(9)=0.35d0
CTPStrg(9)='kinetic energy cut off for last string break'
CTParam(10)=0.25d0
CTPStrg(10)='min. kinetic energy for hadron in string'
CTParam(11)=0.d0
CTPStrg(11)='fraction of non groundstate resonances'
CTParam(12)=.5d0
CTPStrg(12)='probability for rho 770 in String'
CTParam(13)=.27d0
CTPStrg(13)='probability for rho 1450 (rest->rho1700)'
CTParam(14)=.49d0
CTPStrg(14)='probability for omega 782'
CTParam(15)=.27d0
CTPStrg(15)='probability for omega 1420(rest->om1600)'
CTParam(16)=1.0d0
CTPStrg(16)='mass cut betw. rho770 and rho 1450'
CTParam(17)=1.6d0
CTPSTRG(17)='mass cut betw. rho1450 and rho1700'
CTParam(18)=.85d0
CTPStrg(18)='mass cut betw. om 782 and om1420'
CTParam(19)=1.55d0
CTPStrg(19)='mass cut betw. om1420 and om1600'
CTParam(20)=0.0d0
CTPStrg(20)=' distance for second projectile'
CTParam(21)=0.0d0
CTPStrg(21)=' deformation parameter'
CTParam(25)=.9d0
CTPStrg(25)=' probability for diquark not to break'
CTParam(26)=50.d0
CTPStrg(26)=' maximum trials to get string masses'
CTParam(27)=1.d0
CTPStrg(27)=' scaling factor for xmin in string excitation'
CTParam(28)=1.d0
CTPStrg(28)=' scaling factor for transverse fermi motion'
CTParam(29)=0.4d0
CTPStrg(29)=' single strange di-quark suppression factor '
CTParam(30)=1.5d0
CTPStrg(30)=' radius offset for initialization '
CTParam(31)=1.6d0
CTPStrg(31)=' sigma of gaussian for tranverse momentum tranfer '
CTParam(32)=0.d0
CTPStrg(32)=' alpha-1 for valence quark distribution '
CTParam(33)=2.5d0
CTPStrg(33)=' betav for valence quark distribution (DPM)'
CTParam(34)=0.1d0
CTPStrg(34)=' minimal x multiplied with ecm '
CTParam(35)=3.0d0
CTPStrg(35)=' offset for cut for the FSM '
CTParam(36)=0.275d0
CTPStrg(36)=' fragmentation function parameter a '
CTParam(37)=0.42d0
CTPStrg(37)=' fragmentation function parameter b '
CTParam(38)=1.08d0
CTPStrg(38)=' diquark pt scaling factor '
CTParam(39)=0.8d0
CTPStrg(39)=' strange quark pt scaling factor '
CTParam(40)=0.5d0
CTPStrg(40)=' betas-1 for valence quark distribution (LEM)'
CTParam(41)=0.d0
CTPStrg(41)=' distance of initialization'
CTParam(42)=0.55d0
CTPStrg(42)=' width of gaussian -> pt in string-fragmentation '
CTParam(43)=5.d0
CTPStrg(43)=' maximum kinetic energy in mesonic clustr '
CTParam(44)=0.8d0
CTPStrg(44)=' prob. of double vs. single excitation for AQM inel.'
CTParam(45)=0.5d0
CTPStrg(45)=' offset for minimal mass generation of strings'
CTParam(46)=800000.d0
CTPStrg(46)=' maximal number of rejections for initialization'
CTParam(47)=1.0d0
CTPStrg(47)=' field feynman fragmentation funct. param. a'
CTParam(48)=2.0d0
CTPStrg(48)=' field feynman fragmentation funct. param. b'
CTParam(50)=1.d0
CTPStrg(50)=' enhancement factor for 0- mesons'
CTParam(51)=1.d0
CTPStrg(51)=' enhancement factor for 1- mesons'
CTParam(52)=1.d0
CTPStrg(52)=' enhancement factor for 0+ mesons'
CTParam(53)=1.d0
CTPStrg(53)=' enhancement factor for 1+ mesons'
CTParam(54)=1.d0
CTPStrg(54)=' enhancement factor for 2+ mesons'
CTParam(55)=1.d0
CTPStrg(55)=' enhancement factor for 1+-mesons'
CTParam(56)=1.d0
CTPStrg(56)=' enhancement factor for 1-*mesons'
CTParam(57)=1.d0
CTPStrg(57)=' enhancement factor for 1-*mesons'
CTParam(58)=1.d0
CTPStrg(58)=' scaling factor for DP time-delay'
C DEFAULT SETTINGS FOR CTOption
CTOption(1)=1 ! hjd1
CTOStrng(1)=' resonance widths are mass dependent '
CTOption(2)=0
CTOStrng(2)=' conservation of scattering plane'
CTOption(3)=0
CTOStrng(3)=' use modified detailed balance'
CTOption(4)=0
CTOStrng(4)=' no initial conf. output '
CTOption(5)=0
CTOStrng(5)=' fixed random impact parameter'
CTOption(6)=0
CTOStrng(6)=' no first collisions inside proj/target'
CTOption(7)=0
CTOStrng(7)=' elastic cross-section enabled (<>0:total=inelast)'
CTOption(8)=0
CTOStrng(8)=' extrapolate branching ratios '
CTOption(9)=0
CTOStrng(9)=' use tabulated pp cross-sections '
CTOption(10)=0
CTOStrng(10)=' enable Pauli Blocker'
CTOption(11)=0
CTOStrng(11)=' mass reduction for cascade initialization'
CTOption(12)=0
CTOStrng(12)=' string condition =0 (.ne.0 no strings)'
CTOption(13)=0
CTOStrng(13)=' enhanced file16 output '
CTOption(14)=0
CTOStrng(14)=' cos(the) is distributet between -1..1 '
CTOption(15)=0
CTOStrng(15)=' allow mm&mb-scattering'
CTOption(16)=0
CTOStrng(16)=' propagate without collisions'
CTOption(17)=0
CTOStrng(17)=' colload after every timestep '
CTOption(18)=0
CTOStrng(18)=' final decay of unstable particles'
CTOption(19)=0
CTOStrng(19)=' allow bbar annihilaion'
CTOption(20)=0
CTOStrng(20)=' dont generate e+e- instead of bbar'
CTOption(21)=0
CTOStrng(21)=' use field feynman frgm. function'
CTOption(22)=1
CTOStrng(22)=' use lund excitation function'
CTOption(23)=0
CTOStrng(23)=' lorentz contraction of projectile & targed'
CTOption(24)=2 ! 1 is default 2 means fast method
CTOStrng(24)=' Wood-Saxon initialization'
CTOption(25)=0
CTOStrng(25)=' phase space corrections for resonance mass'
CTOption(26)=0
CTOStrng(26)=' use z -> 1-z for diquark-pairs'
CTOption(27)=1 ! hjd1
CTOStrng(27)=' reference frame (1=target, 2=projectile, else=cms)'
CTOption(28)=1 ! M.R. 2019-04-15
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
CTOStrng(28)=' propagate spectators also '
CTOption(29)=2
CTOStrng(29)=' no transverse momentum in clustr '
CTOption(30)=1
CTOStrng(30)=' frozen fermi motion '
CTOption(31)=0
CTOStrng(31)=' reduced mass spectrum in string'
CTOption(32)=0
CTOStrng(32)=' masses are distributed acc. to m-dep. widths'
CTOption(33)=0
CTOStrng(33)=' use tables & m-dep. for pmean in fprwdt & fwidth'
CTOption(34)=1
CTOStrng(34)=' lifetme according to m-dep. width'
CTOption(35)=1
CTOStrng(35)=' generate high precision tables'
CTOption(36)=0
CTOStrng(36)=' normalize Breit-Wigners with m.dep. widths '
CTOption(37)=0
CTOStrng(37)=' heavy quarks form di-quark clusters'
CTOption(38)=0
CTOStrng(38)=' scale p-pbar to b-bbar with equal p_lab '
CTOption(39)=0
CTOStrng(39)=' dont call pauliblocker'
CTOption(40)=0
CTOStrng(40)=' read old fort.14 file '
CTOption(41)=0
CTOStrng(41)=' generate extended output for cto40'
CTOption(42)=0
CTOStrng(42)=' hadrons now have color fluctuations'
CTOption(43)=0
CTOStrng(43)=' dont generate dimuon intead of dielectron output'
CTOption(44)=0
CTOStrng(44)=' not used at the moment'
CTOption(45)=0
CTOStrng(45)=' not used at the moment'
C INITIALIZE ARRAYS FOR SPECIAL PRO/TAR COMBINATIONS
do i = 1, 2
spityp(i) = 0
spiso3(i) = 0
enddo
C INITIALIZE ARRAYS FOR SPECIAL PARTICLES
EoS = 0
C READ CROSS-SECTION FILES
Cdh CALL URQREC()
C INITIALIZES SOME ARRAYS
call strini ! initialize mixing angles for meson-multipletts
call loginit
IF ( CTOption(33) .EQ. 0 .OR. CTOption(9) .EQ. 0 ) THEN
call loadwtab(io)
c~ IF ( IUDEBUG .GT. 0 ) WRITE(IFCK,*) 'URQINI: AFTER LOADWTAB'
ENDIF
C READ URQMD TOTAL CROSS SECTION TABLE
c
c ie=1..41 E=10.0**(float(ie)/10-1.0-0.05) (bin-middle)
c id=1..9 p,ap,n,an,pi+,pi-,K+,K-,KS
c ia=1..3 N,O,Ar
c
c~ if(ifurqdat.eq.1)then
c~ OPEN(UNIT=76,FILE=furqdat(1:nfurqdat),STATUS='OLD')
c~ else
c~ OPEN(UNIT=76,FILE='UrQMD-1.3.1-xs.dat',STATUS='OLD')
c~ endif
c~ read(76,*) adum,iamaxu,idmaxu,iemaxu
c~ do ia=1,iamaxu
c~ do id=1,idmaxu
c~ do ie=1,iemaxu
c~ read(76,*) ekdummy,sig_u1(ie,id,ia)
c~ enddo
c~ read(76,*)
c~ read(76,*)
c~ enddo
c~ enddo
c~ close(76)
C IN CASE OF CASCADE MODE, THE POTENTIALS NEED NOT BE CALCULATED
C CALCULATE NORMALIZATION OF RESONANCES DISTRIBUTION...
call norm_init
#endif
#ifdef __CXDEBUG__
call utisx2
#endif
end