IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 4a991297 authored by Maximilian Reininghaus's avatar Maximilian Reininghaus :vulcan:
Browse files

Merge branch 'sibyll_update_23c03' into 'master'

updated sibyll2.3c.f to 2.3c03

See merge request AirShowerPhysics/corsika!174
parents 7721b35b d38ea82b
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ C SSSSSS IIIIIII BBBBB YY LLLLLLL LLLLLLL ...@@ -7,7 +7,7 @@ C SSSSSS IIIIIII BBBBB YY LLLLLLL LLLLLLL
C======================================================================= C=======================================================================
C Code for SIBYLL: hadronic interaction Monte Carlo event generator C Code for SIBYLL: hadronic interaction Monte Carlo event generator
C======================================================================= C=======================================================================
C Version 2.3c02 (Jun-01-2017, modified Dec-11-2017) C Version 2.3c03 (Jun-01-2017, modified Aug-22-2019)
C C
C with CHARM production C with CHARM production
C C
...@@ -32,6 +32,8 @@ C friehn@lip.pt ...@@ -32,6 +32,8 @@ C friehn@lip.pt
C stanev@bartol.udel.edu C stanev@bartol.udel.edu
C C
C last changes relative to Sibyll 2.3c: C last changes relative to Sibyll 2.3c:
C * added cross section tables for hadron-nitrogen and hadron-oxygen
C (changed S_CCSIG common)
C * no remnant in high mass diff. events (pi0-had scattering) C * no remnant in high mass diff. events (pi0-had scattering)
C * repaired had-nuc. cross section routine for kaon beams C * repaired had-nuc. cross section routine for kaon beams
C routine remains inactive in ordinary calls. C routine remains inactive in ordinary calls.
...@@ -469,7 +471,7 @@ C----------------------------------------------------------------------- ...@@ -469,7 +471,7 @@ C-----------------------------------------------------------------------
* /,' ','| F. RIEHN et al., Proc. 35th Int. Cosmic Ray Conf.|', * /,' ','| F. RIEHN et al., Proc. 35th Int. Cosmic Ray Conf.|',
* /,' ','| Bexco, Busan, Korea, cont. 301 (2017) |', * /,' ','| Bexco, Busan, Korea, cont. 301 (2017) |',
* /,' ','| |', * /,' ','| |',
* /,' ','| last modifications: F. Riehn (12/11/2017) |', * /,' ','| last modifications: F. Riehn (08/22/2019) |',
* /,' ','====================================================', * /,' ','====================================================',
* /) * /)
   
...@@ -480,7 +482,7 @@ C----------------------------------------------------------------------- ...@@ -480,7 +482,7 @@ C-----------------------------------------------------------------------
CALL BLOCK_INI CALL BLOCK_INI
CALL NUC_GEOM_INI CALL NUC_GEOM_INI
CALL SIG_AIR_INI CALL SIG_AIR_INI
c CALL DEC_INI
c... charm frag. normalisation c... charm frag. normalisation
CALL ZNORMAL CALL ZNORMAL
   
...@@ -4453,8 +4455,11 @@ C-------------------------------------------------------------------- ...@@ -4453,8 +4455,11 @@ C--------------------------------------------------------------------
DOUBLE PRECISION FACN DOUBLE PRECISION FACN
DIMENSION FACN(3:10) DIMENSION FACN(3:10)
COMMON /SIB_FAC/ FACN COMMON /SIB_FAC/ FACN
DOUBLE PRECISION EPS100
SAVE SAVE
DATA EPS100 /1.D-100/
DO J=0,NH_max DO J=0,NH_max
DO I=0,NS_max DO I=0,NS_max
P_int(I,J) = 0.D0 P_int(I,J) = 0.D0
...@@ -4535,16 +4540,20 @@ C-------------------------------------------------------------------- ...@@ -4535,16 +4540,20 @@ C--------------------------------------------------------------------
chi2_hard_12 = (1.D0-al1+ga1)*(1.D0-al2-ga2)*chi2_hard chi2_hard_12 = (1.D0-al1+ga1)*(1.D0-al2-ga2)*chi2_hard
chi2_hard_21 = (1.D0-al1-ga1)*(1.D0-al2+ga2)*chi2_hard chi2_hard_21 = (1.D0-al1-ga1)*(1.D0-al2+ga2)*chi2_hard
ef_11 = max(-0.5D0*(chi2_soft_11+chi2_hard_11),log(EPS100))
ef_22 = max(-0.5D0*(chi2_soft_22+chi2_hard_22),log(EPS100))
ef_12 = max(-0.5D0*(chi2_soft_12+chi2_hard_12),log(EPS100))
ef_21 = max(-0.5D0*(chi2_soft_21+chi2_hard_21),log(EPS100))
ef_11 = dexp(ef_11)
ef_22 = dexp(ef_22)
ef_12 = dexp(ef_12)
ef_21 = dexp(ef_21)
   
ef_11 = dexp(-0.5D0*(chi2_soft_11+chi2_hard_11)) esf_11 = max(ef_11,EPS100)**2
ef_22 = dexp(-0.5D0*(chi2_soft_22+chi2_hard_22)) esf_22 = max(ef_22,EPS100)**2
ef_12 = dexp(-0.5D0*(chi2_soft_12+chi2_hard_12)) esf_12 = max(ef_12,EPS100)**2
ef_21 = dexp(-0.5D0*(chi2_soft_21+chi2_hard_21)) esf_21 = max(ef_21,EPS100)**2
esf_11 = ef_11**2
esf_22 = ef_22**2
esf_12 = ef_12**2
esf_21 = ef_21**2
   
F_ine = B*(1.D0 - fe_11*esf_11 - fe_12*esf_12 F_ine = B*(1.D0 - fe_11*esf_11 - fe_12*esf_12
& - fe_21*esf_21 - fe_22*esf_22) & - fe_21*esf_21 - fe_22*esf_22)
...@@ -4578,24 +4587,24 @@ C-------------------------------------------------------------------- ...@@ -4578,24 +4587,24 @@ C--------------------------------------------------------------------
soft_rec_22 = 1.D0/chi2_soft_22 soft_rec_22 = 1.D0/chi2_soft_22
soft_rec_12 = 1.D0/chi2_soft_12 soft_rec_12 = 1.D0/chi2_soft_12
soft_rec_21 = 1.D0/chi2_soft_21 soft_rec_21 = 1.D0/chi2_soft_21
chi2_hard_11 = max(chi2_hard_11,EPS10) chi2_hard_11 = max(chi2_hard_11,EPS100)
chi2_hard_22 = max(chi2_hard_22,EPS10) chi2_hard_22 = max(chi2_hard_22,EPS100)
chi2_hard_12 = max(chi2_hard_12,EPS10) chi2_hard_12 = max(chi2_hard_12,EPS100)
chi2_hard_21 = max(chi2_hard_21,EPS10) chi2_hard_21 = max(chi2_hard_21,EPS100)
DO I=0,I0MAX DO I=0,I0MAX
soft_rec_11 = soft_rec_11*chi2_soft_11 soft_rec_11 = max(soft_rec_11*chi2_soft_11,EPS100)
soft_rec_22 = soft_rec_22*chi2_soft_22 soft_rec_22 = max(soft_rec_22*chi2_soft_22,EPS100)
soft_rec_12 = soft_rec_12*chi2_soft_12 soft_rec_12 = max(soft_rec_12*chi2_soft_12,EPS100)
soft_rec_21 = soft_rec_21*chi2_soft_21 soft_rec_21 = max(soft_rec_21*chi2_soft_21,EPS100)
hard_rec_11 = 1.D0/chi2_hard_11 hard_rec_11 = max(1.D0/chi2_hard_11,EPS100)
hard_rec_22 = 1.D0/chi2_hard_22 hard_rec_22 = max(1.D0/chi2_hard_22,EPS100)
hard_rec_12 = 1.D0/chi2_hard_12 hard_rec_12 = max(1.D0/chi2_hard_12,EPS100)
hard_rec_21 = 1.D0/chi2_hard_21 hard_rec_21 = max(1.D0/chi2_hard_21,EPS100)
DO J=0,J0MAX DO J=0,J0MAX
hard_rec_11 = hard_rec_11*chi2_hard_11 hard_rec_11 = max(hard_rec_11*chi2_hard_11,EPS100)
hard_rec_22 = hard_rec_22*chi2_hard_22 hard_rec_22 = max(hard_rec_22*chi2_hard_22,EPS100)
hard_rec_12 = hard_rec_12*chi2_hard_12 hard_rec_12 = max(hard_rec_12*chi2_hard_12,EPS100)
hard_rec_21 = hard_rec_21*chi2_hard_21 hard_rec_21 = max(hard_rec_21*chi2_hard_21,EPS100)
P_int(I,J) = P_int(I,J) P_int(I,J) = P_int(I,J)
& + fe_11*soft_rec_11*hard_rec_11*fac_11 & + fe_11*soft_rec_11*hard_rec_11*fac_11
& + fe_22*soft_rec_22*hard_rec_22*fac_22 & + fe_22*soft_rec_22*hard_rec_22*fac_22
...@@ -5535,7 +5544,7 @@ c read hadron-nucleon cross section from table ...@@ -5535,7 +5544,7 @@ c read hadron-nucleon cross section from table
IF(IPAR(12).eq.3)THEN IF(IPAR(12).eq.3)THEN
c distinguish between nuclear cross sections.. c distinguish between nuclear cross sections..
IF(IAFLG.eq.0)THEN IF(IAFLG.eq.0)THEN
c if target is nucleus calc. hadron-nucleus cross section (slow) c if target is nucleus calc. hadron-nucleus cross section
CALL SIB_SIGMA_HNUC(L,IA,SQS,SIGprod,SIGbdif,SIGela) CALL SIB_SIGMA_HNUC(L,IA,SQS,SIGprod,SIGbdif,SIGela)
ELSE ELSE
c if target is air read hadron-air cross section from table c if target is air read hadron-air cross section from table
...@@ -11209,8 +11218,8 @@ C----------------------------------------------------------------------- ...@@ -11209,8 +11218,8 @@ C-----------------------------------------------------------------------
10 FORMAT(//,' Table of cross sections, and average number', 10 FORMAT(//,' Table of cross sections, and average number',
& ' of minijets and wounded nucleons ') & ' of minijets and wounded nucleons ')
15 FORMAT(' [sqrt(s) in GeV, cross sections in mbarn]. ') 15 FORMAT(' [sqrt(s) in GeV, cross sections in mbarn]. ')
16 FORMAT(' sqrt(s) sig(pp) sig(pAir) <n_s> <n_j> <n_w>', 16 FORMAT(' sqrt(s) sig(pp) sig(pA) <n_s> <n_j> <n_w>',
& ' sig(pip) sig(piAir) <n_s> <n_j> <n_w>') & ' sig(pip) sig(piA) <n_s> <n_j> <n_w>')
18 FORMAT(1X,77('-') ) 18 FORMAT(1X,77('-') )
DO J=1,61,1 DO J=1,61,1
SQS = 10.D0**(ASQSMIN + DASQS*DBLE(J-1)) SQS = 10.D0**(ASQSMIN + DASQS*DBLE(J-1))
...@@ -11251,7 +11260,7 @@ C----------------------------------------------------------------------- ...@@ -11251,7 +11260,7 @@ C-----------------------------------------------------------------------
   
C======================================================================= C=======================================================================
   
SUBROUTINE SIG_AIR_INI SUBROUTINE SIG_AIR_INI
   
C----------------------------------------------------------------------- C-----------------------------------------------------------------------
C... Initialize the cross section and interaction lengths on air, C... Initialize the cross section and interaction lengths on air,
...@@ -11375,7 +11384,6 @@ c interaction length ...@@ -11375,7 +11384,6 @@ c interaction length
endif endif
ENDDO ENDDO
END END
C======================================================================= C=======================================================================
   
SUBROUTINE SAMPLE_TARGET(NW,XCHG,KRMNT,XJET,Irec,IREJ) SUBROUTINE SAMPLE_TARGET(NW,XCHG,KRMNT,XJET,Irec,IREJ)
...@@ -11870,6 +11878,7 @@ C. INPUT : SSIG (mbarn) total pp cross section ...@@ -11870,6 +11878,7 @@ C. INPUT : SSIG (mbarn) total pp cross section
C. SLOPE (GeV**-2) elastic scattering slope for pp C. SLOPE (GeV**-2) elastic scattering slope for pp
C. ALPHA real/imaginary part of the forward pp elastic C. ALPHA real/imaginary part of the forward pp elastic
C. scattering amplitude C. scattering amplitude
C. ALAM coupling to inel. intermediat states
C. OUTPUT : SIGT = Total cross section C. OUTPUT : SIGT = Total cross section
C. SIGEL = Elastic cross section C. SIGEL = Elastic cross section
C. SIGQEL = Elastic + Quasi elastic cross section C. SIGQEL = Elastic + Quasi elastic cross section
...@@ -11896,6 +11905,7 @@ C...................................................................... ...@@ -11896,6 +11905,7 @@ C......................................................................
SIGQSD = (1.D0-FOX)*SIGQSD1 + FOX*SIGQSD2 SIGQSD = (1.D0-FOX)*SIGQSD1 + FOX*SIGQSD2
RETURN RETURN
END END
C======================================================================= C=======================================================================
   
SUBROUTINE SIG_H_NUC SUBROUTINE SIG_H_NUC
...@@ -11946,7 +11956,7 @@ C...................................................................... ...@@ -11946,7 +11956,7 @@ C......................................................................
END END
   
C======================================================================= C=======================================================================
SUBROUTINE GLAUBER2 SUBROUTINE GLAUBER2
+ (JA,SSIG,SLOPE,ALPHA,ALAM,SIGT,SIGEL,SIGQEL,SIGSD,SIGQSD) + (JA,SSIG,SLOPE,ALPHA,ALAM,SIGT,SIGEL,SIGQEL,SIGSD,SIGQSD)
   
...@@ -14080,7 +14090,6 @@ c internal ...@@ -14080,7 +14090,6 @@ c internal
   
END END
C======================================================================= C=======================================================================
SUBROUTINE SIB_SIGMA_HNUC (L,IAT,SQS,SIGprod,SIGbdif,SIGela) SUBROUTINE SIB_SIGMA_HNUC (L,IAT,SQS,SIGprod,SIGbdif,SIGela)
   
C----------------------------------------------------------------------- C-----------------------------------------------------------------------
...@@ -17831,8 +17840,7 @@ c Knuth shuffle.. ...@@ -17831,8 +17840,7 @@ c Knuth shuffle..
KF2=KPL(2)*10+KPL(3) KF2=KPL(2)*10+KPL(3)
END END
C=======================================================================
SUBROUTINE TRANSFONSHELL(ECM,XM1in,XM2in,XMAX,IMOD,P1,P2,LBAD) SUBROUTINE TRANSFONSHELL(ECM,XM1in,XM2in,XMAX,IMOD,P1,P2,LBAD)
   
C----------------------------------------------------------------------- C-----------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment