JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
collier_init Module Reference

Data Types

interface  setmaxcheck_cll
 
interface  setmaxcritpoints_cll
 

Functions/Subroutines

subroutine init_cll (Nmax, rmax, folder_name, noreset)
 
subroutine reset_cll
 
subroutine initevent_cll (Ncache)
 
subroutine getversionnumber_cll (version)
 
subroutine initeventcnt_cll ()
 
subroutine geteventcnt_cll (event)
 
subroutine setmode_cll (mode)
 
subroutine getmode_cll (mode)
 
subroutine setmuuv2_cll (mu2)
 
subroutine getmuuv2_cll (mu2)
 
subroutine setmuir2_cll (mu2)
 
subroutine getmuir2_cll (mu2)
 
subroutine setdeltauv_cll (delta)
 
subroutine getdeltauv_cll (delta)
 
subroutine setdeltair_cll (delta1, delta2)
 
subroutine getdeltair_cll (delta1, delta2)
 
subroutine addminf2_cll (m2)
 
subroutine clearminf2_cll
 
subroutine setminf2_cll (nminf, minf2)
 
subroutine getnminf_cll (nminf)
 
subroutine getminf2_cll (minf2)
 
double complex function getminf2dd_cll (m2)
 
integer function getnc_cll (N, r)
 
integer function getnt_cll (r)
 
subroutine switchoffirrational_cll ()
 
subroutine switchonirrational_cll ()
 
subroutine switchoffcalcuv_cll ()
 
subroutine switchoncalcuv_cll ()
 
subroutine getcalcuv_cll (CalcUV)
 
subroutine settenred_cll (tenred)
 
subroutine switchontenred_cll ()
 
subroutine switchofftenred_cll ()
 
subroutine gettenred_cll (tenred)
 
subroutine switchofferrstop_cll ()
 
subroutine seterrstop_cll (errstop)
 
subroutine geterrstop_cll (errstop)
 
subroutine switchofffileoutput_cll
 
subroutine switchonfileoutput_cll
 
subroutine setinfoutlev_cll (infoutlev)
 
subroutine getinfoutlev_cll (infoutlev)
 
subroutine seterroutlev_cll (erroutlev)
 
subroutine geterroutlev_cll (erroutlev)
 
subroutine initglobaldd_cll (nmax_cll, ritmax_cll)
 
subroutine getcpuprec_cll
 
subroutine setaccuracy_cll (acc0, acc1, acc2)
 
subroutine setreqacc_cll (acc)
 
subroutine getreqacc_cll (acc)
 
subroutine setcritacc_cll (acc)
 
subroutine getcritacc_cll (acc)
 
subroutine setcheckacc_cll (acc)
 
subroutine getcheckacc_cll (acc)
 
subroutine setritmax_cll (ritmax)
 
subroutine setritmaxbcd_cll (ritmax_B, ritmax_C, ritmax_D)
 
subroutine getritmax_cll (ritmax)
 
subroutine initerrflag_cll ()
 
subroutine seterrflag_cll (val)
 
subroutine geterrflag_cll (val)
 
subroutine propagateerrflag_cll ()
 
subroutine setmaxinfout_cll (val)
 
subroutine setmaxerrout_cll (val)
 
subroutine initinfcnt_cll (val)
 
subroutine initerrcnt_cll (val)
 
subroutine initerrcntcoli_cll ()
 
subroutine setmaxerroutcoli_cll (val)
 
subroutine initerrcntdd_cll ()
 
subroutine setmaxerroutdd_cll (val)
 
subroutine initaccflag_cll ()
 
subroutine setaccflag_cll (val)
 
subroutine getaccflag_cll (val)
 
subroutine propagateaccflag_cll (RelErrs, rmax)
 
subroutine setinfoutlevcoli_cll (infoutlev)
 
subroutine initcritpointscntcoli_cll (val)
 
subroutine initpointscnt_cll (noreset)
 
subroutine initmonitoring_cll ()
 
subroutine initoutchan_cll (init_stdout)
 
subroutine initoutchan_cp_cll
 
subroutine setninfout_cll (ninfout)
 
subroutine getninfout_cll (ninfout)
 
subroutine setninfoutcoli_cll (ninfout)
 
subroutine getninfoutcoli_cll (ninfout)
 
subroutine setnerrout_cll (nerrout)
 
subroutine getnerrout_cll (nerrout)
 
subroutine setnerroutcoli_cll (nerrout)
 
subroutine getnerroutcoli_cll (nerrout)
 
subroutine setnerroutdd_cll (nerrout)
 
subroutine getnerroutdd_cll (nerrout)
 
subroutine setncheckout_cll (ncheckout)
 
subroutine getncheckout_cll (ncheckout)
 
subroutine setncpoutcoli_cll (ncpout)
 
subroutine getncpoutcoli_cll (ncpout)
 
subroutine setnstatsoutcoli_cll (nstatsout)
 
subroutine getnstatsoutcoli_cll (nstatsout)
 
subroutine setncritpointsout_cll (ncpout)
 
subroutine getncritpointsout_cll (ncritpointsout)
 
subroutine setncritpointsout2_cll (ncpout)
 
subroutine setoutputfolder_cll (fname)
 
subroutine getoutputfolder_cll (fname)
 
subroutine getncritpointsout2_cll (ncritpointsout2)
 
subroutine getoutchannels_cll (chans)
 
subroutine initcheckcntdb_cll
 
subroutine initmaxcheckdb_cll
 
subroutine setmaxcheckdb_cll (npoints)
 
subroutine initcheckcnt_cll (noreset)
 
subroutine initmaxcheck_cll (noreset)
 
subroutine setmaxcheckn_cll (npoints, N)
 
subroutine setmaxcheckarray_cll (npoints)
 
subroutine initmaxcritpointsdb_cll
 
subroutine setmaxcritpointsdb_cll (npoints)
 
subroutine initmaxcritpoints_cll (noreset)
 
subroutine setmaxcritpointsn_cll (npoints, N)
 
subroutine setmaxcritpointsarray_cll (npoints)
 
subroutine infout_cll (sub, inf, flag)
 
integer function findfreechannel_cll ()
 
subroutine openerroutfile_cll (filename, nchan)
 
subroutine openerroutfilecoli_cll (filename, nchan)
 
subroutine openerroutfiledd_cll (filename, nchan)
 
subroutine opencritpointsoutfilecoli_cll (filename, nchan)
 
subroutine opencritpointsoutfile_cll (filename, nchan)
 
subroutine opencritpointsoutfile2_cll (filename, nchan)
 
subroutine opencheckoutfile_cll (filename, nchan)
 
subroutine openinfoutfile_cll (filename, nchan)
 
subroutine openinfoutfilecoli_cll (filename, nchan)
 
subroutine openstatisticsoutfilecoli_cll (filename, nchan)
 
subroutine printstatisticscoli_cll (noutch)
 
subroutine writeintro_cll (un)
 

Variables

character(len=80) foldername_cll
 

Function/Subroutine Documentation

◆ addminf2_cll()

subroutine collier_init::addminf2_cll ( double complex, intent(in)  m2)

Definition at line 907 of file collier_init.F90.

907 
908  double complex, intent(in) :: m2
909  double complex, allocatable :: minf2_cp(:)
910  double precision :: DeltaUV_dd,DeltaIR2_dd,DeltaIR1_dd
911  double precision :: muUV2_dd,muIR2_dd,xmx2_dd(nminf_colidd)
912  double precision :: xmx2(nminf_colidd)
913  integer :: i
914  logical :: infwri
915  character(len=*),parameter :: fmt92 = "(A10,I3,A4,'dcmplx(',d25.18,' ,',d25.18,' )')"
916 
917  if(m2.eq.0d0) then
918  if (infoutlev_cll.ge.1) call infout_cll('AddMinf2_cll','zero cannot be added to list of infinitesimal masses:',infwri)
919  return
920  end if
921 
922  if (nminf_cll.eq.0) then
923  nminf_cll = 1
924  if (allocated(minf2_cll)) then
925  deallocate(minf2_cll)
926  end if
927  allocate(minf2_cll(nminf_cll))
928 
929  minf2_cll(1) = m2
930 
931  else
932  do i=1,nminf_cll
933  if (m2.eq.minf2_cll(i)) return
934  end do
935 
936  allocate(minf2_cp(nminf_cll))
937  minf2_cp = minf2_cll
938 
939  nminf_cll = nminf_cll+1
940  if (allocated(minf2_cll)) then
941  deallocate(minf2_cll)
942  end if
943 
944  allocate(minf2_cll(nminf_cll))
945  minf2_cll(1:nminf_cll-1) = minf2_cp
946  minf2_cll(nminf_cll) = m2
947 
948  end if
949 
950  ! add m2 to small masses in COLI
951  call setminf2_coli(minf2_cll(nminf_cll))
952 
953  ! add m2 to small masses in DD
954  if (nminf_cll.gt.nminf_colidd) then
955  if (erroutlev_cll.ge.1) then
956  write(nerrout_cll,*) 'COLLIER: more than' , nminf_colidd,' different infinitesimal masses not supported by DD'
957  end if
958  if (errorstop_cll.ge.-10) stop
959  end if
960 
961  xmx2 = 0d0
962  do i=1,nminf_cll
963  xmx2(i) = dreal(minf2_cll(i))
964  end do
965 
966  call ddgetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
967  deltair1_dd,muir2_dd,xmx2_dd)
968  call ddsetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
969  deltair1_dd,muir2_dd,xmx2)
970 
971  infwri = .false.
972  if (infoutlev_cll.ge.2) call infout_cll('AddMinf2_cll','added to list of infinitesimal masses:',infwri)
973  if(infwri) write(ninfout_cll,fmt92) ' minf2(',nminf_cll,') = ',minf2_cll(nminf_cll)
974 

◆ clearminf2_cll()

subroutine collier_init::clearminf2_cll

Definition at line 987 of file collier_init.F90.

987 
988  double precision :: xmx2(nminf_colidd)
989  double precision :: DeltaUV_dd,DeltaIR2_dd,DeltaIR1_dd
990  double precision :: muUV2_dd,muIR2_dd,xmx2_dd(nminf_colidd)
991  integer :: i
992  logical :: infwri
993 
994  nminf_cll = 0
995  if (allocated(minf2_cll)) then
996  deallocate(minf2_cll)
997  end if
998 
999  ! clear list of small masses in COLI
1000  call clearcoliminf2
1001 
1002  ! clear list of small masses in DD
1003  xmx2 = 0d0
1004 
1005  call ddgetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
1006  deltair1_dd,muir2_dd,xmx2_dd)
1007  call ddsetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
1008  deltair1_dd,muir2_dd,xmx2)
1009 
1010  if (infoutlev_cll.ge.2) call infout_cll('clearminf2_cll','list of infinitesimal masses cleared',infwri)
1011 
1012 

◆ findfreechannel_cll()

integer function collier_init::findfreechannel_cll

Definition at line 3949 of file collier_init.F90.

3949 
3950  integer :: nchan
3951  integer :: i
3952  logical :: qopened
3953 
3954  qopened = .true.
3955  i = 100
3956  do while (qopened.and.(i.le.1000))
3957  i=i+1
3958  inquire(i, opened=qopened)
3959  end do
3960  nchan = i
3961 

◆ getaccflag_cll()

subroutine collier_init::getaccflag_cll ( integer, intent(out)  val)

Definition at line 2433 of file collier_init.F90.

2433 
2434  integer, intent(out) :: val
2435 
2436  val = accflag_cll
2437 

◆ getcalcuv_cll()

subroutine collier_init::getcalcuv_cll ( logical, intent(out)  CalcUV)

Definition at line 1229 of file collier_init.F90.

1229 
1230  logical, intent(out) :: CalcUV
1231 
1232  calcuv = calcuv_cll
1233 

◆ getcheckacc_cll()

subroutine collier_init::getcheckacc_cll ( double precision, intent(out)  acc)

Definition at line 2013 of file collier_init.F90.

2013 
2014  double precision, intent(out) :: acc
2015 
2016  acc = checkacc_cll
2017 

◆ getcpuprec_cll()

subroutine collier_init::getcpuprec_cll

Definition at line 1695 of file collier_init.F90.

1695 
1696  double precision :: dprec, dres_old, dres
1697  integer :: i
1698  logical :: infwri
1699 
1700  dprec = 1d0
1701  dres_old = 2d0
1702  do i=1,1000
1703  dprec = dprec/2d0
1704  dres = exp(log(1d0+dprec))
1705  if (abs(dres).ge.abs(dres_old)) exit
1706  dres_old = dres
1707  end do
1708  dprec_cll = dprec*8d0
1709 
1710  call setprec_coli(dprec_cll)
1711 
1712  infwri = .false.
1713  if (infoutlev_cll.ge.2) call infout_cll('GetCPUprec_cll','estimator of CPU double precision set to',infwri)
1714  if(infwri) write(ninfout_cll,*) ' dprec =', dprec_cll
1715 

◆ getcritacc_cll()

subroutine collier_init::getcritacc_cll ( double precision, intent(out)  acc)

Definition at line 1953 of file collier_init.F90.

1953 
1954  double precision, intent(out) :: acc
1955 
1956  acc = critacc_cll
1957 

◆ getdeltair_cll()

subroutine collier_init::getdeltair_cll ( double precision, intent(out)  delta1,
double precision, intent(out)  delta2 
)

Definition at line 888 of file collier_init.F90.

888 
889  double precision, intent(out) :: delta1,delta2
890 
891  delta1 = deltair1_cll
892  delta2 = deltair2_cll
893 

◆ getdeltauv_cll()

subroutine collier_init::getdeltauv_cll ( double precision, intent(out)  delta)

Definition at line 820 of file collier_init.F90.

820 
821  double precision, intent(out) :: delta
822 
823  delta = deltauv_cll
824 

◆ geterrflag_cll()

subroutine collier_init::geterrflag_cll ( integer, intent(out)  val)

Definition at line 2177 of file collier_init.F90.

2177 
2178  integer, intent(out) :: val
2179 
2180  val = errflag_cll
2181 

◆ geterroutlev_cll()

subroutine collier_init::geterroutlev_cll ( integer, intent(out)  erroutlev)

Definition at line 1645 of file collier_init.F90.

1645 
1646  integer, intent(out) :: erroutlev
1647 
1648  erroutlev = erroutlev_cll
1649 

◆ geterrstop_cll()

subroutine collier_init::geterrstop_cll ( integer  errstop)

Definition at line 1358 of file collier_init.F90.

1358  integer :: errstop
1359 
1360  errstop = errorstop_cll
1361 

◆ geteventcnt_cll()

subroutine collier_init::geteventcnt_cll ( integer  event)

Definition at line 564 of file collier_init.F90.

564 
565  integer :: event
566 
567  event = eventcnt_cll
568 

◆ getinfoutlev_cll()

subroutine collier_init::getinfoutlev_cll ( integer, intent(out)  infoutlev)

Definition at line 1601 of file collier_init.F90.

1601 
1602  integer, intent(out) :: infoutlev
1603 
1604  infoutlev = infoutlev_cll
1605 

◆ getminf2_cll()

subroutine collier_init::getminf2_cll ( double complex, dimension(nminf_cll), intent(out)  minf2)

Definition at line 1066 of file collier_init.F90.

1066 
1067  double complex, intent(out) :: minf2(nminf_cll)
1068 
1069  minf2 = minf2_cll
1070 

◆ getminf2dd_cll()

double complex function collier_init::getminf2dd_cll ( double complex  m2)

Definition at line 1083 of file collier_init.F90.

1083 
1084  double complex :: m2, minf2DD
1085  integer :: i
1086 
1087  do i=1,nminf_cll
1088  if (m2.eq.minf2_cll(i)) then
1089  minf2dd = i*1d-20
1090  return
1091  end if
1092  end do
1093  minf2dd = m2
1094 

◆ getmode_cll()

subroutine collier_init::getmode_cll ( integer, intent(out)  mode)

Definition at line 650 of file collier_init.F90.

650 
651  integer, intent(out) :: mode
652 
653  mode = mode_cll
654 

◆ getmuir2_cll()

subroutine collier_init::getmuir2_cll ( double precision, intent(out)  mu2)

Definition at line 756 of file collier_init.F90.

756 
757  double precision, intent(out) :: mu2
758 
759  mu2 = muir2_cll
760 

◆ getmuuv2_cll()

subroutine collier_init::getmuuv2_cll ( double precision, intent(out)  mu2)

Definition at line 704 of file collier_init.F90.

704 
705  double precision, intent(out) :: mu2
706 
707  mu2 = muuv2_cll
708 

◆ getnc_cll()

integer function collier_init::getnc_cll ( integer  N,
integer  r 
)

Definition at line 1107 of file collier_init.F90.

1107 
1108  integer :: Nc
1109  integer :: N,r
1110 
1111  if ((n.gt.nmax_cll).or.(n.lt.1).or.(r.gt.rmaxb_cll).or.(r.lt.1)) then
1112  if (erroutlev_cll.ge.1) then
1113  write(nerrout_cll,*) 'GetNc: argument N=',n,' or r=',r,' out of bound'
1114  end if
1115  nc=0
1116  return
1117  end if
1118  nc = ncoefs(r,n)
1119 

◆ getncheckout_cll()

subroutine collier_init::getncheckout_cll ( integer, intent(out)  ncheckout)

Definition at line 3291 of file collier_init.F90.

3291 
3292  integer, intent(out) :: ncheckout
3293 
3294  ncheckout = ncheckout_cll
3295 

◆ getncpoutcoli_cll()

subroutine collier_init::getncpoutcoli_cll ( integer, intent(out)  ncpout)

Definition at line 3352 of file collier_init.F90.

3352 
3353  integer, intent(out) :: ncpout
3354 
3355  ncpout = ncpoutcoli_cll
3356 

◆ getncritpointsout2_cll()

subroutine collier_init::getncritpointsout2_cll ( integer, intent(out)  ncritpointsout2)

Definition at line 3582 of file collier_init.F90.

3582 
3583  integer, intent(out) :: ncritpointsout2
3584 
3585  ncritpointsout2 = ncpout2_cll
3586 

◆ getncritpointsout_cll()

subroutine collier_init::getncritpointsout_cll ( integer, intent(out)  ncritpointsout)

Definition at line 3474 of file collier_init.F90.

3474 
3475  integer, intent(out) :: ncritpointsout
3476 
3477  ncritpointsout = ncpout_cll
3478 

◆ getnerrout_cll()

subroutine collier_init::getnerrout_cll ( integer, intent(out)  nerrout)

Definition at line 3097 of file collier_init.F90.

3097 
3098  integer, intent(out) :: nerrout
3099 
3100  nerrout = nerrout_cll
3101 

◆ getnerroutcoli_cll()

subroutine collier_init::getnerroutcoli_cll ( integer, intent(out)  nerrout)

Definition at line 3160 of file collier_init.F90.

3160 
3161  integer, intent(out) :: nerrout
3162 
3163  nerrout = nerroutcoli_cll
3164 

◆ getnerroutdd_cll()

subroutine collier_init::getnerroutdd_cll ( integer, intent(out)  nerrout)

Definition at line 3231 of file collier_init.F90.

3231 
3232  integer, intent(out) :: nerrout
3233 
3234  nerrout = nerroutdd_cll
3235 

◆ getninfout_cll()

subroutine collier_init::getninfout_cll ( integer, intent(out)  ninfout)

Definition at line 2974 of file collier_init.F90.

2974 
2975  integer, intent(out) :: ninfout
2976 
2977  ninfout = ninfout_cll
2978 

◆ getninfoutcoli_cll()

subroutine collier_init::getninfoutcoli_cll ( integer, intent(out)  ninfout)

Definition at line 3037 of file collier_init.F90.

3037 
3038  integer, intent(out) :: ninfout
3039 
3040  ninfout = ninfoutcoli_cll
3041 

◆ getnminf_cll()

subroutine collier_init::getnminf_cll ( integer, intent(out)  nminf)

Definition at line 1049 of file collier_init.F90.

1049 
1050  integer, intent(out) :: nminf
1051 
1052  nminf = nminf_cll
1053 

◆ getnstatsoutcoli_cll()

subroutine collier_init::getnstatsoutcoli_cll ( integer, intent(out)  nstatsout)

Definition at line 3415 of file collier_init.F90.

3415 
3416  integer, intent(out) :: nstatsout
3417 
3418  nstatsout = nstatsoutcoli_cll
3419 

◆ getnt_cll()

integer function collier_init::getnt_cll ( integer  r)

Definition at line 1132 of file collier_init.F90.

1132 
1133  integer :: Nt
1134  integer :: r
1135 
1136  if ((r.gt.rmaxb_cll).or.(r.lt.1)) then
1137  if (erroutlev_cll.ge.1) then
1138  write(nerrout_cll,*) 'GetNt: argument r=',r,' out of bound'
1139  end if
1140  nt=0
1141  return
1142  end if
1143  nt = rts(r)
1144 

◆ getoutchannels_cll()

subroutine collier_init::getoutchannels_cll ( integer, dimension(10), intent(out)  chans)

Definition at line 3599 of file collier_init.F90.

3599 
3600  integer, intent(out) :: chans(10)
3601 
3602  call getninfout_cll(chans(1))
3603  call getninfoutcoli_cll(chans(2))
3604  call getnerrout_cll(chans(3))
3605  call getnerroutcoli_cll(chans(4))
3606  call getnerroutdd_cll(chans(5))
3607  call getncheckout_cll(chans(6))
3608  call getncritpointsout_cll(chans(7))
3609  call getncritpointsout2_cll(chans(8))
3610  call getncpoutcoli_cll(chans(9))
3611  call getnstatsoutcoli_cll(chans(10))
3612 
3613 

◆ getoutputfolder_cll()

subroutine collier_init::getoutputfolder_cll ( character(len=*), intent(out)  fname)

Definition at line 3565 of file collier_init.F90.

3565 
3566  character(len=*), intent(out) :: fname
3567 
3568  fname = foldername_cll
3569 

◆ getreqacc_cll()

subroutine collier_init::getreqacc_cll ( double precision, intent(out)  acc)

Definition at line 1870 of file collier_init.F90.

1870 
1871  double precision, intent(out) :: acc
1872 
1873  acc = reqacc_cll
1874 

◆ getritmax_cll()

subroutine collier_init::getritmax_cll ( integer, intent(out)  ritmax)

Definition at line 2124 of file collier_init.F90.

2124 
2125  integer, intent(out) :: ritmax
2126 
2127  ritmax = ritmax_cll
2128 

◆ gettenred_cll()

subroutine collier_init::gettenred_cll ( integer, intent(out)  tenred)

Definition at line 1312 of file collier_init.F90.

1312 
1313  integer, intent(out) :: tenred
1314 
1315  tenred = tenred_cll
1316 

◆ getversionnumber_cll()

subroutine collier_init::getversionnumber_cll ( character(len=5)  version)

Definition at line 528 of file collier_init.F90.

528 
529  character(len=5) :: version
530 
531  version = version_cll
532 

◆ infout_cll()

subroutine collier_init::infout_cll ( character(len=*), intent(in)  sub,
character(len=*), intent(in)  inf,
logical, intent(out)  flag 
)

Definition at line 3907 of file collier_init.F90.

3907 
3908  character(len=*), intent(in) :: sub, inf
3909  logical, intent(out) :: flag
3910 ! integer, parameter :: maxErrOut=100
3911 
3912  flag = .false.
3913  if (infoutlev_cll.eq.0) return
3914 
3915  infcnt_cll = infcnt_cll + 1
3916  if(ninfout_cll.ne.closed_cll) then
3917  if (infcnt_cll.le.maxinfout_cll) then
3918  write(ninfout_cll,*)
3919  write(ninfout_cll,*)
3920  write(ninfout_cll,*)
3921  write(ninfout_cll,*) '***********************************************************'
3922  write(ninfout_cll,*) 'Info-output NO.', infcnt_cll
3923  write(ninfout_cll,*) 'in routine: ', trim(sub)
3924  write(ninfout_cll,*) trim(inf)
3925 ! call WriteMaster_cll(nerrout_cll)
3926  flag=.true.
3927  elseif (infcnt_cll.eq.maxinfout_cll+1) then
3928  write(ninfout_cll,*)
3929  write(ninfout_cll,*)
3930  write(ninfout_cll,*)
3931  write(ninfout_cll,*) '***********************************************************'
3932  write(ninfout_cll,*)
3933  write(ninfout_cll,*) ' Further output of information will be suppressed '
3934  write(ninfout_cll,*)
3935  endif
3936  endif
3937 

◆ init_cll()

subroutine collier_init::init_cll ( integer, intent(in)  Nmax,
integer, intent(in), optional  rmax,
character(len=*), intent(in), optional  folder_name,
logical, intent(in), optional  noreset 
)

Definition at line 59 of file collier_init.F90.

59 
60  integer, intent(in) :: Nmax
61  integer, optional, intent(in) :: rmax
62  character(len=*), optional, intent(in) :: folder_name
63  logical, optional, intent(in) :: noreset
64  integer :: mode,erroutlev,infoutlev,nminf,ritmax
65  integer :: ritmaxB,ritmaxC,ritmaxD
66  double precision :: muUV2, muIR2
67  double precision :: deltaUV, deltaIR1, deltaIR2
68  double complex, allocatable :: minf2(:)
69  double precision :: acc0, acc1, acc2
70  integer :: i,tenred,nchan,rmax0
71  logical :: reset
72  character(len=*),parameter :: fmt90 = "(A40,I10)"
73  character(len=*),parameter :: fmt91 = "(A40,Es17.10)"
74  character(len=*),parameter :: fmt95 = "(A47,I10)"
75  character(len=*),parameter :: fmt98 = &
76  "(7x,'minf2_cll(',i2,') = ',Es17.10)"
77  character(len=*),parameter :: fmt96 = &
78  "(7x,'cache no.',i2,': only internal calls cached')"
79  character(len=*),parameter :: fmt97 = &
80  "(7x,'cache no.',i2,': external and internal calls cached')"
81 
82  if (present(noreset)) then
83  if(noreset) then
84  reset = .false.
85  if (.not.initialized_cll) then
86  reset = .true.
87  else
88  if (present(folder_name)) then
89  if (nofiles_cll) then
90  if (len(trim(folder_name)).ne.0) then
91  reset = .true.
92  call reset_cll
93  end if
94  else
95  if (len(trim(folder_name)).eq.0) then
96  reset = .true.
97  call reset_cll
98  end if
99  end if
100  end if
101  end if
102  else
103  if (initialized_cll) call reset_cll
104  reset = .true.
105  end if
106  else
107  if (initialized_cll) call reset_cll
108  reset = .true.
109  end if
110 
111  if (reset) then
112  if (present(folder_name)) then
113  if (len(trim(folder_name)).eq.0) then
114  erroutlev = 0
115  infoutlev = 0
116  nofiles_cll = .true.
117  else
118  erroutlev = 1
119  infoutlev = 2
120  foldername_cll = trim(folder_name)
121  nofiles_cll = .false.
122  end if
123  else
124  erroutlev = 1
125  infoutlev = 2
126  foldername_cll = "output_cll"
127  nofiles_cll = .false.
128  end if
129  else
130  call geterroutlev_cll(erroutlev)
131  call getinfoutlev_cll(infoutlev)
132  end if
133 
134  nmax_cll = nmax
135  if(present(rmax)) then
136  rmax0 = rmax
137  else
138  rmax0 = nmax
139  end if
140  rmax_cll = rmax0
141 
142  call setinfoutlev_cll(0)
143  call seterroutlev_cll(0)
144 
145  call initcheckcnt_cll(.not.reset)
146  call initmaxcheck_cll(.not.reset)
147  if(.not.reset) then
148  if (monitoring) then
149  call initpointscnt_cll(.not.reset)
150  call initmaxcritpoints_cll(.not.reset)
151  end if
152  else
153  monitoring=.false.
154  end if
155 
156  if (reset) then
157  call initoutchan_cp_cll
158  call initoutchan_cll
159 
160  call initcheckcntdb_cll
161  call initmaxcheckdb_cll
162 
163  call setmaxerrout_cll(100)
164  call setmaxerroutcoli_cll(100)
165  call setmaxerroutdd_cll(100)
166  call setmaxinfout_cll(1000)
167 
168  if (erroutlev.ge.1) then
169 ! set output-file for potential errors
170  call execute_command_line('mkdir -p '//trim(foldername_cll))
171 
172  call initerrcnt_cll(0)
173  call openerroutfile_cll(trim(foldername_cll)//'/ErrOut.cll')
174 
175  call initerrcntcoli_cll()
176 ! call OpenErrOutFileCOLI_cll(trim(foldername_cll)//'/ErrOut.coli')
177 !
178  call initerrcntdd_cll()
179 ! call OpenErrOutFileDD_cll(trim(foldername_cll)//'/ErrOut.dd')
180  end if
181 
182  if (infoutlev.ge.1) then
183  call openinfoutfile_cll(trim(foldername_cll)//'/InfOut.cll')
184 
185 ! no output from COLI (comes via COLLIER)
186  call setinfoutlevcoli_cll(0)
187 
188  call initinfcnt_cll(0)
189 
190  end if
191  end if
192 
193 
194  ! default values.
195  mode = 1
196 
197  muuv2 = 1d0
198  muir2 = 1d0
199 
200  deltauv = 0d0
201  deltair1 = 0d0
202  deltair2 = 0d0
203 
204  ritmax = max(14,rmax0+4-nmax)
205  ritmaxd = ritmax
206  ritmaxc = ritmax+2
207  ritmaxb = ritmax+4
208 
209  ! initialise COLI
210  call initcoli_in_collier()
211  ! set global parameters for DD
212  call initglobaldd_cll(nmax,ritmax)
213  call ddsetcout_on(.false.)
214 
215  nminf = 0
216  if (allocated(minf2)) then
217  deallocate(minf2)
218  end if
219  allocate(minf2(nminf))
220 
221 ! required accuracy
222  acc0 = 1d-8
223 ! critical accuracy
224  acc1 = 1d-1 !CritPoints
225 ! check accuracy
226  acc2 = 1d-2
227 
228 
229  ! COLLIER mode
230  call setmode_cll(mode)
231 
232  ! set UV and IR parameters
233  call setmuuv2_cll(muuv2)
234  call setmuir2_cll(muir2)
235  call setdeltauv_cll(deltauv)
236  call setdeltair_cll(deltair1,deltair2)
237 
238  ! specify infinitesimal mass regulators
239  call setminf2_cll(nminf,minf2)
240 
241  ! CPU precision and accuracy
242  call getcpuprec_cll()
243  ! call SetAccuracy_cll(acc0,acc1,acc2)
244  call setreqacc_cll(acc0)
245  call setcritacc_cll(acc1)
246  call setcheckacc_cll(acc2)
247 
248  ! set maximum number of rank
249  call setritmax_cll(ritmax)
250 
251  ! initialize Cache-system
252  call initcachesystem_cll(0,nmax)
253 
254  ! initialize table of binomial coefficients
255  call setbinomtable(rmax0+max(nmax-2,4))
256 
257  ! initialization for tensors
258  call setindcombiseq(nmax-1,rmax0)
259  call setaddtocind(nmax-1,rmax0)
260  call setdropcind(nmax-1,rmax0)
261  call setdropcind2(nmax-1,rmax0)
262  call init_tables2(nmax-1,rmax0)
263 
264 ! ! initialize table of binomial coefficients
265 ! call SetBinomTable(2*Nmax)
266 !
267 ! ! initialization for tensors
268 ! call SetIndCombisEq(Nmax,Nmax)
269 ! call SetAddToCInd(Nmax,Nmax)
270 ! call SetDropCInd(Nmax,Nmax)
271 ! call SetDropCInd2(Nmax,Nmax)
272 ! call init_tables2(Nmax,Nmax)
273 
274  ! choose if UV poles are calculated completely
275  ! call SwitchOffCalcUV_cll()
276  call switchoncalcuv_cll()
277 
278  ! choose to include IR rational terms
279  call switchonirrational_cll()
280 
281  ! choose direct tensor reduction for N>=6
282  call switchontenred_cll()
283 
284  ! initialize counter PS points
285  call initeventcnt_cll()
286 
287  ! stop if fatal error occurs
288  call seterrstop_cll(-8)
289 
290 
291 ! call AddMinf2_cll(dcmplx(0.001d0))
292 
293  ! COLLIER has been initialized
294  initialized_cll = .true.
295  call setinfoutlev_cll(infoutlev)
296  call seterroutlev_cll(erroutlev)
297 
298  if (reset) then
299 
300  ! set standard output for infos
301  call writeintro_cll(stdout_cll)
302  if (infoutlev.ge.1) then
303  write(unit=stdout_cll,fmt=*) ' '
304  write(unit=stdout_cll,fmt=*) '***********************************************************'
305  write(unit=stdout_cll,fmt=*) ' '
306  write(unit=stdout_cll,fmt=*) ' COLLIER: information on settings and internal parameters '
307  write(unit=stdout_cll,fmt=*) ' is written to the file ',trim(foldername_cll)//'/InfOut.cll'
308  write(unit=stdout_cll,fmt=*) ' '
309  write(unit=stdout_cll,fmt=*) '***********************************************************'
310  write(unit=stdout_cll,fmt=*) ' '
311 
312  ! add here all the output for the default initialisation
313  write(unit=ninfout_cll,fmt=*) ' '
314  write(unit=ninfout_cll,fmt=*) '***********************************************************'
315  write(unit=ninfout_cll,fmt=*) ' Default initialization of COLLIER: '
316  write(unit=ninfout_cll,fmt=fmt90) ' COLLIER mode: mode_cll = ',mode_cll
317  select case (mode_cll)
318  case (1)
319  write(ninfout_cll,*) ' -> use COLI implementation'
320  case (2)
321  write(ninfout_cll,*) ' -> use DD implementation'
322  case (3)
323  write(ninfout_cll,*) ' -> check COLI against DD implementation'
324  end select
325  write(unit=ninfout_cll,fmt=*) '-----------------------------------------------------------'
326  write(unit=ninfout_cll,fmt=*) ' internal parameters: '
327  write(unit=ninfout_cll,fmt=fmt90) ' maximal degree: Nmax = ',nmax
328  write(unit=ninfout_cll,fmt=fmt91) ' UV scale: muUV2 = ',muuv2
329  write(unit=ninfout_cll,fmt=fmt91) ' IR scale: muIR2 = ',muir2
330  write(unit=ninfout_cll,fmt=fmt91) ' UV pole: deltaUV = ',deltauv
331  write(unit=ninfout_cll,fmt=fmt91) ' single IR pole: deltaIR1 = ',deltair1
332  write(unit=ninfout_cll,fmt=fmt91) ' double IR pole: deltaIR2 = ',deltair2
333  write(unit=ninfout_cll,fmt=fmt91) ' target precision: reqacc_cll = ',reqacc_cll
334  write(unit=ninfout_cll,fmt=fmt91) ' critical precision: critacc_cll = ',critacc_cll
335  write(unit=ninfout_cll,fmt=fmt91) ' check precision: checkacc_cll = ',checkacc_cll
336  write(unit=ninfout_cll,fmt=fmt91) ' est. CPU precision: dprec_cll = ',dprec_cll
337  write(unit=ninfout_cll,fmt=fmt90) ' maximal rank of Bs: ritmaxB = ',ritmaxb
338  write(unit=ninfout_cll,fmt=fmt90) ' maximal rank of Cs: ritmaxC = ',ritmaxc
339  write(unit=ninfout_cll,fmt=fmt90) ' maximal rank of Ds: ritmaxD = ',ritmaxd
340  write(unit=ninfout_cll,fmt=fmt90) ' stop forced for ErrorStop_cll <= ',errorstop_cll
341  write(unit=ninfout_cll,fmt=*) '-----------------------------------------------------------'
342 
343  if (allocated(minf2_cll)) then
344  write(unit=ninfout_cll,fmt=*) ' list of infinitesimal masses:'
345  do i=1,size(minf2_cll)
346  write(unit=ninfout_cll,fmt=fmt98) i,real(minf2_cll(i))
347  end do
348  end if
349 
350 
351  if (.not.allocated(minf2_cll)) then
352  write(unit=ninfout_cll,fmt=*) ' list of infinitesimal masses cleared'
353  end if
354 
355 
356  if (ir_rational_terms_cll) then
357  write(unit=ninfout_cll,fmt=*) ' IR rational terms switched on'
358  else
359  write(unit=ninfout_cll,fmt=*) ' IR rational terms switched off'
360  end if
361 
362  if (calcuv_cll) then
363  write(unit=ninfout_cll,fmt=*) ' UV terms for tensors switched on'
364  else
365  write(unit=ninfout_cll,fmt=*) ' UV terms for tensors switched off'
366  end if
367 
368  if (tenred_cll.eq.never_tenred_cll) then
369  write(unit=ninfout_cll,fmt=*) ' direct tensor reduction switched off'
370  else
371  write(unit=ninfout_cll,fmt=fmt90) ' direct tensor reduction for N >= ',tenred_cll
372  end if
373 
374  write(unit=ninfout_cll,fmt=*) '-----------------------------------------------------------'
375  if (use_cache_system) then
376  write(unit=ninfout_cll,fmt=*) ' cache system switched on'
377  write(unit=ninfout_cll,fmt=fmt90) ' initialized caches: ncache_max = ',ncache_max
378  do i=1,ncache_max
379  if (cache_mode(i).eq.-1) then
380  write(unit=ninfout_cll,fmt=fmt96) i
381  else
382  write(unit=ninfout_cll,fmt=fmt97) i
383  end if
384  end do
385  else
386  write(unit=ninfout_cll,fmt=*) ' cache system switched off'
387  end if
388 
389  write(unit=ninfout_cll,fmt=*) ' '
390  write(unit=ninfout_cll,fmt=*) '***********************************************************'
391  write(unit=ninfout_cll,fmt=*) ' '
392  end if
393 
394  end if
395 

◆ initaccflag_cll()

subroutine collier_init::initaccflag_cll

Definition at line 2401 of file collier_init.F90.

2401 
2402  call setaccflag_cll(0)
2403 

◆ initcheckcnt_cll()

subroutine collier_init::initcheckcnt_cll ( logical, optional  noreset)

Definition at line 3673 of file collier_init.F90.

3673  logical, optional :: noreset
3674  integer :: Nold
3675  integer, allocatable :: saveCnt(:)
3676 
3677 
3678  if (present(noreset).and.noreset) then
3679  nold = size(checkcnt_cll)
3680  if (nold.lt.nmax_cll) then
3681  allocate(savecnt(nold))
3682 
3683  savecnt = checkcnt_cll
3684  deallocate(checkcnt_cll)
3685  allocate(checkcnt_cll(nmax_cll))
3686  checkcnt_cll(1:nold) = savecnt
3687  checkcnt_cll(nold+1:nmax_cll) = 0
3688 
3689  savecnt = diffcnt_cll
3690  deallocate(diffcnt_cll)
3691  allocate(diffcnt_cll(nmax_cll))
3692  diffcnt_cll(1:nold) = savecnt
3693  diffcnt_cll(nold+1:nmax_cll) = 0
3694 
3695  savecnt = checkcntten_cll
3696  deallocate(checkcntten_cll)
3697  allocate(checkcntten_cll(nmax_cll))
3698  checkcntten_cll(1:nold) = savecnt
3699  checkcntten_cll(nold+1:nmax_cll) = 0
3700 
3701  savecnt = diffcntten_cll
3702  deallocate(diffcntten_cll)
3703  allocate(diffcntten_cll(nmax_cll))
3704  diffcntten_cll(1:nold) = savecnt
3705  diffcntten_cll(nold+1:nmax_cll) = 0
3706  end if
3707  else
3708  if (allocated(checkcnt_cll)) deallocate(checkcnt_cll)
3709  allocate(checkcnt_cll(nmax_cll))
3710  checkcnt_cll = 0
3711  if (allocated(diffcnt_cll)) deallocate(diffcnt_cll)
3712  allocate(diffcnt_cll(nmax_cll))
3713  diffcnt_cll = 0
3714  diffcntec_cll = 0
3715  if (allocated(checkcntten_cll)) deallocate(checkcntten_cll)
3716  allocate(checkcntten_cll(nmax_cll))
3717  checkcntten_cll = 0
3718  if (allocated(diffcntten_cll)) deallocate(diffcntten_cll)
3719  allocate(diffcntten_cll(nmax_cll))
3720  diffcntten_cll = 0
3721  endif
3722 

◆ initcheckcntdb_cll()

subroutine collier_init::initcheckcntdb_cll

Definition at line 3626 of file collier_init.F90.

3626 
3627  checkcntdb_cll = 0
3628  diffcntdb_cll = 0
3629 

◆ initcritpointscntcoli_cll()

subroutine collier_init::initcritpointscntcoli_cll ( integer, intent(in)  val)

Definition at line 2499 of file collier_init.F90.

2499 
2500  integer, intent(in) :: val
2501 
2502  critpointscntcoli_cll = val
2503  call initcritpointscnt_coli(val)
2504 

◆ initerrcnt_cll()

subroutine collier_init::initerrcnt_cll ( integer, intent(in)  val)

Definition at line 2309 of file collier_init.F90.

2309 
2310  integer, intent(in) :: val
2311 
2312  errcnt_cll = val
2313 

◆ initerrcntcoli_cll()

subroutine collier_init::initerrcntcoli_cll

Definition at line 2326 of file collier_init.F90.

2326 
2327 ! integer, intent(in) :: val
2328  integer :: val
2329 
2330  val = 0
2331  errcntcoli_cll = val
2332  call initerrcnt_coli(val)
2333 

◆ initerrcntdd_cll()

subroutine collier_init::initerrcntdd_cll

Definition at line 2364 of file collier_init.F90.

2364 
2365 ! integer, intent(in) :: val
2366 
2367 ! ErrCntDD_cll = val
2368  errcntdd_cll = 0
2369  call ddresetcout()
2370 

◆ initerrflag_cll()

subroutine collier_init::initerrflag_cll

Definition at line 2141 of file collier_init.F90.

2141 
2142  call seterrflag_cll(0)
2143  call seterrflag_coli(0)
2144  call seterrflag_dd(0)
2145 

◆ initevent_cll()

subroutine collier_init::initevent_cll ( integer, intent(in), optional  Ncache)

Definition at line 492 of file collier_init.F90.

492 
493  integer, optional, intent(in) :: Ncache
494  integer :: nc,errflag
495 
496  if (present(ncache)) then
497  nc = ncache
498  else
499  nc = 1
500  end if
501 
502  if (monitoring) then
503  erreventcnt(1) = erreventcnt(1) + 1
504  erreventcnt(errflag_cll) = erreventcnt(errflag_cll) + 1
505  acceventcnt(1) = acceventcnt(1) + 1
506  acceventcnt(accflag_cll) = acceventcnt(accflag_cll) + 1
507  end if
508 
509  if (use_cache_system) then
510  call initcache_cll(nc)
511  end if
512  call initerrflag_cll
513  call initaccflag_cll
514  eventcnt_cll = eventcnt_cll+1
515 

◆ initeventcnt_cll()

subroutine collier_init::initeventcnt_cll

Definition at line 545 of file collier_init.F90.

545 
546  logical :: infwri
547 
548  eventcnt_cll = 0
549 
550  if (infoutlev_cll.ge.2) call infout_cll('InitEventCnt_cll','phase-space point counter set to zero',infwri)
551 

◆ initglobaldd_cll()

subroutine collier_init::initglobaldd_cll ( integer, intent(in)  nmax_cll,
integer, intent(in)  ritmax_cll 
)

Definition at line 1662 of file collier_init.F90.

1662 
1663  integer, intent(in) :: nmax_cll,ritmax_cll
1664  integer :: nmax,rmax,rmax2,rmax3,rmax4,rmax5,rmax6
1665  integer :: outlevel_dd,outchannel_dd,mode34_dd,mode5_dd,mode6_dd
1666  double precision :: cacc_dd,dacc_dd
1667 
1668  call init_dd_global(nmax_cll,ritmax_cll)
1669 
1670  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
1671  call ddsetmode(cacc_dd,dacc_dd,2,0,0,0,outchannel_dd)
1672  call ddgetglobal(nmax,rmax,rmax2,rmax3, &
1673  rmax4,rmax5,rmax6)
1674 
1675  nmax_dd = nmax
1676  rmax_dd = rmax
1677  rmax2_dd = rmax2
1678  rmax3_dd = rmax3
1679  rmax4_dd = rmax4
1680  rmax5_dd = rmax5
1681  rmax6_dd = rmax6
1682 

◆ initinfcnt_cll()

subroutine collier_init::initinfcnt_cll ( integer, intent(in)  val)

Definition at line 2292 of file collier_init.F90.

2292 
2293  integer, intent(in) :: val
2294 
2295  infcnt_cll = val
2296 

◆ initmaxcheck_cll()

subroutine collier_init::initmaxcheck_cll ( logical, optional  noreset)

Definition at line 3735 of file collier_init.F90.

3735  logical, optional :: noreset
3736  integer :: Nold
3737  integer, allocatable :: saveMax(:)
3738 
3739  if (present(noreset).and.noreset) then
3740  nold = size(maxcheck_cll)
3741  if (nold.lt.nmax_cll) then
3742  allocate(savemax(nold))
3743 
3744  savemax = maxcheck_cll
3745  deallocate(maxcheck_cll)
3746  allocate(maxcheck_cll(nmax_cll))
3747  maxcheck_cll(1:nold) = savemax
3748  maxcheck_cll(nold+1:nmax_cll) = 50
3749  end if
3750 
3751  else
3752  if (allocated(maxcheck_cll)) deallocate(maxcheck_cll)
3753  allocate(maxcheck_cll(nmax_cll))
3754  maxcheck_cll = 50
3755  end if
3756 
3757  maxcheckec_cll = 50
3758 

◆ initmaxcheckdb_cll()

subroutine collier_init::initmaxcheckdb_cll

Definition at line 3642 of file collier_init.F90.

3642 
3643  maxcheckdb_cll = 50
3644 

◆ initmaxcritpoints_cll()

subroutine collier_init::initmaxcritpoints_cll ( logical, optional  noreset)

Definition at line 3837 of file collier_init.F90.

3837 
3838  logical, optional :: noreset
3839  integer :: Nold
3840  integer, allocatable :: saveMax(:)
3841 
3842  if (present(noreset).and.noreset) then
3843  nold = size(noutcritpointsmax_cll)
3844  if (nold.lt.nmax_cll) then
3845  allocate(savemax(nold))
3846  savemax = noutcritpointsmax_cll
3847  deallocate(noutcritpointsmax_cll)
3848  allocate(noutcritpointsmax_cll(nmax_cll))
3849  noutcritpointsmax_cll(1:nold) = savemax
3850  noutcritpointsmax_cll(nold+1:nmax_cll) = 50
3851  end if
3852 
3853  else
3854  if (allocated(noutcritpointsmax_cll)) deallocate(noutcritpointsmax_cll)
3855  allocate(noutcritpointsmax_cll(nmax_cll))
3856  noutcritpointsmax_cll = 50
3857  end if
3858 

◆ initmaxcritpointsdb_cll()

subroutine collier_init::initmaxcritpointsdb_cll

Definition at line 3805 of file collier_init.F90.

3805 
3806  noutcritpointsmaxdb_cll = 50
3807 

◆ initmonitoring_cll()

subroutine collier_init::initmonitoring_cll

Definition at line 2766 of file collier_init.F90.

2766 
2767  logical :: infwri
2768 
2769 ! changed 29.02.2016 AD
2770 ! if (Monitoring) then
2771 ! if (infoutlev_cll.ge.2) call InfOut_cll('InitMonitoring_cll','CritPointsMonitor already initialized',infwri)
2772 ! return
2773 ! endif
2774 
2775  if (monitoring) then
2776  if (infoutlev_cll.ge.2) call infout_cll('InitMonitoring_cll','CritPointsMonitor re-initialized',infwri)
2777  else
2778  if (infoutlev_cll.ge.2) call infout_cll('InitMonitoring_cll','CritPointsMonitor initialized',infwri)
2779  endif
2780 
2781  monitoring = .true.
2782 
2783  call initpointscnt_cll()
2784  call initmaxcritpoints_cll
2785  call initmaxcritpointsdb_cll
2786  call opencritpointsoutfile_cll(trim(foldername_cll)//'/CritPointsOut.cll')
2787 
2788 #ifdef CritPoints2
2789  call opencritpointsoutfile2_cll(trim(foldername_cll)//'/CritPointsOut2.cll')
2790 #endif
2791 
2792 #ifdef CritPointsCOLI
2793  call initcritpointscntcoli_cll(0)
2794  call opencritpointsoutfilecoli_cll(trim(foldername_cll)//'/CritPointsOut.coli')
2795 #endif
2796 

◆ initoutchan_cll()

subroutine collier_init::initoutchan_cll ( logical, optional  init_stdout)

Definition at line 2809 of file collier_init.F90.

2809 
2810  logical, optional :: init_stdout
2811  integer :: outlevel_dd,outchannel_dd,mode34_dd,mode5_dd,mode6_dd
2812  double precision :: cacc_dd,dacc_dd
2813  logical :: stdflag
2814 
2815  if(present(init_stdout)) then
2816  stdflag=init_stdout
2817  else
2818  stdflag=.true.
2819  end if
2820 
2821  if(stdflag.or.(nerrout_cll.ne.stdout_cll)) then
2822  nerrout_cll = closed_cll
2823  fname_errout_cll = ''
2824  end if
2825 
2826  if(stdflag.or.(nerroutcoli_cll.ne.stdout_cll)) then
2827  nerroutcoli_cll = closed_cll
2828  call setnerrout_coli(nerroutcoli_cll)
2829  fname_erroutcoli_cll = ''
2830  end if
2831 
2832  if(stdflag.or.(nerroutdd_cll.ne.stdout_cll)) then
2833  nerroutdd_cll = closed_cll
2834  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
2835  call ddsetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,nerroutdd_cll)
2836  call ddsetcout_on(.false.)
2837  fname_erroutdd_cll = ''
2838  end if
2839 
2840  if(stdflag.or.(ninfout_cll.ne.stdout_cll)) then
2841  ninfout_cll = closed_cll
2842  fname_infout_cll = ''
2843  end if
2844 
2845  if(stdflag.or.(ninfoutcoli_cll.ne.stdout_cll)) then
2846  ninfoutcoli_cll = closed_cll
2847  call setninfout_coli(ninfoutcoli_cll)
2848  fname_infoutcoli_cll = ''
2849  end if
2850 
2851  if(stdflag.or.(ncheckout_cll.ne.stdout_cll)) then
2852  ncheckout_cll = closed_cll
2853  fname_checkout_cll = ''
2854  end if
2855 
2856  if(stdflag.or.(ncpoutcoli_cll.ne.stdout_cll)) then
2857  ncpoutcoli_cll = closed_cll
2858  call setncpout_coli(ncpoutcoli_cll)
2859  fname_cpoutcoli_cll = ''
2860  end if
2861 
2862  if(stdflag.or.(ncpout_cll.ne.stdout_cll)) then
2863  ncpout_cll = closed_cll
2864  fname_cpout_cll = ''
2865  end if
2866 
2867  if(stdflag.or.(ncpout2_cll.ne.stdout_cll)) then
2868  ncpout2_cll = closed_cll
2869  fname_cpout2_cll = ''
2870  end if
2871 
2872  if(stdflag.or.(nstatsoutcoli_cll.ne.stdout_cll)) then
2873  nstatsoutcoli_cll = closed_cll
2874  call setnstatsout_coli(nstatsoutcoli_cll)
2875  fname_statsoutcoli_cll = ''
2876  end if
2877 
2878 ! qopened_critcoli = .false.
2879 ! qopened_crit = .false.
2880 ! qopened_crit2 = .false.
2881 ! qopened_check = .false.
2882 ! qopened_statscoli = .false.
2883 
2884 

◆ initoutchan_cp_cll()

subroutine collier_init::initoutchan_cp_cll

Definition at line 2897 of file collier_init.F90.

2897 
2898  nerrout_cp_cll = closed_cll
2899  fname_errout_cp_cll = ''
2900  nerroutcoli_cp_cll = closed_cll
2901  fname_erroutcoli_cp_cll = ''
2902  nerroutdd_cp_cll = closed_cll
2903  fname_erroutdd_cp_cll = ''
2904  ninfout_cp_cll = closed_cll
2905  fname_infout_cp_cll = ''
2906  ninfoutcoli_cp_cll = closed_cll
2907  fname_infoutcoli_cp_cll = ''
2908  ncheckout_cp_cll = closed_cll
2909  fname_checkout_cp_cll = ''
2910  ncpoutcoli_cp_cll = closed_cll
2911  fname_cpoutcoli_cp_cll = ''
2912  ncpout_cp_cll = closed_cll
2913  fname_cpout_cp_cll = ''
2914  ncpout2_cp_cll = closed_cll
2915  fname_cpout2_cp_cll = ''
2916  nstatsoutcoli_cp_cll = closed_cll
2917  fname_statsoutcoli_cp_cll = ''
2918 

◆ initpointscnt_cll()

subroutine collier_init::initpointscnt_cll ( logical, optional  noreset)

Definition at line 2517 of file collier_init.F90.

2517 
2518  logical, optional :: noreset
2519  integer :: Nold
2520  integer, allocatable :: saveCnt(:)
2521 
2522 
2523  if (present(noreset).and.noreset) then
2524  nold = size(checkcnt_cll)
2525  if (nold.lt.nmax_cll) then
2526  allocate(savecnt(nold))
2527 
2528  savecnt = pointscnttn_cll
2529  deallocate(pointscnttn_cll)
2530  allocate(pointscnttn_cll(nmax_cll))
2531  pointscnttn_cll(1:nold) = savecnt
2532  pointscnttn_cll(nold+1:nmax_cll) = 0
2533 
2534  savecnt = accpointscnttn_cll
2535  deallocate(accpointscnttn_cll)
2536  allocate(accpointscnttn_cll(nmax_cll))
2537  accpointscnttn_cll(1:nold) = savecnt
2538  accpointscnttn_cll(nold+1:nmax_cll) = 0
2539 
2540  savecnt = critpointscnttn_cll
2541  deallocate(critpointscnttn_cll)
2542  allocate(critpointscnttn_cll(nmax_cll))
2543  critpointscnttn_cll(1:nold) = savecnt
2544  critpointscnttn_cll(nold+1:nmax_cll) = 0
2545 
2546  savecnt = accpointscnttn2_cll
2547  deallocate(accpointscnttn2_cll)
2548  allocate(accpointscnttn2_cll(nmax_cll))
2549  accpointscnttn2_cll(1:nold) = savecnt
2550  accpointscnttn2_cll(nold+1:nmax_cll) = 0
2551 
2552  savecnt = critpointscnttn2_cll
2553  deallocate(critpointscnttn2_cll)
2554  allocate(critpointscnttn2_cll(nmax_cll))
2555  critpointscnttn2_cll(1:nold) = savecnt
2556  critpointscnttn2_cll(nold+1:nmax_cll) = 0
2557 
2558  savecnt = pointscnttn_coli
2559  deallocate(pointscnttn_coli)
2560  allocate(pointscnttn_coli(nmax_cll))
2561  pointscnttn_coli(1:nold) = savecnt
2562  pointscnttn_coli(nold+1:nmax_cll) = 0
2563 
2564  savecnt = pointscnttn_dd
2565  deallocate(pointscnttn_dd)
2566  allocate(pointscnttn_dd(nmax_cll))
2567  pointscnttn_dd(1:nold) = savecnt
2568  pointscnttn_dd(nold+1:nmax_cll) = 0
2569 
2570  savecnt = pointscnttnten_cll
2571  deallocate(pointscnttnten_cll)
2572  allocate(pointscnttnten_cll(nmax_cll))
2573  pointscnttnten_cll(1:nold) = savecnt
2574  pointscnttnten_cll(nold+1:nmax_cll) = 0
2575 
2576  savecnt = accpointscnttnten_cll
2577  deallocate(accpointscnttnten_cll)
2578  allocate(accpointscnttn_cll(nmax_cll))
2579  accpointscnttn_cll(1:nold) = savecnt
2580  accpointscnttn_cll(nold+1:nmax_cll) = 0
2581 
2582  savecnt = critpointscnttnten_cll
2583  deallocate(critpointscnttnten_cll)
2584  allocate(critpointscnttnten_cll(nmax_cll))
2585  critpointscnttnten_cll(1:nold) = savecnt
2586  critpointscnttnten_cll(nold+1:nmax_cll) = 0
2587 
2588  savecnt = pointscnttnten_coli
2589  deallocate(pointscnttnten_coli)
2590  allocate(pointscnttnten_coli(nmax_cll))
2591  pointscnttnten_coli(1:nold) = savecnt
2592  pointscnttnten_coli(nold+1:nmax_cll) = 0
2593 
2594  savecnt = pointscnttnten_dd
2595  deallocate(pointscnttnten_dd)
2596  allocate(pointscnttnten_dd(nmax_cll))
2597  pointscnttnten_dd(1:nold) = savecnt
2598  pointscnttnten_dd(nold+1:nmax_cll) = 0
2599 
2600  end if
2601 
2602  else
2603  if(allocated(pointscnttn_cll)) deallocate(pointscnttn_cll)
2604  if(allocated(accpointscnttn_cll)) deallocate(accpointscnttn_cll)
2605  if(allocated(critpointscnttn_cll)) deallocate(critpointscnttn_cll)
2606  if(allocated(accpointscnttn2_cll)) deallocate(accpointscnttn2_cll)
2607  if(allocated(critpointscnttn2_cll)) deallocate(critpointscnttn2_cll)
2608  if(allocated(pointscnttn_coli)) deallocate(pointscnttn_coli)
2609  if(allocated(pointscnttn_dd)) deallocate(pointscnttn_dd)
2610  if(allocated(pointscnttnten_cll)) deallocate(pointscnttnten_cll)
2611  if(allocated(accpointscnttnten_cll)) deallocate(accpointscnttnten_cll)
2612  if(allocated(critpointscnttnten_cll)) deallocate(critpointscnttnten_cll)
2613  if(allocated(pointscnttnten_coli)) deallocate(pointscnttnten_coli)
2614  if(allocated(pointscnttnten_dd)) deallocate(pointscnttnten_dd)
2615 
2616  ! re-allocate Counters for Critical Points
2617  allocate(pointscnttn_cll(nmax_cll))
2618  allocate(accpointscnttn_cll(nmax_cll))
2619  allocate(critpointscnttn_cll(nmax_cll))
2620  allocate(accpointscnttn2_cll(nmax_cll))
2621  allocate(critpointscnttn2_cll(nmax_cll))
2622  allocate(pointscnttn_coli(nmax_cll))
2623  allocate(pointscnttn_dd(nmax_cll))
2624  allocate(pointscnttnten_cll(nmax_cll))
2625  allocate(accpointscnttnten_cll(nmax_cll))
2626  allocate(critpointscnttnten_cll(nmax_cll))
2627  allocate(pointscnttnten_coli(nmax_cll))
2628  allocate(pointscnttnten_dd(nmax_cll))
2629 
2630  pointscnta_cll = 0
2631  pointscntb_cll = 0
2632  pointscntc_cll = 0
2633  pointscntd_cll = 0
2634  pointscnte_cll = 0
2635  pointscntf_cll = 0
2636  pointscntg_cll = 0
2637  pointscnttn_cll = 0
2638  pointscntdb_cll = 0
2639  accpointscnta_cll = 0
2640  accpointscntb_cll = 0
2641  accpointscntc_cll = 0
2642  accpointscntd_cll = 0
2643  accpointscnte_cll = 0
2644  accpointscntf_cll = 0
2645  accpointscntg_cll = 0
2646  accpointscnttn_cll = 0
2647  accpointscntdb_cll = 0
2648  critpointscnta_cll = 0
2649  critpointscntb_cll = 0
2650  critpointscntc_cll = 0
2651  critpointscntd_cll = 0
2652  critpointscnte_cll = 0
2653  critpointscntf_cll = 0
2654  critpointscntg_cll = 0
2655  critpointscnttn_cll = 0
2656  critpointscntdb_cll = 0
2657 
2658  accpointscnta2_cll = 0
2659  accpointscntb2_cll = 0
2660  accpointscntc2_cll = 0
2661  accpointscntd2_cll = 0
2662  accpointscnte2_cll = 0
2663  accpointscntf2_cll = 0
2664  accpointscntg2_cll = 0
2665  accpointscnttn2_cll = 0
2666  accpointscntdb2_cll = 0
2667  critpointscnta2_cll = 0
2668  critpointscntb2_cll = 0
2669  critpointscntc2_cll = 0
2670  critpointscntd2_cll = 0
2671  critpointscnte2_cll = 0
2672  critpointscntf2_cll = 0
2673  critpointscntg2_cll = 0
2674  critpointscnttn2_cll = 0
2675  critpointscntdb2_cll = 0
2676 
2677  pointscnta_coli = 0
2678  pointscntb_coli = 0
2679  pointscntc_coli = 0
2680  pointscntd_coli = 0
2681  pointscnte_coli = 0
2682  pointscntf_coli = 0
2683  pointscntg_coli = 0
2684  pointscnttn_coli = 0
2685  pointscntdb_coli = 0
2686 
2687  pointscnta_dd = 0
2688  pointscntb_dd = 0
2689  pointscntc_dd = 0
2690  pointscntd_dd = 0
2691  pointscnte_dd = 0
2692  pointscntf_dd = 0
2693  pointscntg_dd = 0
2694  pointscnttn_dd = 0
2695  pointscntdb_dd = 0
2696 
2697  pointscntaten_cll = 0
2698  pointscntbten_cll = 0
2699  pointscntcten_cll = 0
2700  pointscntdten_cll = 0
2701  pointscnteten_cll = 0
2702  pointscntften_cll = 0
2703  pointscntgten_cll = 0
2704  pointscnttnten_cll = 0
2705  pointscntdbten_cll = 0
2706  accpointscntaten_cll = 0
2707  accpointscntbten_cll = 0
2708  accpointscntcten_cll = 0
2709  accpointscntdten_cll = 0
2710  accpointscnteten_cll = 0
2711  accpointscntften_cll = 0
2712  accpointscntgten_cll = 0
2713  accpointscnttnten_cll = 0
2714  accpointscntdbten_cll = 0
2715  critpointscntaten_cll = 0
2716  critpointscntbten_cll = 0
2717  critpointscntcten_cll = 0
2718  critpointscntdten_cll = 0
2719  critpointscnteten_cll = 0
2720  critpointscntften_cll = 0
2721  critpointscntgten_cll = 0
2722  critpointscnttnten_cll = 0
2723  critpointscntdbten_cll = 0
2724 
2725 
2726  pointscntaten_coli = 0
2727  pointscntbten_coli = 0
2728  pointscntcten_coli = 0
2729  pointscntdten_coli = 0
2730  pointscnteten_coli = 0
2731  pointscntften_coli = 0
2732  pointscntgten_coli = 0
2733  pointscnttnten_coli = 0
2734  pointscntdbten_coli = 0
2735 
2736  pointscntaten_dd = 0
2737  pointscntbten_dd = 0
2738  pointscntcten_dd = 0
2739  pointscntdten_dd = 0
2740  pointscnteten_dd = 0
2741  pointscntften_dd = 0
2742  pointscntgten_dd = 0
2743  pointscnttnten_dd = 0
2744  pointscntdbten_dd = 0
2745 
2746  errcntcoli = 0
2747  errcntdd = 0
2748  errcnt = 0
2749  acccnt = 0
2750  erreventcnt = 0
2751  acceventcnt = 0
2752 
2753  end if
2754 

◆ opencheckoutfile_cll()

subroutine collier_init::opencheckoutfile_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4349 of file collier_init.F90.

4349 
4350  character(len=*), intent(in) :: filename
4351  integer, optional, intent(in) :: nchan
4352  character(len=8) :: da
4353  character(len=10) :: ti
4354  logical :: qopened
4355 
4356  ! return if output into files is suppressed
4357  if (nofiles_cll) return
4358 
4359  ! close channel used so far
4360  if(ncheckout_cll.ne.closed_cll) then
4361  inquire(ncheckout_cll, opened=qopened)
4362  if(qopened.and.ncheckout_cll.ne.stdout_cll) close(unit=ncheckout_cll)
4363  end if
4364 
4365  ! set new channel and close if open
4366  if (present(nchan)) then
4367  ncheckout_cll = nchan
4368  ! return if output shall be written as standard output
4369  if (ncheckout_cll.eq.stdout_cll) return
4370  inquire(ncheckout_cll, opened=qopened)
4371  if(qopened) close(unit=ncheckout_cll)
4372  else
4373  ncheckout_cll = findfreechannel_cll()
4374  end if
4375 
4376  ! open file 'filename' as unit ncheckout_cll
4377  fname_checkout_cll = trim(filename)
4378  open(unit=ncheckout_cll,file=trim(fname_checkout_cll),form='formatted',access='sequential',status='replace')
4379  qopened_check=.true.
4380 
4381  ! write intro
4382  call writeintro_cll(ncheckout_cll)
4383  call date_and_time(date=da,time=ti)
4384  write(unit=ncheckout_cll,fmt=*) ' '
4385  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
4386  write(unit=ncheckout_cll,fmt=*) ' '
4387  write(unit=ncheckout_cll,fmt=*) ' file containing integrals which lead to '
4388  write(unit=ncheckout_cll,fmt=*) ' different results in COLI and DD '
4389  write(unit=ncheckout_cll,fmt=*) ' '
4390  write(unit=ncheckout_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4391  ' ', ti(1:2), ':', ti(3:4)
4392  write(unit=ncheckout_cll,fmt=*) ' '
4393  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
4394  write(unit=ncheckout_cll,fmt=*) ' '
4395  write(unit=ncheckout_cll,fmt='(A28,Es15.8)') &
4396  ' Check precision: checkacc =',checkacc_cll
4397  write(unit=ncheckout_cll,fmt=*) ' '
4398  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
4399  write(unit=ncheckout_cll,fmt=*) ' '
4400 

◆ opencritpointsoutfile2_cll()

subroutine collier_init::opencritpointsoutfile2_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4286 of file collier_init.F90.

4286 
4287  character(len=*), intent(in) :: filename
4288  integer, optional, intent(in) :: nchan
4289  character(len=8) :: da
4290  character(len=10) :: ti
4291  logical :: qopened
4292 
4293  ! return if output into files is suppressed
4294  if (nofiles_cll) return
4295 
4296  ! close channel used so far
4297  if(ncpout2_cll.ne.closed_cll) then
4298  inquire(ncpout2_cll, opened=qopened)
4299  if(qopened.and.ncpout2_cll.ne.stdout_cll) close(unit=ncpout2_cll)
4300  end if
4301 
4302  ! set new channel and close if open
4303  if (present(nchan)) then
4304  ncpout2_cll = nchan
4305  ! return if output shall be written as standard output
4306  if (ncpout2_cll.eq.stdout_cll) return
4307  inquire(ncpout2_cll, opened=qopened)
4308  if(qopened) close(unit=ncpout2_cll)
4309  else
4310  ncpout2_cll = findfreechannel_cll()
4311  end if
4312 
4313  ! open file 'filename' as unit ncpout2_cll
4314  fname_cpout2_cll = trim(filename)
4315  open(unit=ncpout2_cll,file=trim(fname_cpout2_cll),form='formatted',access='sequential',status='replace')
4316 ! qopened_crit2=.true.
4317 
4318  ! write intro
4319  call writeintro_cll(ncpout2_cll)
4320  call date_and_time(date=da,time=ti)
4321  write(unit=ncpout2_cll,fmt=*) ' '
4322  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
4323  write(unit=ncpout2_cll,fmt=*) ' '
4324  write(unit=ncpout2_cll,fmt=*) ' file containing problematic integrals with '
4325  write(unit=ncpout2_cll,fmt=*) ' errors estimated to be above a given limit '
4326  write(unit=ncpout2_cll,fmt=*) ' '
4327  write(unit=ncpout2_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4328  ' ', ti(1:2), ':', ti(3:4)
4329  write(unit=ncpout2_cll,fmt=*) ' '
4330  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
4331  write(unit=ncpout2_cll,fmt=*) ' '
4332  write(unit=ncpout2_cll,fmt='(A30,Es15.8)') &
4333  ' Critical precision: critacc =',critacc_cll
4334  write(unit=ncpout2_cll,fmt=*) ' '
4335  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
4336  write(unit=ncpout2_cll,fmt=*)

◆ opencritpointsoutfile_cll()

subroutine collier_init::opencritpointsoutfile_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4222 of file collier_init.F90.

4222 
4223  character(len=*), intent(in) :: filename
4224  integer, optional, intent(in) :: nchan
4225  character(len=8) :: da
4226  character(len=10) :: ti
4227  logical :: qopened
4228 
4229  ! return if output into files is suppressed
4230  if (nofiles_cll) return
4231 
4232  ! close channel used so far
4233  if(ncpout_cll.ne.closed_cll) then
4234  inquire(ncpout_cll, opened=qopened)
4235  if(qopened.and.ncpout_cll.ne.stdout_cll) close(unit=ncpout_cll)
4236  end if
4237 
4238  ! set new channel and close if open
4239  if (present(nchan)) then
4240  ncpout_cll = nchan
4241  ! return if output shall be written as standard output
4242  if (ncpout_cll.eq.stdout_cll) return
4243  inquire(ncpout_cll, opened=qopened)
4244  if(qopened) close(unit=ncpout_cll)
4245  else
4246  ncpout_cll = findfreechannel_cll()
4247  end if
4248 
4249  ! open file 'filename' as unit ncpout_cll
4250  fname_cpout_cll = trim(filename)
4251  open(unit=ncpout_cll,file=trim(fname_cpout_cll),form='formatted',access='sequential',status='replace')
4252 ! qopened_crit=.true.
4253 
4254  ! write intro
4255  call writeintro_cll(ncpout_cll)
4256  call date_and_time(date=da,time=ti)
4257  write(unit=ncpout_cll,fmt=*) ' '
4258  write(unit=ncpout_cll,fmt=*) '***********************************************************'
4259  write(unit=ncpout_cll,fmt=*) ' '
4260  write(unit=ncpout_cll,fmt=*) ' file containing problematic integrals with '
4261  write(unit=ncpout_cll,fmt=*) ' errors estimated to be above a given limit '
4262  write(unit=ncpout_cll,fmt=*) ' '
4263  write(unit=ncpout_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4264  ' ', ti(1:2), ':', ti(3:4)
4265  write(unit=ncpout_cll,fmt=*) ' '
4266  write(unit=ncpout_cll,fmt=*) '***********************************************************'
4267  write(unit=ncpout_cll,fmt=*) ' '
4268  write(unit=ncpout_cll,fmt='(A30,Es15.8)') &
4269  ' Critical precision: critacc =',critacc_cll
4270  write(unit=ncpout_cll,fmt=*) ' '
4271  write(unit=ncpout_cll,fmt=*) '***********************************************************'
4272  write(unit=ncpout_cll,fmt=*)
4273 

◆ opencritpointsoutfilecoli_cll()

subroutine collier_init::opencritpointsoutfilecoli_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4156 of file collier_init.F90.

4156 
4157  character(len=*), intent(in) :: filename
4158  integer, optional, intent(in) :: nchan
4159  character(len=8) :: da
4160  character(len=10) :: ti
4161  logical :: qopened
4162 
4163  ! return if output into files is suppressed
4164  if (nofiles_cll) return
4165 
4166  ! close channel used so far
4167  if(ncpoutcoli_cll.ne.closed_cll) then
4168  inquire(ncpoutcoli_cll, opened=qopened)
4169  if(qopened.and.ncpoutcoli_cll.ne.stdout_cll) close(unit=ncpoutcoli_cll)
4170  end if
4171 
4172  ! set new channel and close if open
4173  if (present(nchan)) then
4174  ncpoutcoli_cll = nchan
4175  call setncpout_coli(ncpoutcoli_cll)
4176  ! return if output shall be written as standard output
4177  if (ncpoutcoli_cll.eq.stdout_cll) return
4178  inquire(ncpoutcoli_cll, opened=qopened)
4179  if(qopened) close(unit=ncpoutcoli_cll)
4180  else
4181  ncpoutcoli_cll = findfreechannel_cll()
4182  call setncpout_coli(ncpoutcoli_cll)
4183  end if
4184 
4185  ! open file 'filename' as unit unit=ncpoutcoli_cll
4186  fname_cpoutcoli_cll = trim(filename)
4187  open(unit=ncpoutcoli_cll,file=trim(fname_cpoutcoli_cll),form='formatted',access='sequential',status='replace')
4188 ! qopened_critcoli=.true.
4189 
4190  ! write intro
4191  call writeintro_cll(ncpoutcoli_cll)
4192  call date_and_time(date=da,time=ti)
4193  write(unit=ncpoutcoli_cll,fmt=*) ' '
4194  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
4195  write(unit=ncpoutcoli_cll,fmt=*) ' '
4196  write(unit=ncpoutcoli_cll,fmt=*) ' file containing problematic integrals of COLI '
4197  write(unit=ncpoutcoli_cll,fmt=*) ' with errors estimated to be above a given limit '
4198  write(unit=ncpoutcoli_cll,fmt=*) ' '
4199  write(unit=ncpoutcoli_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4200  ' ', ti(1:2), ':', ti(3:4)
4201  write(unit=ncpoutcoli_cll,fmt=*) ' '
4202  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
4203  write(unit=ncpoutcoli_cll,fmt=*) ' '
4204  write(unit=ncpoutcoli_cll,fmt='(A30,Es15.8)') &
4205  ' Critical precision: critacc =',critacc_cll
4206  write(unit=ncpoutcoli_cll,fmt=*) ' '
4207  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
4208  write(unit=ncpoutcoli_cll,fmt=*) ' '
4209 
4210 

◆ openerroutfile_cll()

subroutine collier_init::openerroutfile_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 3974 of file collier_init.F90.

3974 
3975  character(len=*), intent(in) :: filename
3976  integer, optional, intent(in) :: nchan
3977  character(len=8) :: da
3978  character(len=10) :: ti
3979  logical :: qopened
3980 
3981  ! return if output into files is suppressed
3982  if (nofiles_cll) return
3983 
3984  ! close channel used so far
3985  if(nerrout_cll.ne.closed_cll) then
3986  inquire(nerrout_cll, opened=qopened)
3987  if(qopened.and.nerrout_cll.ne.stdout_cll) close(unit=nerrout_cll)
3988  end if
3989 
3990  ! set new channel and close if open
3991  if (present(nchan)) then
3992  nerrout_cll = nchan
3993  ! return if output shall be written as standard output
3994  if (nerrout_cll.eq.stdout_cll) return
3995  inquire(nerrout_cll, opened=qopened)
3996  if(qopened) close(unit=nerrout_cll)
3997  else
3998  nerrout_cll = findfreechannel_cll()
3999  end if
4000 
4001  ! open file 'filename' as unit nerrout_cll
4002  fname_errout_cll = trim(filename)
4003  open(unit=nerrout_cll,file=trim(fname_errout_cll),form='formatted',access='sequential',status='replace')
4004 
4005  ! write intro
4006  call writeintro_cll(nerrout_cll)
4007  call date_and_time(date=da,time=ti)
4008  write(unit=nerrout_cll,fmt=*) ' '
4009  write(unit=nerrout_cll,fmt=*) '***********************************************************'
4010  write(unit=nerrout_cll,fmt=*) ' '
4011  write(unit=nerrout_cll,fmt=*) ' file containing the error output of COLLIER interface '
4012  write(unit=nerrout_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4013  ' ', ti(1:2), ':', ti(3:4)
4014  write(unit=nerrout_cll,fmt=*) ' '
4015  write(unit=nerrout_cll,fmt=*) '***********************************************************'
4016  write(unit=nerrout_cll,fmt=*) ' '
4017 

◆ openerroutfilecoli_cll()

subroutine collier_init::openerroutfilecoli_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4030 of file collier_init.F90.

4030 
4031  character(len=*), intent(in) :: filename
4032  integer, optional, intent(in) :: nchan
4033  character(len=8) :: da
4034  character(len=10) :: ti
4035  logical :: qopened
4036 
4037  ! return if output into files is suppressed
4038  if (nofiles_cll) return
4039 
4040  ! close channel used so far
4041  if(nerroutcoli_cll.ne.closed_cll) then
4042  inquire(nerroutcoli_cll, opened=qopened)
4043  if(qopened.and.nerroutcoli_cll.ne.stdout_cll) close(unit=nerroutcoli_cll)
4044  end if
4045 
4046  ! set new channel and close if open
4047  if (present(nchan)) then
4048  nerroutcoli_cll = nchan
4049  call setnerrout_coli(nerroutcoli_cll)
4050  ! return if output shall be written as standard output
4051  if (nerroutcoli_cll.eq.stdout_cll) return
4052  inquire(nerroutcoli_cll, opened=qopened)
4053  if(qopened) close(unit=nerroutcoli_cll)
4054  else
4055  nerroutcoli_cll = findfreechannel_cll()
4056  call setnerrout_coli(nerroutcoli_cll)
4057  end if
4058 
4059  ! open file 'filename' as unit nerroutcoli_cll
4060  fname_erroutcoli_cll = trim(filename)
4061  open(unit=nerroutcoli_cll,file=trim(fname_erroutcoli_cll),form='formatted',access='sequential',status='replace')
4062 
4063  ! write intro
4064  call writeintro_cll(nerroutcoli_cll)
4065  call date_and_time(date=da,time=ti)
4066  write(unit=nerroutcoli_cll,fmt=*) ' '
4067  write(unit=nerroutcoli_cll,fmt=*) '***********************************************************'
4068  write(unit=nerroutcoli_cll,fmt=*) ' '
4069  write(unit=nerroutcoli_cll,fmt=*) ' file containing the error output of COLI '
4070  write(unit=nerroutcoli_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4071  ' ', ti(1:2), ':', ti(3:4)
4072  write(unit=nerroutcoli_cll,fmt=*) ' '
4073  write(unit=nerroutcoli_cll,fmt=*) '***********************************************************'
4074  write(unit=nerroutcoli_cll,fmt=*) ' '
4075 

◆ openerroutfiledd_cll()

subroutine collier_init::openerroutfiledd_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4088 of file collier_init.F90.

4088 
4089  character(len=*), intent(in) :: filename
4090  integer, optional, intent(in) :: nchan
4091  character(len=8) :: da
4092  character(len=10) :: ti
4093  integer :: outlevel_dd,outchannel_dd,mode34_dd,mode5_dd,mode6_dd
4094  double precision :: cacc_dd,dacc_dd
4095  logical :: qopened
4096 
4097  ! return if output into files is suppressed
4098  if (nofiles_cll) return
4099 
4100  ! close channel used so far
4101  if(nerroutdd_cll.ne.closed_cll) then
4102  inquire(nerroutdd_cll, opened=qopened)
4103  if(qopened.and.nerroutdd_cll.ne.stdout_cll) close(unit=nerroutdd_cll)
4104  end if
4105 
4106  ! set new channel and close if open
4107  if (present(nchan)) then
4108  nerroutdd_cll = nchan
4109  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
4110  call ddsetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,nerroutdd_cll)
4111  if (erroutlev_cll.gt.0) then
4112  call ddsetcout_on(.true.)
4113  end if
4114  ! return if output shall be written as standard output
4115  if (nerroutdd_cll.eq.stdout_cll) return
4116  inquire(nerroutdd_cll, opened=qopened)
4117  if(qopened) close(unit=nerroutdd_cll)
4118  else
4119  nerroutdd_cll = findfreechannel_cll()
4120  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
4121  call ddsetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,nerroutdd_cll)
4122  if (erroutlev_cll.gt.0) then
4123  call ddsetcout_on(.true.)
4124  end if
4125  end if
4126 
4127  ! open file 'filename' as unit nerroutdd_cll
4128  fname_erroutdd_cll = trim(filename)
4129  open(unit=nerroutdd_cll,file=trim(fname_erroutdd_cll),form='formatted',access='sequential',status='replace')
4130 
4131  ! write intro
4132  call writeintro_cll(nerroutdd_cll)
4133  call date_and_time(date=da,time=ti)
4134  write(unit=nerroutdd_cll,fmt=*) ' '
4135  write(unit=nerroutdd_cll,fmt=*) '***********************************************************'
4136  write(unit=nerroutdd_cll,fmt=*) ' '
4137  write(unit=nerroutdd_cll,fmt=*) ' file containing the error output of DD '
4138  write(unit=nerroutdd_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4139  ' ', ti(1:2), ':', ti(3:4)
4140  write(unit=nerroutdd_cll,fmt=*) ' '
4141  write(unit=nerroutdd_cll,fmt=*) '***********************************************************'
4142  write(unit=nerroutdd_cll,fmt=*) ' '
4143 

◆ openinfoutfile_cll()

subroutine collier_init::openinfoutfile_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4413 of file collier_init.F90.

4413 
4414  character(len=*), intent(in) :: filename
4415  integer, optional, intent(in) :: nchan
4416  character(len=8) :: da
4417  character(len=10) :: ti
4418  logical :: qopened
4419 
4420  ! return if output into files is suppressed
4421  if (nofiles_cll) return
4422 
4423  ! close channel used so far
4424  if(ninfout_cll.ne.closed_cll) then
4425  inquire(ninfout_cll, opened=qopened)
4426  if(qopened.and.ninfout_cll.ne.stdout_cll) close(unit=ninfout_cll)
4427  end if
4428 
4429  ! set new channel and close if open
4430  if (present(nchan)) then
4431  ninfout_cll = nchan
4432  call setninfout_cache(ninfout_cll)
4433  ! return if output shall be written as standard output
4434  if (ninfout_cll.eq.stdout_cll) return
4435  inquire(ninfout_cll, opened=qopened)
4436  if(qopened) close(unit=ninfout_cll)
4437  else
4438  ninfout_cll = findfreechannel_cll()
4439  call setninfout_cache(ninfout_cll)
4440  end if
4441 
4442  ! open file 'filename' as unit ninfout_cll
4443  fname_infout_cll = trim(filename)
4444  open(unit=ninfout_cll,file=trim(fname_infout_cll),form='formatted',access='sequential',status='replace')
4445 
4446  ! write intro
4447  call writeintro_cll(ninfout_cll)
4448  call date_and_time(date=da,time=ti)
4449  write(unit=ninfout_cll,fmt=*) ' '
4450  write(unit=ninfout_cll,fmt=*) '***********************************************************'
4451  write(unit=ninfout_cll,fmt=*) ' '
4452  write(unit=ninfout_cll,fmt=*) ' file containing the info output of COLLIER '
4453  write(unit=ninfout_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4454  ' ', ti(1:2), ':', ti(3:4)
4455  write(unit=ninfout_cll,fmt=*) ' '
4456  write(unit=ninfout_cll,fmt=*) '***********************************************************'
4457  write(unit=ninfout_cll,fmt=*) ' '
4458 

◆ openinfoutfilecoli_cll()

subroutine collier_init::openinfoutfilecoli_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4471 of file collier_init.F90.

4471 
4472  character(len=*), intent(in) :: filename
4473  integer, optional, intent(in) ::nchan
4474  character(len=8) :: da
4475  character(len=10) :: ti
4476  logical :: qopened
4477 
4478  ! return if output into files is suppressed
4479  if (nofiles_cll) return
4480 
4481  ! close channel used so far
4482  if(ninfoutcoli_cll.ne.closed_cll) then
4483  inquire(ninfoutcoli_cll, opened=qopened)
4484  if(qopened.and.ninfoutcoli_cll.ne.stdout_cll) close(unit=ninfoutcoli_cll)
4485  end if
4486 
4487  ! set new channel and close if open
4488  if (present(nchan)) then
4489  ninfoutcoli_cll = nchan
4490  call setninfout_coli(ninfoutcoli_cll)
4491  ! return if output shall be written as standard output
4492  if (ninfoutcoli_cll.eq.stdout_cll) return
4493  inquire(ninfoutcoli_cll, opened=qopened)
4494  if(qopened) close(unit=ninfoutcoli_cll)
4495  else
4496  ninfoutcoli_cll = findfreechannel_cll()
4497  call setninfout_coli(ninfoutcoli_cll)
4498  end if
4499 
4500  ! open file 'filename' as unit ninfoutcoli_cll
4501  fname_infoutcoli_cll = trim(filename)
4502  open(unit=ninfoutcoli_cll,file=trim(fname_infoutcoli_cll),form='formatted',access='sequential')
4503 
4504  ! write intro
4505  call writeintro_cll(ninfoutcoli_cll)
4506  call date_and_time(date=da,time=ti)
4507  write(unit=ninfoutcoli_cll,fmt=*) ' '
4508  write(unit=ninfoutcoli_cll,fmt=*) '***********************************************************'
4509  write(unit=ninfoutcoli_cll,fmt=*) ' '
4510  write(unit=ninfoutcoli_cll,fmt=*) ' file containing info output of COLI '
4511  write(unit=ninfoutcoli_cll,fmt=*) ' '
4512  write(unit=ninfoutcoli_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4513  ' ', ti(1:2), ':', ti(3:4)
4514  write(unit=ninfoutcoli_cll,fmt=*) ' '
4515  write(unit=ninfoutcoli_cll,fmt=*) '***********************************************************'
4516  write(unit=ninfoutcoli_cll,fmt=*) ' '
4517 

◆ openstatisticsoutfilecoli_cll()

subroutine collier_init::openstatisticsoutfilecoli_cll ( character(len=*), intent(in)  filename,
integer, intent(in), optional  nchan 
)

Definition at line 4529 of file collier_init.F90.

4529 
4530  character(len=*), intent(in) :: filename
4531  integer, optional, intent(in) :: nchan
4532  character(len=8) :: da
4533  character(len=10) :: ti
4534  logical :: qopened
4535 
4536  ! return if output into files is suppressed
4537  if (nofiles_cll) return
4538 
4539  ! close channel used so far
4540  if(nstatsoutcoli_cll.ne.closed_cll) then
4541  inquire(nstatsoutcoli_cll, opened=qopened)
4542  if(qopened.and.nstatsoutcoli_cll.ne.stdout_cll) close(unit=nstatsoutcoli_cll)
4543  end if
4544 
4545  ! set new channel and close if open
4546  if (present(nchan)) then
4547  nstatsoutcoli_cll = nchan
4548  call setnstatsout_coli(nstatsoutcoli_cll)
4549  ! return if output shall be written as standard output
4550  if (nstatsoutcoli_cll.eq.stdout_cll) return
4551  inquire(nstatsoutcoli_cll, opened=qopened)
4552  if(qopened) close(unit=nstatsoutcoli_cll)
4553  else
4554  nstatsoutcoli_cll = findfreechannel_cll()
4555  call setnstatsout_coli(nstatsoutcoli_cll)
4556  end if
4557 
4558  ! open file 'filename' as unit nstatsoutcoli_cll
4559  fname_statsoutcoli_cll = trim(filename)
4560  open(unit=nstatsoutcoli_cll,file=trim(fname_statsoutcoli_cll),form='formatted',access='sequential',status='replace')
4561 ! qopened_statscoli=.true.
4562 
4563  ! write intro
4564  ! call WriteIntro_cll(nstatsoutcoli_cll)
4565  call date_and_time(date=da,time=ti)
4566  write(unit=nstatsoutcoli_cll,fmt=*) ' '
4567  write(unit=nstatsoutcoli_cll,fmt=*) '***********************************************************'
4568  write(unit=nstatsoutcoli_cll,fmt=*) ' '
4569  write(unit=nstatsoutcoli_cll,fmt=*) ' file containing statistics of calls in COLI '
4570  write(unit=nstatsoutcoli_cll,fmt=*) ' of C and D integral reduction functions '
4571  write(unit=nstatsoutcoli_cll,fmt=*) ' '
4572  write(unit=nstatsoutcoli_cll,fmt=*) ' created ', da(7:8), '/', da(5:6), '/', da(1:4), &
4573  ' ', ti(1:2), ':', ti(3:4)
4574  write(unit=nstatsoutcoli_cll,fmt=*) ' '
4575  write(unit=nstatsoutcoli_cll,fmt=*) '***********************************************************'
4576  write(unit=nstatsoutcoli_cll,fmt=*) ' '
4577 

◆ printstatisticscoli_cll()

subroutine collier_init::printstatisticscoli_cll ( integer, intent(in)  noutch)

Definition at line 4588 of file collier_init.F90.

4588 
4589  integer, intent(in) :: noutch
4590 
4591 ! if (nout.ne.0) then
4592 ! call Setnstatsoutcoli_cll(nout)
4593 ! call Setnstatsout_coli(nout)
4594 ! if (nout.ne.6) then
4595 ! call OpenStatisticsOutFileCOLI_cll('output_cll/StatisticsOut.coli')
4596 ! end if
4597 ! end if
4598 
4599  ! return if output into files is suppressed
4600  if (nofiles_cll) return
4601 
4602  call openstatisticsoutfilecoli_cll(trim(foldername_cll)//'/StatisticsOut.coli',noutch)
4603 
4604  call printstatistics_coli
4605 
4606 

◆ propagateaccflag_cll()

subroutine collier_init::propagateaccflag_cll ( double precision, dimension(0:rmax), intent(in)  RelErrs,
integer, intent(in)  rmax 
)

Definition at line 2450 of file collier_init.F90.

2450 
2451  integer, intent(in) :: rmax
2452  double precision, intent(in) :: RelErrs(0:rmax)
2453  integer :: loaf
2454 
2455  loaf = 0
2456  if (maxval(relerrs).gt.reqacc_cll) loaf=-1
2457  if (maxval(relerrs).gt.critacc_cll) loaf=-2
2458  accflag_cll = min(accflag_cll,loaf)
2459 
2460  if (monitoring) then
2461  acccnt(1) = acccnt(1) + 1
2462  acccnt(loaf) = acccnt(loaf) + 1
2463  end if
2464 

◆ propagateerrflag_cll()

subroutine collier_init::propagateerrflag_cll

Definition at line 2194 of file collier_init.F90.

2194 
2195  integer :: efcoli,efdd,efcll,ef
2196 
2197 
2198  ! error flags in COLI
2199  ! -1 internal Check failed
2200  ! -4 argument on cut in log or dilog
2201  ! -5 crit event (error > critical error) excluded!
2202  ! -5 wrong exit of rloop
2203  ! -6 no reduction method works for C or D
2204  ! -6 inconsistent input momenta (not 4-dimensional)
2205  ! -7 specific numerical problem
2206  ! -9 internal inconsistency (e.g. with cache or max. tensor rank)
2207  ! -10 case not supported/implemented
2208 
2209  ! default for ErrorStopFlag: -8
2210 
2211 
2212  ! changed AD 31.07.2017
2213 
2214  call geterrflag_coli(efcoli)
2215  call geterrflag_dd(efdd)
2216  call geterrflag_cll(efcll)
2217  ef = min(efcoli,efdd,efcll)
2218 
2219  ! added AD 19.10.2017
2220  errflag_cll = ef
2221 
2222  if (ef.le.errorstop_cll) then
2223  if (efcoli.eq.ef) then
2224  write(stdout_cll,*) 'COLLIER: fatal error in COLI: ',efcoli
2225  write(stdout_cll,*) 'execution of program stopped'
2226  write(stdout_cll,*) 'error output written to the file ErrOut.coli'
2227  else if (efdd.eq.ef) then
2228  write(stdout_cll,*) 'COLLIER: fatal error in DD: ',efdd
2229  write(stdout_cll,*) 'execution of program stopped'
2230  write(stdout_cll,*) 'error output written to the file ErrOut.dd'
2231  else if (efcll.eq.ef) then
2232  write(stdout_cll,*) 'COLLIER: fatal error in COLLIER: ',efcll
2233  write(stdout_cll,*) 'execution of program stopped'
2234  write(stdout_cll,*) 'error output written to the file ErrOut.cll'
2235  end if
2236  stop
2237  end if
2238 
2239  if (monitoring) then
2240  errcnt(1) = errcnt(1) + 1
2241  errcntcoli(efcoli) = errcntcoli(efcoli) + 1
2242  errcntdd(efdd ) = errcntdd(efdd) + 1
2243  errcnt(ef) = errcnt(ef) + 1
2244  end if
2245 

◆ reset_cll()

subroutine collier_init::reset_cll

Definition at line 407 of file collier_init.F90.

407  logical :: qopened
408 
409 
410  if (.not.nofiles_cll) then
411  if(ninfout_cll.ne.closed_cll) then
412  inquire(ninfout_cll, opened=qopened)
413  if(qopened.and.ninfout_cll.ne.stdout_cll) close(unit=ninfout_cll)
414  end if
415 
416  if(ninfoutcoli_cll.ne.closed_cll) then
417  inquire(ninfoutcoli_cll, opened=qopened)
418  if(qopened.and.ninfoutcoli_cll.ne.stdout_cll) close(unit=ninfoutcoli_cll)
419  end if
420 
421  if(nerrout_cll.ne.closed_cll) then
422  inquire(nerrout_cll, opened=qopened)
423  if(qopened.and.nerrout_cll.ne.stdout_cll) close(unit=nerrout_cll)
424  end if
425 
426  if(nerroutcoli_cll.ne.closed_cll) then
427  inquire(nerroutcoli_cll, opened=qopened)
428  if(qopened.and.nerroutcoli_cll.ne.stdout_cll) close(unit=nerroutcoli_cll)
429  end if
430 
431  if(nerroutdd_cll.ne.closed_cll) then
432  inquire(nerroutdd_cll, opened=qopened)
433  if(qopened.and.nerroutdd_cll.ne.stdout_cll) close(unit=nerroutdd_cll)
434  end if
435 
436  if(ncheckout_cll.ne.closed_cll) then
437  inquire(ncheckout_cll, opened=qopened)
438  if(qopened.and.ncheckout_cll.ne.stdout_cll) close(unit=ncheckout_cll)
439  end if
440 
441  if(ncpout_cll.ne.closed_cll) then
442  inquire(ncpout_cll, opened=qopened)
443  if(qopened.and.ncpout_cll.ne.stdout_cll) close(unit=ncpout_cll)
444  end if
445 
446  if(ncpout2_cll.ne.closed_cll) then
447  inquire(ncpout2_cll, opened=qopened)
448  if(qopened.and.ncpout2_cll.ne.stdout_cll) close(unit=ncpout2_cll)
449  end if
450 
451  if(ncpoutcoli_cll.ne.closed_cll) then
452  inquire(ncpoutcoli_cll, opened=qopened)
453  if(qopened.and.ncpoutcoli_cll.ne.stdout_cll) close(unit=ncpoutcoli_cll)
454  end if
455 
456  if(nstatsoutcoli_cll.ne.closed_cll) then
457  inquire(nstatsoutcoli_cll, opened=qopened)
458  if(qopened.and.nstatsoutcoli_cll.ne.stdout_cll) close(unit=nstatsoutcoli_cll)
459  end if
460  end if
461 
462  if(allocated(minf2_cll)) deallocate(minf2_cll)
463  if(allocated(pointscnttn_cll)) deallocate(pointscnttn_cll)
464  if(allocated(critpointscnttn_cll)) deallocate(critpointscnttn_cll)
465  if(allocated(accpointscnttn_cll)) deallocate(accpointscnttn_cll)
466  if(allocated(pointscnttn2_cll)) deallocate(pointscnttn2_cll)
467  if(allocated(critpointscnttn2_cll)) deallocate(critpointscnttn2_cll)
468  if(allocated(accpointscnttn2_cll)) deallocate(accpointscnttn2_cll)
469  if(allocated(pointscnttnten_cll)) deallocate(pointscnttnten_cll)
470  if(allocated(critpointscnttnten_cll)) deallocate(critpointscnttnten_cll)
471  if(allocated(accpointscnttnten_cll)) deallocate(accpointscnttnten_cll)
472  if(allocated(pointscnttn_coli)) deallocate(pointscnttn_coli)
473  if(allocated(pointscnttn_dd)) deallocate(pointscnttn_dd)
474  if(allocated(pointscnttnten_coli)) deallocate(pointscnttnten_coli)
475  if(allocated(pointscnttnten_dd)) deallocate(pointscnttnten_dd)
476  if(allocated(maxcheck_cll)) deallocate(maxcheck_cll)
477  if(allocated(checkcnt_cll)) deallocate(checkcnt_cll)
478  if(allocated(diffcnt_cll)) deallocate(diffcnt_cll)
479  if(allocated(checkcntten_cll)) deallocate(checkcntten_cll)
480  if(allocated(diffcntten_cll)) deallocate(diffcntten_cll)
481 
482 

◆ setaccflag_cll()

subroutine collier_init::setaccflag_cll ( integer, intent(in)  val)

Definition at line 2416 of file collier_init.F90.

2416 
2417  integer, intent(in) :: val
2418 
2419  accflag_cll = val
2420 

◆ setaccuracy_cll()

subroutine collier_init::setaccuracy_cll ( double precision  acc0,
double precision  acc1,
double precision  acc2 
)

Definition at line 1728 of file collier_init.F90.

1728 
1729  double precision :: acc0, acc1, acc2
1730  integer :: outlevel_dd,outchannel_dd,mode34_dd,mode5_dd,mode6_dd
1731  double precision :: cacc_dd,dacc_dd
1732  logical :: qopened,infwri
1733  character(len=*),parameter :: fmt27 = "(A27,Es17.10)"
1734  character(len=*),parameter :: fmt31 = "(A31,Es17.10)"
1735  character(len=*),parameter :: fmt33 = "(A33,Es17.10)"
1736  character(len=*),parameter :: fmt45 = "(A45,Es17.10)"
1737 
1738  reqacc_cll = acc0
1739  critacc_cll = acc1
1740  checkacc_cll = acc2
1741 
1742  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
1743  call ddsetmode(reqacc_cll,reqacc_cll,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
1744  call setacc_coli(acc0,acc1)
1745 
1746  if (infoutlev_cll.ge.2) then
1747  infwri = .false.
1748  if (infoutlev_cll.ge.2) call infout_cll('SetAccuracy_cll','precisions set to',infwri)
1749  if(infwri) write(ninfout_cll,fmt31) 'target precision: acc0 =', reqacc_cll
1750  if(infwri) write(ninfout_cll,fmt31) 'critical precision: acc1 =', critacc_cll
1751  if(infwri) write(ninfout_cll,fmt31) 'check precision: acc2 =', checkacc_cll
1752  end if
1753 
1754  if(ncpout_cll.ne.closed_cll) then
1755  inquire(ncpout_cll, opened=qopened)
1756  if(qopened) then
1757  write(unit=ncpout_cll,fmt=*) ' '
1758  write(unit=ncpout_cll,fmt=*) '***********************************************************'
1759  write(unit=ncpout_cll,fmt=*) ' critical precision set to critacc =', critacc_cll
1760  write(unit=ncpout_cll,fmt=*) '***********************************************************'
1761  write(unit=ncpout_cll,fmt=*) ' '
1762  endif
1763  end if
1764 
1765  if(ncpout2_cll.ne.closed_cll) then
1766  inquire(ncpout2_cll, opened=qopened)
1767  if(qopened) then
1768  write(unit=ncpout2_cll,fmt=*) ' '
1769  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
1770  write(unit=ncpout2_cll,fmt=*) ' critical precision set to critacc =', critacc_cll
1771  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
1772  write(unit=ncpout2_cll,fmt=*) ' '
1773  endif
1774  end if
1775 
1776  if(ncpoutcoli_cll.ne.closed_cll) then
1777  inquire(ncpoutcoli_cll, opened=qopened)
1778  if(qopened) then
1779  write(unit=ncpoutcoli_cll,fmt=*) ' '
1780  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
1781  write(unit=ncpoutcoli_cll,fmt=*) ' critical precision set to critacc =', critacc_cll
1782  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
1783  write(unit=ncpoutcoli_cll,fmt=*) ' '
1784  endif
1785  end if
1786 
1787  if(ncheckout_cll.ne.closed_cll) then
1788  inquire(ncheckout_cll, opened=qopened)
1789  if(qopened) then
1790  write(unit=ncheckout_cll,fmt=*) ' '
1791  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
1792  write(unit=ncheckout_cll,fmt=*) ' check precision set to checkacc =', checkacc_cll
1793  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
1794  write(unit=ncheckout_cll,fmt=*) ' '
1795  end if
1796  end if
1797 
1798  if (infoutlev_cll.ge.1.and.critacc_cll.lt.reqacc_cll) then
1799  call infout_cll('SetAccuracy_cll','WARNING',infwri)
1800  if(infwri) write(ninfout_cll,fmt33) ' critical precision critacc =', critacc_cll
1801  if(infwri) write(ninfout_cll,fmt45) ' smaller than required precision reqacc =', reqacc_cll
1802  end if
1803 
1804  if (infoutlev_cll.ge.1.and.checkacc_cll.lt.reqacc_cll) then
1805  call infout_cll('SetAccuracy_cll','WARNING',infwri)
1806  if(infwri) write(ninfout_cll,fmt31) ' check precision checkacc =', checkacc_cll
1807  if(infwri) write(ninfout_cll,fmt45) ' smaller than required precision reqacc =', reqacc_cll
1808  end if
1809 
1810 

◆ setcheckacc_cll()

subroutine collier_init::setcheckacc_cll ( double precision  acc)

Definition at line 1970 of file collier_init.F90.

1970 
1971  double precision :: acc
1972  logical :: qopened,infwri
1973  character(len=*),parameter :: fmt14 = "(A14,Es17.10)"
1974  character(len=*),parameter :: fmt30 = "(A31,Es17.10)"
1975  character(len=*),parameter :: fmt45 = "(A45,Es17.10)"
1976 
1977  checkacc_cll = acc
1978 
1979  if(ncheckout_cll.ne.closed_cll) then
1980  inquire(ncheckout_cll, opened=qopened)
1981  if (qopened) then
1982  write(unit=ncheckout_cll,fmt=*) ' '
1983  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
1984  write(unit=ncheckout_cll,fmt=*) ' check precision set to checkacc =', checkacc_cll
1985  write(unit=ncheckout_cll,fmt=*) '***********************************************************'
1986  write(unit=ncheckout_cll,fmt=*) ' '
1987  end if
1988  end if
1989 
1990  infwri = .false.
1991  if (infoutlev_cll.ge.2) call infout_cll('SetCheckAcc_cll','check precision set to',infwri)
1992  if(infwri) write(ninfout_cll,fmt14) ' checkacc =', checkacc_cll
1993 
1994  if (infoutlev_cll.ge.1.and.checkacc_cll.lt.reqacc_cll) then
1995  call infout_cll('SetCheckAcc_cll','WARNING',infwri)
1996  if(infwri) write(ninfout_cll,fmt30) ' check precision checkacc =', checkacc_cll
1997  if(infwri) write(ninfout_cll,fmt45) ' smaller than required precision reqacc =', reqacc_cll
1998  end if
1999 
2000 

◆ setcritacc_cll()

subroutine collier_init::setcritacc_cll ( double precision  acc)

Definition at line 1886 of file collier_init.F90.

1886 
1887  double precision :: acc
1888  logical :: qopened,infwri
1889  character(len=*),parameter :: fmt93 = "(A13,Es17.10)"
1890  character(len=*),parameter :: fmt94 = "(A33,Es17.10)"
1891  character(len=*),parameter :: fmt95 = "(A45,Es17.10)"
1892 
1893  critacc_cll = acc
1894 
1895 
1896  call ddseterrthr(critacc_cll)
1897 
1898  call setcritacc_coli(acc)
1899 
1900  if(ncpoutcoli_cll.ne.closed_cll) then
1901  inquire(ncpoutcoli_cll, opened=qopened)
1902  if(qopened) then
1903  write(unit=ncpoutcoli_cll,fmt=*) ' '
1904  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
1905  write(unit=ncpoutcoli_cll,fmt=*) ' critical precision set to critacc =', critacc_cll
1906  write(unit=ncpoutcoli_cll,fmt=*) '***********************************************************'
1907  write(unit=ncpoutcoli_cll,fmt=*) ' '
1908  endif
1909  end if
1910  if(ncpout_cll.ne.closed_cll) then
1911  inquire(ncpout_cll, opened=qopened)
1912  if(qopened) then
1913  write(unit=ncpout_cll,fmt=*) ' '
1914  write(unit=ncpout_cll,fmt=*) '***********************************************************'
1915  write(unit=ncpout_cll,fmt=*) ' critical precision set to critacc =', critacc_cll
1916  write(unit=ncpout_cll,fmt=*) '***********************************************************'
1917  write(unit=ncpout_cll,fmt=*) ' '
1918  endif
1919  end if
1920  if(ncpout2_cll.ne.closed_cll) then
1921  inquire(ncpout2_cll, opened=qopened)
1922  if(qopened) then
1923  write(unit=ncpout2_cll,fmt=*) ' '
1924  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
1925  write(unit=ncpout2_cll,fmt=*) ' critical precision set to critacc =', critacc_cll
1926  write(unit=ncpout2_cll,fmt=*) '***********************************************************'
1927  write(unit=ncpout2_cll,fmt=*) ' '
1928  endif
1929  end if
1930 
1931  infwri = .false.
1932  if (infoutlev_cll.ge.2) call infout_cll('SetCritAcc_cll','critical precision set to',infwri)
1933  if(infwri) write(ninfout_cll,fmt93) ' critacc =', critacc_cll
1934 
1935  if (infoutlev_cll.ge.1.and.critacc_cll.lt.reqacc_cll) then
1936  call infout_cll('SetCritAcc_cll','WARNING',infwri)
1937  if(infwri) write(ninfout_cll,*) ' critical precision critacc =', critacc_cll
1938  if(infwri) write(ninfout_cll,*) ' smaller than required precision reqacc =', reqacc_cll
1939  end if
1940 

◆ setdeltair_cll()

subroutine collier_init::setdeltair_cll ( double precision, intent(in)  delta1,
double precision, intent(in)  delta2 
)

Definition at line 838 of file collier_init.F90.

838 
839  double precision, intent(in) :: delta1,delta2
840  double precision :: DeltaUV_dd,DeltaIR2_dd,DeltaIR1_dd
841  double precision :: muUV2_dd,muIR2_dd,xmx2_dd(nminf_colidd)
842  integer :: i
843  logical :: infwri
844  character(len=*),parameter :: fmt14 = "(A14,d25.18)"
845 #include "COLI/global_coli.h"
846 
847 #ifdef SING
848  deltair1_cll = delta1
849  deltair2_cll = delta2
850 #else
851  deltair1_cll = 0d0
852  deltair2_cll = 0d0
853  if (erroutlev_cll.ge.1) then
854  write(nerrout_cll,*) 'preprocessor flag SING = false'
855  write(nerrout_cll,*) 'call of SetDeltaUV_cll without effect'
856  end if
857 #endif
858 
859 #ifdef SING
860  ! set deltauv in COLI
861  call setdeltair_coli(deltair1_cll,deltair2_cll)
862 #endif
863  ! set deltauv in DD
864  call ddgetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
865  deltair1_dd,muir2_dd,xmx2_dd)
866  call ddsetparam(deltauv_dd,muuv2_dd,deltair2_cll, &
867  deltair1_cll,muir2_dd,xmx2_dd)
868 
869  infwri = .false.
870  if (infoutlev_cll.ge.2) call infout_cll('SetDeltaIR_cll','IR single and double pole set to',infwri)
871  if(infwri) then
872  write(ninfout_cll,fmt14) ' deltaIR1 =', deltair1_cll
873  write(ninfout_cll,fmt14) ' deltaIR2 =', deltair2_cll
874  end if
875 

◆ setdeltauv_cll()

subroutine collier_init::setdeltauv_cll ( double precision, intent(in)  delta)

Definition at line 774 of file collier_init.F90.

774 
775  double precision, intent(in) :: delta
776  double precision :: DeltaUV_dd,DeltaIR2_dd,DeltaIR1_dd
777  double precision :: muUV2_dd,muIR2_dd,xmx2_dd(nminf_colidd)
778  integer :: i
779  logical :: infwri
780  character(len=*),parameter :: fmt13 = "(A13,d25.18)"
781 #include "COLI/global_coli.h"
782 
783 #ifdef SING
784  deltauv_cll = delta
785 #else
786  deltauv_cll = 0d0
787  if (erroutlev_cll.ge.1) then
788  write(nerrout_cll,*) 'preprocessor flag SING = false'
789  write(nerrout_cll,*) 'call of SetDeltaUV_cll without effect'
790  end if
791 #endif
792 
793 #ifdef SING
794  ! set deltauv in COLI
795  call setdeltauv_coli(deltauv_cll)
796 #endif
797 
798  ! set deltauv in DD
799  call ddgetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
800  deltair1_dd,muir2_dd,xmx2_dd)
801  call ddsetparam(deltauv_cll,muuv2_dd,deltair2_dd, &
802  deltair1_dd,muir2_dd,xmx2_dd)
803 
804  infwri = .false.
805  if (infoutlev_cll.ge.2) call infout_cll('SetDeltaUV_cll','UV pole set to',infwri)
806  if(infwri) write(ninfout_cll,fmt13) ' deltaUV =', deltauv_cll
807 

◆ seterrflag_cll()

subroutine collier_init::seterrflag_cll ( integer, intent(in)  val)

Definition at line 2158 of file collier_init.F90.

2158 
2159  integer, intent(in) :: val
2160 
2161  errflag_cll = val
2162 ! call SetErrFlag_coli(val)
2163 ! call SetErrFlag_dd(val)
2164 

◆ seterroutlev_cll()

subroutine collier_init::seterroutlev_cll ( integer, intent(in)  erroutlev)

Definition at line 1618 of file collier_init.F90.

1618 
1619  integer, intent(in) :: erroutlev
1620 
1621  if (erroutlev.eq.0) then
1622  call ddsetcout_on(.false.)
1623  else if(erroutlev.eq.1) then
1624  if(nerroutdd_cll.ne.closed_cll) then
1625  call ddsetcout_on(.true.)
1626  end if
1627  else
1628  return
1629  end if
1630  erroutlev_cll = erroutlev
1631  call seterroutlev_coli(erroutlev)
1632 

◆ seterrstop_cll()

subroutine collier_init::seterrstop_cll ( integer  errstop)

Definition at line 1344 of file collier_init.F90.

1344  integer :: errstop
1345 
1346  errorstop_cll = errstop
1347 

◆ setinfoutlev_cll()

subroutine collier_init::setinfoutlev_cll ( integer, intent(in)  infoutlev)

Definition at line 1583 of file collier_init.F90.

1583 
1584  integer, intent(in) :: infoutlev
1585 
1586  infoutlev_cll = infoutlev
1587  call setinfoutlev_cache(infoutlev)
1588 

◆ setinfoutlevcoli_cll()

subroutine collier_init::setinfoutlevcoli_cll ( integer, intent(in)  infoutlev)

Definition at line 2477 of file collier_init.F90.

2477 
2478  integer, intent(in) :: infoutlev
2479 
2480  if(infoutlev.eq.0) then
2481  call unsetinfo_coli
2482  else
2483  call openinfoutfilecoli_cll(trim(foldername_cll)//'/InfOut.coli')
2484  call setinfo_coli
2485  endif
2486 

◆ setmaxcheckarray_cll()

subroutine collier_init::setmaxcheckarray_cll ( integer, dimension(nmax_cll), intent(in)  npoints)

Definition at line 3788 of file collier_init.F90.

3788 
3789  integer, intent(in) :: npoints(Nmax_cll)
3790 
3791  maxcheck_cll = npoints
3792 

◆ setmaxcheckdb_cll()

subroutine collier_init::setmaxcheckdb_cll ( integer, intent(in)  npoints)

Definition at line 3657 of file collier_init.F90.

3657 
3658  integer, intent(in) :: npoints
3659 
3660  maxcheckdb_cll = npoints
3661 

◆ setmaxcheckn_cll()

subroutine collier_init::setmaxcheckn_cll ( integer, intent(in)  npoints,
integer, intent(in)  N 
)

Definition at line 3771 of file collier_init.F90.

3771 
3772  integer, intent(in) :: npoints,N
3773 
3774  maxcheck_cll(n) = npoints
3775 

◆ setmaxcritpointsarray_cll()

subroutine collier_init::setmaxcritpointsarray_cll ( integer, dimension(nmax_cll), intent(in)  npoints)

Definition at line 3888 of file collier_init.F90.

3888 
3889  integer, intent(in) :: npoints(Nmax_cll)
3890 
3891  noutcritpointsmax_cll = npoints
3892 

◆ setmaxcritpointsdb_cll()

subroutine collier_init::setmaxcritpointsdb_cll ( integer, intent(in)  npoints)

Definition at line 3820 of file collier_init.F90.

3820 
3821  integer, intent(in) :: npoints
3822 
3823  noutcritpointsmaxdb_cll = npoints
3824 

◆ setmaxcritpointsn_cll()

subroutine collier_init::setmaxcritpointsn_cll ( integer, intent(in)  npoints,
integer, intent(in)  N 
)

Definition at line 3871 of file collier_init.F90.

3871 
3872  integer, intent(in) :: npoints,N
3873 
3874  noutcritpointsmax_cll(n) = npoints
3875 

◆ setmaxerrout_cll()

subroutine collier_init::setmaxerrout_cll ( integer, intent(in)  val)

Definition at line 2275 of file collier_init.F90.

2275 
2276  integer, intent(in) :: val
2277 
2278  maxerrout_cll = val
2279 

◆ setmaxerroutcoli_cll()

subroutine collier_init::setmaxerroutcoli_cll ( integer, intent(in)  val)

Definition at line 2346 of file collier_init.F90.

2346 
2347  integer, intent(in) :: val
2348 
2349  maxerroutcoli_cll = val
2350  call setmaxerrout_coli(val)
2351 

◆ setmaxerroutdd_cll()

subroutine collier_init::setmaxerroutdd_cll ( integer, intent(in)  val)

Definition at line 2383 of file collier_init.F90.

2383 
2384  integer, intent(in) :: val
2385 
2386  maxerroutdd_cll = val
2387  call ddsetcoutmax(val)
2388 

◆ setmaxinfout_cll()

subroutine collier_init::setmaxinfout_cll ( integer, intent(in)  val)

Definition at line 2258 of file collier_init.F90.

2258 
2259  integer, intent(in) :: val
2260 
2261  maxinfout_cll = val
2262 

◆ setminf2_cll()

subroutine collier_init::setminf2_cll ( integer, intent(in)  nminf,
double complex, dimension(nminf), intent(in)  minf2 
)

Definition at line 1026 of file collier_init.F90.

1026 
1027  integer, intent(in) :: nminf
1028  double complex, intent(in) :: minf2(nminf)
1029  integer :: i
1030 
1031  call clearminf2_cll
1032 
1033  do i=1,nminf
1034  call addminf2_cll(minf2(i))
1035  end do
1036 

◆ setmode_cll()

subroutine collier_init::setmode_cll ( integer, intent(in)  mode)

Definition at line 581 of file collier_init.F90.

581 
582  integer, intent(in) :: mode
583  integer :: ritmax
584  logical :: infwri
585 
586  if ((mode.lt.1).or.(mode.gt.3)) then
587  write(nerrout_cll,*) 'COLLIER: mode_cll must be set to one of the following values'
588  write(nerrout_cll,*) '1: use COLI-implementation'
589  write(nerrout_cll,*) '2: use DD-implementation'
590  write(nerrout_cll,*) '3: check COLI- against DD-implementation'
591  if (errorstop_cll.ge.-10) stop
592 
593  end if
594 
595  mode_cll = mode
596 
597  infwri = .false.
598  if (infoutlev_cll.ge.1) call infout_cll('SetMode_cll','mode_cll set to',infwri)
599 
600  select case (mode_cll)
601  case (1)
602  if (infwri) write(ninfout_cll,*) ' 1 --> use COLI implementation'
603 
604  if (nerroutcoli_cll.eq.closed_cll) then
605  call openerroutfilecoli_cll(trim(foldername_cll)//'/ErrOut.coli')
606  end if
607 
608  case (2)
609  if (infwri) write(ninfout_cll,*) ' 2 --> use DD implementation'
610 
611  if (nerroutdd_cll.eq.closed_cll) then
612  call openerroutfiledd_cll(trim(foldername_cll)//'/ErrOut.dd')
613  call getritmax_cll(ritmax)
614  call setritmax_cll(ritmax)
615  end if
616 
617  case (3)
618 
619  if (infwri) write(ninfout_cll,*) ' 3 --> check COLI against DD implementation'
620 
621  if (nerroutcoli_cll.eq.closed_cll) then
622  call openerroutfilecoli_cll(trim(foldername_cll)//'/ErrOut.coli')
623  end if
624 
625  if (nerroutdd_cll.eq.closed_cll) then
626  call openerroutfiledd_cll(trim(foldername_cll)//'/ErrOut.dd')
627  call getritmax_cll(ritmax)
628  call setritmax_cll(ritmax)
629  end if
630 
631  if (ncheckout_cll.eq.closed_cll) then
632  call opencheckoutfile_cll(trim(foldername_cll)//'/CheckOut.cll')
633  endif
634 
635  end select
636 

◆ setmuir2_cll()

subroutine collier_init::setmuir2_cll ( double precision, intent(in)  mu2)

Definition at line 721 of file collier_init.F90.

721 
722  double precision, intent(in) :: mu2
723  double precision :: DeltaUV_dd,DeltaIR2_dd,DeltaIR1_dd
724  double precision :: muUV2_dd,muIR2_dd,xmx2_dd(nminf_colidd)
725  integer :: i
726  logical :: infwri
727  character(len=*),parameter :: fmt11 = "(A11,d25.18)"
728 
729  muir2_cll = mu2
730 
731  ! set muir2 in COLI
732  call setmuir2_coli(muir2_cll)
733 
734  ! set muir2 in DD
735  call ddgetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
736  deltair1_dd,muir2_dd,xmx2_dd)
737  call ddsetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
738  deltair1_dd,muir2_cll,xmx2_dd)
739 
740  infwri = .false.
741  if (infoutlev_cll.ge.2) call infout_cll('SetMuIR2_cll','IR scale set to',infwri)
742  if(infwri) write(ninfout_cll,fmt11) ' muIR2 =', muir2_cll
743 

◆ setmuuv2_cll()

subroutine collier_init::setmuuv2_cll ( double precision, intent(in)  mu2)

Definition at line 668 of file collier_init.F90.

668 
669  double precision, intent(in) :: mu2
670  double precision :: DeltaUV_dd,DeltaIR2_dd,DeltaIR1_dd
671  double precision :: muUV2_dd,muIR2_dd,xmx2_dd(nminf_colidd)
672  integer :: i
673  logical :: infwri
674  character(len=*),parameter :: fmt11 = "(A11,d25.18)"
675 
676  muuv2_cll = mu2
677 
678  ! set muuv2 in COLI
679  call setmuuv2_coli(muuv2_cll)
680 
681  ! set muv2 in DD
682  call ddgetparam(deltauv_dd,muuv2_dd,deltair2_dd, &
683  deltair1_dd,muir2_dd,xmx2_dd)
684  call ddsetparam(deltauv_dd,muuv2_cll,deltair2_dd, &
685  deltair1_dd,muir2_dd,xmx2_dd)
686 
687  infwri = .false.
688  if (infoutlev_cll.ge.2) call infout_cll('SetMuUV2_cll','UV scale set to',infwri)
689  if(infwri) write(ninfout_cll,fmt11) ' muUV2 =', muuv2_cll
690 
691 

◆ setncheckout_cll()

subroutine collier_init::setncheckout_cll ( integer, intent(in), optional  ncheckout)

Definition at line 3248 of file collier_init.F90.

3248 
3249  integer, intent(in), optional :: ncheckout
3250  logical :: qopened
3251 
3252  ! return if output into files is suppressed
3253  if (nofiles_cll) return
3254 
3255  if(ncheckout_cll.ne.closed_cll) then
3256  inquire(ncheckout_cll, opened=qopened)
3257  if(qopened.and.(ncheckout_cll.ne.stdout_cll)) close(unit=ncheckout_cll)
3258  end if
3259 
3260  if (present(ncheckout)) then
3261  if (len(trim(fname_checkout_cll)).eq.0) then
3262  call opencheckoutfile_cll(trim(foldername_cll)//'/CheckOut.cll',ncheckout)
3263  else if (ncheckout.ne.stdout_cll) then
3264  inquire(ncheckout, opened=qopened)
3265  if(qopened) close(unit=ncheckout)
3266  ncheckout_cll = ncheckout
3267  open(unit=ncheckout_cll,file=trim(fname_checkout_cll),form='formatted',access='sequential',position='append',status='old')
3268  end if
3269  else
3270  if (len(trim(fname_checkout_cll)).eq.0) then
3271  call opencheckoutfile_cll(trim(foldername_cll)//'/CheckOut.cll')
3272  else
3273  ncheckout_cll = findfreechannel_cll()
3274  open(unit=ncheckout_cll,file=trim(fname_checkout_cll),form='formatted',access='sequential',position='append',status='old')
3275  end if
3276  end if
3277 
3278 

◆ setncpoutcoli_cll()

subroutine collier_init::setncpoutcoli_cll ( integer, intent(in), optional  ncpout)

Definition at line 3308 of file collier_init.F90.

3308 
3309  integer, intent(in), optional :: ncpout
3310  logical :: qopened
3311 
3312  ! return if output into files is suppressed
3313  if (nofiles_cll) return
3314 
3315  if(ncpoutcoli_cll.ne.closed_cll) then
3316  inquire(ncpoutcoli_cll, opened=qopened)
3317  if(qopened.and.(ncpoutcoli_cll.ne.stdout_cll)) close(unit=ncpoutcoli_cll)
3318  end if
3319 
3320  if (present(ncpout)) then
3321  if (len(trim(fname_cpoutcoli_cll)).eq.0) then
3322  call opencritpointsoutfilecoli_cll(trim(foldername_cll)//'/CritPointsOut.coli',ncpout)
3323  else if (ncpout.ne.stdout_cll) then
3324  inquire(ncpout, opened=qopened)
3325  if(qopened) close(unit=ncpout)
3326  ncpoutcoli_cll = ncpout
3327  call setncpout_coli(ncpoutcoli_cll)
3328  open(unit=ncpoutcoli_cll,file=trim(fname_cpoutcoli_cll),form='formatted',access='sequential',position='append',status='old')
3329  end if
3330  else
3331  if (len(trim(fname_cpoutcoli_cll)).eq.0) then
3332  call opencritpointsoutfilecoli_cll(trim(foldername_cll)//'/CritPointsOut.coli')
3333  else
3334  ncpoutcoli_cll = findfreechannel_cll()
3335  call setncpout_coli(ncpoutcoli_cll)
3336  open(unit=ncpoutcoli_cll,file=trim(fname_cpoutcoli_cll),form='formatted',access='sequential',position='append',status='old')
3337  end if
3338  end if
3339 

◆ setncritpointsout2_cll()

subroutine collier_init::setncritpointsout2_cll ( integer, intent(in), optional  ncpout)

Definition at line 3491 of file collier_init.F90.

3491 
3492  integer, intent(in), optional :: ncpout
3493  logical :: qopened
3494 
3495  ! return if output into files is suppressed
3496  if (nofiles_cll) return
3497 
3498  if(ncpout2_cll.ne.closed_cll) then
3499  inquire(ncpout2_cll, opened=qopened)
3500  if(qopened.and.(ncpout2_cll.ne.stdout_cll)) close(unit=ncpout2_cll)
3501  end if
3502 
3503  if (present(ncpout)) then
3504  if (len(trim(fname_cpout2_cll)).eq.0) then
3505  call opencritpointsoutfile2_cll(trim(foldername_cll)//'/CritPointsOut2.cll',ncpout)
3506  else if (ncpout.ne.stdout_cll) then
3507  inquire(ncpout, opened=qopened)
3508  if(qopened) close(unit=ncpout)
3509  ncpout2_cll = ncpout
3510  open(unit=ncpout2_cll,file=trim(fname_cpout2_cll),form='formatted',access='sequential',position='append',status='old')
3511  end if
3512  else
3513  if (len(trim(fname_cpout2_cll)).eq.0) then
3514  call opencritpointsoutfile2_cll(trim(foldername_cll)//'/CritPointsOut2.cll')
3515  else
3516  ncpout2_cll = findfreechannel_cll()
3517  open(unit=ncpout2_cll,file=trim(fname_cpout2_cll),form='formatted',access='sequential',position='append',status='old')
3518  end if
3519  end if
3520 

◆ setncritpointsout_cll()

subroutine collier_init::setncritpointsout_cll ( integer, intent(in), optional  ncpout)

Definition at line 3432 of file collier_init.F90.

3432 
3433  integer, intent(in), optional :: ncpout
3434  logical :: qopened
3435 
3436  ! return if output into files is suppressed
3437  if (nofiles_cll) return
3438 
3439  if(ncpout_cll.ne.closed_cll) then
3440  inquire(ncpout_cll, opened=qopened)
3441  if(qopened.and.(ncpout_cll.ne.stdout_cll)) close(unit=ncpout_cll)
3442  end if
3443 
3444  if (present(ncpout)) then
3445  if (len(trim(fname_cpout_cll)).eq.0) then
3446  call opencritpointsoutfile_cll(trim(foldername_cll)//'/CritPointsOut.cll',ncpout)
3447  else if (ncpout.ne.stdout_cll) then
3448  inquire(ncpout, opened=qopened)
3449  if(qopened) close(unit=ncpout)
3450  ncpout_cll = ncpout
3451  open(unit=ncpout_cll,file=trim(fname_cpout_cll),form='formatted',access='sequential',position='append',status='old')
3452  end if
3453  else
3454  if (len(trim(fname_cpout_cll)).eq.0) then
3455  call opencritpointsoutfile_cll(trim(foldername_cll)//'/CritPointsOut.cll')
3456  else
3457  ncpout_cll = findfreechannel_cll()
3458  open(unit=ncpout_cll,file=trim(fname_cpout_cll),form='formatted',access='sequential',position='append',status='old')
3459  end if
3460  end if
3461 

◆ setnerrout_cll()

subroutine collier_init::setnerrout_cll ( integer, intent(in), optional  nerrout)

Definition at line 3054 of file collier_init.F90.

3054 
3055  integer, intent(in), optional :: nerrout
3056  logical :: qopened
3057 
3058  ! return if output into files is suppressed
3059  if (nofiles_cll) return
3060 
3061  if(nerrout_cll.ne.closed_cll) then
3062  inquire(nerrout_cll, opened=qopened)
3063  if(qopened.and.(nerrout_cll.ne.stdout_cll)) close(unit=nerrout_cll)
3064  end if
3065 
3066  if (present(nerrout)) then
3067  if (len(trim(fname_errout_cll)).eq.0) then
3068  call openerroutfile_cll(trim(foldername_cll)//'/ErrOut.cll',nerrout)
3069  else if (nerrout.ne.stdout_cll) then
3070  inquire(nerrout, opened=qopened)
3071  if(qopened) close(unit=nerrout)
3072  nerrout_cll = nerrout
3073  open(unit=nerrout_cll,file=trim(fname_errout_cll),form='formatted',access='sequential',position='append',status='old')
3074  end if
3075  else
3076  if (len(trim(fname_errout_cll)).eq.0) then
3077  call openerroutfile_cll(trim(foldername_cll)//'/ErrOut.cll')
3078  else
3079  nerrout_cll = findfreechannel_cll()
3080  open(unit=nerrout_cll,file=trim(fname_errout_cll),form='formatted',access='sequential',position='append',status='old')
3081  end if
3082  end if
3083 
3084 

◆ setnerroutcoli_cll()

subroutine collier_init::setnerroutcoli_cll ( integer, intent(in), optional  nerrout)

Definition at line 3114 of file collier_init.F90.

3114 
3115  integer, intent(in), optional :: nerrout
3116  logical :: qopened
3117 
3118  ! return if output into files is suppressed
3119  if (nofiles_cll) return
3120 
3121  if(nerroutcoli_cll.ne.closed_cll) then
3122  inquire(nerroutcoli_cll, opened=qopened)
3123  if(qopened.and.(nerroutcoli_cll.ne.stdout_cll)) close(unit=nerroutcoli_cll)
3124  end if
3125 
3126  if (present(nerrout)) then
3127  if (len(trim(fname_erroutcoli_cll)).eq.0) then
3128  call openerroutfilecoli_cll(trim(foldername_cll)//'/ErrOut.coli',nerrout)
3129  else if (nerrout.ne.stdout_cll) then
3130  inquire(nerrout, opened=qopened)
3131  if(qopened) close(unit=nerrout)
3132  nerroutcoli_cll = nerrout
3133  call setnerrout_coli(nerroutcoli_cll)
3134  open(unit=nerroutcoli_cll,file=trim(fname_erroutcoli_cll),form='formatted', &
3135  access='sequential',position='append',status='old')
3136  end if
3137  else
3138  if (len(trim(fname_erroutcoli_cll)).eq.0) then
3139  call openerroutfilecoli_cll(trim(foldername_cll)//'/ErrOut.cll')
3140  else
3141  nerroutcoli_cll = findfreechannel_cll()
3142  call setnerrout_coli(nerroutcoli_cll)
3143  open(unit=nerroutcoli_cll,file=trim(fname_erroutcoli_cll),form='formatted', &
3144  access='sequential',position='append',status='old')
3145  end if
3146  end if
3147 

◆ setnerroutdd_cll()

subroutine collier_init::setnerroutdd_cll ( integer, intent(in), optional  nerrout)

Definition at line 3177 of file collier_init.F90.

3177 
3178  integer, intent(in), optional :: nerrout
3179  integer :: outlevel_dd,outchannel_dd,mode34_dd,mode5_dd,mode6_dd
3180  double precision :: cacc_dd,dacc_dd
3181  logical :: qopened
3182 
3183  ! return if output into files is suppressed
3184  if (nofiles_cll) return
3185 
3186  if(nerroutdd_cll.ne.closed_cll) then
3187  inquire(nerroutdd_cll, opened=qopened)
3188  if(qopened.and.(nerroutdd_cll.ne.stdout_cll)) close(unit=nerroutdd_cll)
3189  end if
3190 
3191  if (present(nerrout)) then
3192  if (len(trim(fname_erroutdd_cll)).eq.0) then
3193  call openerroutfiledd_cll(trim(foldername_cll)//'/ErrOut.dd',nerrout)
3194  else if (nerrout.ne.stdout_cll) then
3195  inquire(nerrout, opened=qopened)
3196  if(qopened) close(unit=nerrout)
3197  nerroutdd_cll = nerrout
3198  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
3199  call ddsetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,nerroutdd_cll)
3200  if (erroutlev_cll.gt.0) then
3201  call ddsetcout_on(.true.)
3202  end if
3203  open(unit=nerroutdd_cll,file=trim(fname_erroutdd_cll),form='formatted',access='sequential',position='append',status='old')
3204  end if
3205  else
3206  if (len(trim(fname_erroutdd_cll)).eq.0) then
3207  call openerroutfiledd_cll(trim(foldername_cll)//'/ErrOut.dd')
3208  else
3209  nerroutdd_cll = findfreechannel_cll()
3210  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
3211  call ddsetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,nerroutdd_cll)
3212  if (erroutlev_cll.gt.0) then
3213  call ddsetcout_on(.true.)
3214  end if
3215  open(unit=nerroutdd_cll,file=trim(fname_erroutdd_cll),form='formatted',access='sequential',position='append',status='old')
3216  end if
3217  end if
3218 

◆ setninfout_cll()

subroutine collier_init::setninfout_cll ( integer, intent(in), optional  ninfout)

Definition at line 2930 of file collier_init.F90.

2930 
2931  integer, intent(in), optional :: ninfout
2932  logical :: qopened
2933 
2934  ! return if output into files is suppressed
2935  if (nofiles_cll) return
2936 
2937  if(ninfout_cll.ne.closed_cll) then
2938  inquire(ninfout_cll, opened=qopened)
2939  if(qopened.and.(ninfout_cll.ne.stdout_cll)) close(unit=ninfout_cll)
2940  end if
2941 
2942  if (present(ninfout)) then
2943  if (len(trim(fname_infout_cll)).eq.0) then
2944  call openinfoutfile_cll(trim(foldername_cll)//'/InfOut.cll',ninfout)
2945  else if (ninfout.ne.stdout_cll) then
2946  inquire(ninfout, opened=qopened)
2947  if(qopened) close(unit=ninfout)
2948  ninfout_cll = ninfout
2949  call setninfout_cache(ninfout_cll)
2950  open(unit=ninfout_cll,file=trim(fname_infout_cll),form='formatted',access='sequential',position='append',status='old')
2951  end if
2952  else
2953  if (len(trim(fname_infout_cll)).eq.0) then
2954  call openinfoutfile_cll(trim(foldername_cll)//'/InfOut.cll')
2955  else
2956  ninfout_cll = findfreechannel_cll()
2957  call setninfout_cache(ninfout_cll)
2958  open(unit=ninfout_cll,file=trim(fname_infout_cll),form='formatted',access='sequential',position='append',status='old')
2959  end if
2960  end if
2961 

◆ setninfoutcoli_cll()

subroutine collier_init::setninfoutcoli_cll ( integer, intent(in), optional  ninfout)

Definition at line 2991 of file collier_init.F90.

2991 
2992  integer, intent(in), optional :: ninfout
2993  logical :: qopened
2994 
2995  ! return if output into files is suppressed
2996  if (nofiles_cll) return
2997 
2998  if(ninfoutcoli_cll.ne.closed_cll) then
2999  inquire(ninfoutcoli_cll, opened=qopened)
3000  if(qopened.and.(ninfoutcoli_cll.ne.stdout_cll)) close(unit=ninfoutcoli_cll)
3001  end if
3002 
3003  if (present(ninfout)) then
3004  if (len(trim(fname_infoutcoli_cll)).eq.0) then
3005  call openinfoutfilecoli_cll(trim(foldername_cll)//'/InfOut.coli',ninfout)
3006  else if (ninfout.ne.stdout_cll) then
3007  inquire(ninfout, opened=qopened)
3008  if(qopened) close(unit=ninfout)
3009  ninfoutcoli_cll = ninfout
3010  call setninfout_coli(ninfoutcoli_cll)
3011  open(unit=ninfoutcoli_cll,file=trim(fname_infoutcoli_cll),form='formatted',access='sequential', &
3012  position='append',status='old')
3013  end if
3014  else
3015  if (len(trim(fname_infoutcoli_cll)).eq.0) then
3016  call openinfoutfilecoli_cll(trim(foldername_cll)//'/InfOut.coli')
3017  else
3018  ninfoutcoli_cll = findfreechannel_cll()
3019  call setninfout_coli(ninfoutcoli_cll)
3020  open(unit=ninfoutcoli_cll,file=trim(fname_infoutcoli_cll),form='formatted',access='sequential', &
3021  position='append',status='old')
3022  end if
3023  end if
3024 

◆ setnstatsoutcoli_cll()

subroutine collier_init::setnstatsoutcoli_cll ( integer, intent(in), optional  nstatsout)

Definition at line 3369 of file collier_init.F90.

3369 
3370  integer, intent(in), optional :: nstatsout
3371  logical :: qopened
3372 
3373  ! return if output into files is suppressed
3374  if (nofiles_cll) return
3375 
3376  if(nstatsoutcoli_cll.ne.closed_cll) then
3377  inquire(nstatsoutcoli_cll, opened=qopened)
3378  if(qopened.and.(nstatsoutcoli_cll.ne.stdout_cll)) close(unit=nstatsoutcoli_cll)
3379  end if
3380 
3381  if (present(nstatsout)) then
3382  if (len(trim(fname_statsoutcoli_cll)).eq.0) then
3383  call openstatisticsoutfilecoli_cll(trim(foldername_cll)//'/StatisticsOut.coli',nstatsout)
3384  else if (nstatsout.ne.stdout_cll) then
3385  inquire(nstatsout, opened=qopened)
3386  if(qopened) close(unit=nstatsout)
3387  nstatsoutcoli_cll = nstatsout
3388  call setnstatsout_coli(nstatsoutcoli_cll)
3389  open(unit=nstatsoutcoli_cll,file=trim(fname_statsoutcoli_cll),form='formatted',access='sequential', &
3390  position='append',status='old')
3391  end if
3392  else
3393  if (len(trim(fname_statsoutcoli_cll)).eq.0) then
3394  call openstatisticsoutfilecoli_cll(trim(foldername_cll)//'/StatisticsOut.coli')
3395  else
3396  nstatsoutcoli_cll = findfreechannel_cll()
3397  call setnstatsout_coli(nstatsoutcoli_cll)
3398  open(unit=nstatsoutcoli_cll,file=trim(fname_statsoutcoli_cll),form='formatted',access='sequential', &
3399  position='append',status='old')
3400  end if
3401  end if
3402 

◆ setoutputfolder_cll()

subroutine collier_init::setoutputfolder_cll ( character(len=*), intent(in)  fname)

Definition at line 3533 of file collier_init.F90.

3533 
3534  character(len=*), intent(in) :: fname
3535 
3536  foldername_cll = fname
3537  fname_errout_cll = ''
3538  fname_erroutcoli_cll = ''
3539  fname_erroutdd_cll = ''
3540  fname_infout_cll = ''
3541  fname_infoutcoli_cll = ''
3542  fname_checkout_cll = ''
3543  fname_cpoutcoli_cll = ''
3544  fname_cpout_cll = ''
3545  fname_cpout2_cll = ''
3546  fname_statsoutcoli_cll = ''
3547 
3548  call execute_command_line('mkdir -p '//trim(foldername_cll))
3549 
3550  call switchofffileoutput_cll
3551  call switchonfileoutput_cll
3552 

◆ setreqacc_cll()

subroutine collier_init::setreqacc_cll ( double precision  acc)

Definition at line 1823 of file collier_init.F90.

1823 
1824  double precision :: acc
1825  integer :: outlevel_dd,outchannel_dd,mode34_dd,mode5_dd,mode6_dd
1826  double precision :: cacc_dd,dacc_dd
1827  logical :: infwri
1828  character(len=*),parameter :: fmt12 = "(A12,Es17.10)"
1829  character(len=*),parameter :: fmt32 = "(A32,Es17.10)"
1830  character(len=*),parameter :: fmt43 = "(A43,Es17.10)"
1831  character(len=*),parameter :: fmt48 = "(A48,Es17.10)"
1832 
1833  reqacc_cll = acc
1834 
1835  call ddgetmode(cacc_dd,dacc_dd,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
1836  call ddsetmode(reqacc_cll,reqacc_cll,mode34_dd,mode5_dd,mode6_dd,outlevel_dd,outchannel_dd)
1837  call ddsetaccthr(reqacc_cll)
1838  call setreqacc_coli(acc)
1839 
1840  if (infoutlev_cll.ge.2) then
1841  infwri = .false.
1842  if (infoutlev_cll.ge.2) call infout_cll('SetReqAcc_cll','target precision set to',infwri)
1843  if(infwri) write(ninfout_cll,fmt12) ' reqacc =', reqacc_cll
1844  end if
1845 
1846  if (infoutlev_cll.ge.1.and.critacc_cll.lt.reqacc_cll) then
1847  call infout_cll('SetReqAcc_cll','WARNING',infwri)
1848  if(infwri) write(ninfout_cll,fmt32) ' required precision reqacc =', reqacc_cll
1849  if(infwri) write(ninfout_cll,fmt48) ' larger than critical precision critacc =', critacc_cll
1850  end if
1851 
1852  if (infoutlev_cll.ge.1.and.checkacc_cll.lt.reqacc_cll) then
1853  call infout_cll('SetReqAcc_cll','WARNING',infwri)
1854  if(infwri) write(ninfout_cll,fmt32) ' required precision reqacc =', reqacc_cll
1855  if(infwri) write(ninfout_cll,fmt43) ' larger than check precision checkacc =', checkacc_cll
1856  end if
1857 

◆ setritmax_cll()

subroutine collier_init::setritmax_cll ( integer, intent(in)  ritmax)

Definition at line 2030 of file collier_init.F90.

2030 
2031  double precision :: acc
2032  integer, intent(in) :: ritmax
2033  integer :: ritmaxB,ritmaxC,ritmaxD
2034  logical :: infwri
2035  character(len=*),parameter :: fmt12 = "(A12,i3)"
2036 
2037  infwri = .false.
2038  if (infoutlev_cll.ge.2) call infout_cll('SetRitmax_cll','maximum rank for expansions set to',infwri)
2039  if(infwri) write(ninfout_cll,fmt12) ' ritmax =', ritmax
2040 
2041  if (ritmax.lt.max(7,rmax_cll+4-nmax_cll)) then
2042  ritmaxd = max(7,rmax_cll+4-nmax_cll)
2043  if (infoutlev_cll.ge.1) then
2044  if (rmax_cll+4-nmax_cll.gt.7) then
2045  call infout_cll('SetRitmax_cll','ritmax has to be at least rmax_cll + 4 - Nmax_cll'// &
2046  ' --> it is set to rmax_cll + 4 - Nmax_cll',infwri)
2047  else
2048  call infout_cll('SetRitmax_cll','ritmax has to be at least 7 --> it is set to 7',infwri)
2049  end if
2050  end if
2051  else
2052  ritmaxd = ritmax
2053  end if
2054 
2055  ritmax_cll = ritmaxd
2056  ritmaxc = ritmaxd+2
2057  ritmaxb = ritmaxd+4
2058  call setncoefs(nmax_cll,ritmaxb)
2059  call setncoefsg(nmax_cll,ritmaxb)
2060 
2061  call setritmaxbcd_cll(ritmaxb,ritmaxc,ritmaxd)
2062 
2063  call initglobaldd_cll(nmax_cll,ritmax_cll)
2064  call getreqacc_cll(acc)
2065  call setreqacc_cll(acc)
2066  call getcritacc_cll(acc)
2067  call setcritacc_cll(acc)
2068 

◆ setritmaxbcd_cll()

subroutine collier_init::setritmaxbcd_cll ( integer, intent(in)  ritmax_B,
integer, intent(in)  ritmax_C,
integer, intent(in)  ritmax_D 
)

Definition at line 2081 of file collier_init.F90.

2081 
2082  integer, intent(in) :: ritmax_B, ritmax_C, ritmax_D
2083  logical :: infwri
2084 
2085  if (ritmax_d.lt.4) then
2086  rmaxd_cll = 4
2087  if (infoutlev_cll.ge.1) call infout_cll('SetRitmaxBCD_cll','ritmax_D has to be at least 4 --> it is set to 4',infwri)
2088  else
2089  rmaxd_cll = ritmax_d
2090  end if
2091 
2092  if (ritmax_c.le.rmaxd_cll) then
2093  rmaxc_cll = rmaxd_cll+1
2094  if (infoutlev_cll.ge.1) call infout_cll('SetRitmaxBCD_cll', &
2095  'ritmax_C has to be larger than ritmax_C --> it is set to ritmax_D+1',infwri)
2096  else
2097  rmaxc_cll = ritmax_c
2098  end if
2099 
2100  if (ritmax_b.le.rmaxc_cll) then
2101  rmaxb_cll = rmaxc_cll+1
2102  if (infoutlev_cll.ge.1) call infout_cll('SetRitmaxBCD_cll', &
2103  'ritmax_B has to be larger than ritmax_C --> it is set to ritmax_C+1',infwri)
2104  else
2105  rmaxb_cll = ritmax_b
2106  end if
2107 
2108  ! set maximum rank in COLI
2109  call setritmax_coli(rmaxb_cll,rmaxc_cll,rmaxd_cll)
2110 
2111 

◆ settenred_cll()

subroutine collier_init::settenred_cll ( integer, intent(in)  tenred)

Definition at line 1246 of file collier_init.F90.

1246 
1247  integer, intent(in) :: tenred
1248  logical :: infwri,fla
1249 
1250  if (tenred.le.5) then
1251  call errout_cll('SetTenRed_cll','Ntenred cannot be chosen smaller than 6',fla,.true.)
1252  if (fla) then
1253  write(nerrout_cll,*) 'Ntenred is set to Ntenred = 6'
1254  end if
1255  tenred_cll = 6
1256  else
1257  tenred_cll = tenred
1258  end if
1259  infwri = .false.
1260  if (infoutlev_cll.ge.2) call infout_cll('SetTenRed_cll','direct tensor reduction switched on for',infwri)
1261  if(infwri) write(ninfout_cll,*) ' N >= ',tenred
1262 

◆ switchoffcalcuv_cll()

subroutine collier_init::switchoffcalcuv_cll

Definition at line 1197 of file collier_init.F90.

1197 
1198  calcuv_cll = .false.
1199  call switchoffcalcuv_ten()
1200 

◆ switchofferrstop_cll()

subroutine collier_init::switchofferrstop_cll

Definition at line 1329 of file collier_init.F90.

1329 
1330  errorstop_cll = -20
1331 

◆ switchofffileoutput_cll()

subroutine collier_init::switchofffileoutput_cll

Definition at line 1373 of file collier_init.F90.

1373  logical :: qopened
1374 
1375  if(nofiles_cll) return
1376 
1377  if(ninfout_cll.ne.closed_cll) then
1378  inquire(ninfout_cll, opened=qopened)
1379  if(qopened.and.ninfout_cll.ne.stdout_cll) close(unit=ninfout_cll)
1380  end if
1381 
1382  if(ninfoutcoli_cll.ne.closed_cll) then
1383  inquire(ninfoutcoli_cll, opened=qopened)
1384  if(qopened.and.ninfoutcoli_cll.ne.stdout_cll) close(unit=ninfoutcoli_cll)
1385  end if
1386 
1387  if(nerrout_cll.ne.closed_cll) then
1388  inquire(nerrout_cll, opened=qopened)
1389  if(qopened.and.nerrout_cll.ne.stdout_cll) close(unit=nerrout_cll)
1390  end if
1391 
1392  if(nerroutcoli_cll.ne.closed_cll) then
1393  inquire(nerroutcoli_cll, opened=qopened)
1394  if(qopened.and.nerroutcoli_cll.ne.stdout_cll) close(unit=nerroutcoli_cll)
1395  end if
1396 
1397  if(nerroutdd_cll.ne.closed_cll) then
1398  inquire(nerroutdd_cll, opened=qopened)
1399  if(qopened.and.nerroutdd_cll.ne.stdout_cll) close(unit=nerroutdd_cll)
1400  end if
1401 
1402  if(ncheckout_cll.ne.closed_cll) then
1403  inquire(ncheckout_cll, opened=qopened)
1404  if(qopened.and.ncheckout_cll.ne.stdout_cll) close(unit=ncheckout_cll)
1405  end if
1406 
1407  if(ncpout_cll.ne.closed_cll) then
1408  inquire(ncpout_cll, opened=qopened)
1409  if(qopened.and.ncpout_cll.ne.stdout_cll) close(unit=ncpout_cll)
1410  end if
1411 
1412  if(ncpout2_cll.ne.closed_cll) then
1413  inquire(ncpout2_cll, opened=qopened)
1414  if(qopened.and.ncpout2_cll.ne.stdout_cll) close(unit=ncpout2_cll)
1415  end if
1416 
1417  if(ncpoutcoli_cll.ne.closed_cll) then
1418  inquire(ncpoutcoli_cll, opened=qopened)
1419  if(qopened.and.ncpoutcoli_cll.ne.stdout_cll) close(unit=ncpoutcoli_cll)
1420  end if
1421 
1422  if(nstatsoutcoli_cll.ne.closed_cll) then
1423  inquire(nstatsoutcoli_cll, opened=qopened)
1424  if(qopened.and.nstatsoutcoli_cll.ne.stdout_cll) close(unit=nstatsoutcoli_cll)
1425  end if
1426 
1427 
1428  nerrout_cp_cll = nerrout_cll
1429  fname_errout_cp_cll = fname_errout_cll
1430  nerroutcoli_cp_cll = nerroutcoli_cll
1431  fname_erroutcoli_cp_cll = fname_erroutcoli_cll
1432  nerroutdd_cp_cll = nerroutdd_cll
1433  fname_erroutdd_cp_cll = fname_erroutdd_cll
1434  ninfout_cp_cll = ninfout_cll
1435  fname_infout_cp_cll = fname_infout_cll
1436  ninfoutcoli_cp_cll = ninfoutcoli_cll
1437  fname_infoutcoli_cp_cll = fname_infoutcoli_cll
1438  ncheckout_cp_cll = ncheckout_cll
1439  fname_checkout_cp_cll = fname_checkout_cll
1440  ncpoutcoli_cp_cll = ncpoutcoli_cll
1441  fname_cpoutcoli_cp_cll = fname_cpoutcoli_cll
1442  ncpout_cp_cll = ncpout_cll
1443  fname_cpout_cp_cll = fname_cpout_cll
1444  ncpout2_cp_cll = ncpout2_cll
1445  fname_cpout2_cp_cll = fname_cpout2_cll
1446  nstatsoutcoli_cp_cll = nstatsoutcoli_cll
1447  fname_statsoutcoli_cp_cll = fname_statsoutcoli_cll
1448 
1449  nofiles_cll = .true.
1450  call initoutchan_cll(.false.)
1451 
1452 

◆ switchoffirrational_cll()

subroutine collier_init::switchoffirrational_cll

Definition at line 1157 of file collier_init.F90.

1157 
1158  logical :: infwri
1159 
1160  ir_rational_terms_cll = .false.
1161  call unsetirratterms_coli
1162 
1163  if (infoutlev_cll.ge.2) call infout_cll('SwitchOffIRrational_cll','IR rational terms switched off in COLI',infwri)
1164 
1165 

◆ switchofftenred_cll()

subroutine collier_init::switchofftenred_cll

Definition at line 1293 of file collier_init.F90.

1293 
1294  logical :: infwri
1295 
1296  tenred_cll = never_tenred_cll
1297  infwri = .false.
1298  if (infoutlev_cll.ge.2) call infout_cll('SwitchOffTenRed_cll','direct tensor reduction switched off',infwri)
1299 

◆ switchoncalcuv_cll()

subroutine collier_init::switchoncalcuv_cll

Definition at line 1213 of file collier_init.F90.

1213 
1214  calcuv_cll = .true.
1215  call switchoncalcuv_ten()
1216 

◆ switchonfileoutput_cll()

subroutine collier_init::switchonfileoutput_cll

Definition at line 1464 of file collier_init.F90.

1464 
1465  logical :: qopened
1466 
1467  if(.not.nofiles_cll) return
1468  nofiles_cll = .false.
1469 
1470  fname_errout_cll = fname_errout_cp_cll
1471  if ((nerrout_cp_cll.ne.closed_cll).and.(nerrout_cp_cll.ne.stdout_cll)) then
1472  inquire(nerrout_cp_cll, opened=qopened)
1473  if (qopened) then
1474  call setnerrout_cll
1475  else
1476  call setnerrout_cll(nerrout_cp_cll)
1477  end if
1478  end if
1479 
1480  fname_erroutcoli_cll = fname_erroutcoli_cp_cll
1481  if ((nerroutcoli_cp_cll.ne.closed_cll).and.(nerroutcoli_cp_cll.ne.stdout_cll)) then
1482  inquire(nerroutcoli_cp_cll, opened=qopened)
1483  if (qopened) then
1484  call setnerroutcoli_cll
1485  else
1486  call setnerroutcoli_cll(nerroutcoli_cp_cll)
1487  end if
1488  end if
1489 
1490  fname_erroutdd_cll = fname_erroutdd_cp_cll
1491  if ((nerroutdd_cp_cll.ne.closed_cll).and.(nerroutdd_cp_cll.ne.stdout_cll)) then
1492  inquire(nerroutdd_cp_cll, opened=qopened)
1493  if (qopened) then
1494  call setnerroutdd_cll
1495  else
1496  call setnerroutdd_cll(nerroutdd_cp_cll)
1497  end if
1498  end if
1499 
1500  fname_infout_cll = fname_infout_cp_cll
1501  if ((ninfout_cp_cll.ne.closed_cll).and.(ninfout_cp_cll.ne.stdout_cll)) then
1502  inquire(ninfout_cp_cll, opened=qopened)
1503  if (qopened) then
1504  call setninfout_cll
1505  else
1506  call setninfout_cll(ninfout_cp_cll)
1507  end if
1508  end if
1509 
1510  fname_infoutcoli_cll = fname_infoutcoli_cp_cll
1511  if ((ninfoutcoli_cp_cll.ne.closed_cll).and.(ninfoutcoli_cp_cll.ne.stdout_cll)) then
1512  inquire(ninfoutcoli_cp_cll, opened=qopened)
1513  if (qopened) then
1514  call setninfoutcoli_cll
1515  else
1516  call setninfoutcoli_cll(ninfoutcoli_cp_cll)
1517  end if
1518  end if
1519 
1520  fname_checkout_cll = fname_checkout_cp_cll
1521  if ((ncheckout_cp_cll.ne.closed_cll).and.(ncheckout_cp_cll.ne.stdout_cll)) then
1522  inquire(ncheckout_cp_cll, opened=qopened)
1523  if (qopened) then
1524  call setncheckout_cll
1525  else
1526  call setncheckout_cll(ncheckout_cp_cll)
1527  end if
1528  end if
1529 
1530  fname_cpoutcoli_cll = fname_cpoutcoli_cp_cll
1531  if ((ncpoutcoli_cp_cll.ne.closed_cll).and.(ncpoutcoli_cp_cll.ne.stdout_cll)) then
1532  inquire(ncpoutcoli_cp_cll, opened=qopened)
1533  if (qopened) then
1534  call setncpoutcoli_cll
1535  else
1536  call setncpoutcoli_cll(ncpoutcoli_cp_cll)
1537  end if
1538  end if
1539 
1540  fname_cpout_cll = fname_cpout_cp_cll
1541  if ((ncpout_cp_cll.ne.closed_cll).and.(ncpout_cp_cll.ne.stdout_cll)) then
1542  inquire(ncpout_cp_cll, opened=qopened)
1543  if (qopened) then
1544  call setncritpointsout_cll
1545  else
1546  call setncritpointsout_cll(ncpout_cp_cll)
1547  end if
1548  end if
1549 
1550  fname_cpout2_cll = fname_cpout2_cp_cll
1551  if ((ncpout2_cp_cll.ne.closed_cll).and.(ncpout2_cp_cll.ne.stdout_cll)) then
1552  inquire(ncpout2_cp_cll, opened=qopened)
1553  if (qopened) then
1554  call setncritpointsout2_cll
1555  else
1556  call setncritpointsout2_cll(ncpout2_cp_cll)
1557  end if
1558  end if
1559 
1560  fname_statsoutcoli_cll = fname_statsoutcoli_cp_cll
1561  if ((nstatsoutcoli_cp_cll.ne.closed_cll).and.(nstatsoutcoli_cp_cll.ne.stdout_cll)) then
1562  inquire(nstatsoutcoli_cp_cll, opened=qopened)
1563  if (qopened) then
1564  call setnstatsoutcoli_cll
1565  else
1566  call setnstatsoutcoli_cll(nstatsoutcoli_cp_cll)
1567  end if
1568  end if
1569 
1570 

◆ switchonirrational_cll()

subroutine collier_init::switchonirrational_cll

Definition at line 1178 of file collier_init.F90.

1178 
1179  ir_rational_terms_cll = .true.
1180  call setirratterms_coli
1181  if (infoutlev_cll.ge.2) then
1182  write(ninfout_cll,*) 'COLLIER: IR rational terms switched on'
1183  end if
1184 

◆ switchontenred_cll()

subroutine collier_init::switchontenred_cll

Definition at line 1275 of file collier_init.F90.

1275 
1276  logical :: infwri
1277 
1278  tenred_cll = 6
1279  if (infoutlev_cll.ge.2) call infout_cll('SwitchOnTenRed_cll','direct tensor reduction switched on for N >= 6',infwri)
1280 

◆ writeintro_cll()

subroutine collier_init::writeintro_cll ( integer, intent(in)  un)

Definition at line 4618 of file collier_init.F90.

4618 
4619  integer, intent(in) :: un
4620  write(unit=un,fmt=*) ' '
4621  write(unit=un,fmt=*) ' ******************************************* '
4622  write(unit=un,fmt=*) ' * C O L L I E R * '
4623  write(unit=un,fmt=*) ' * * '
4624  write(unit=un,fmt=*) ' * Complex One-Loop Library * '
4625  write(unit=un,fmt=*) ' * In Extended Regularizations * '
4626  write(unit=un,fmt=*) ' * * '
4627  write(unit=un,fmt=*) ' * by A.Denner, S.Dittmaier, L.Hofer * '
4628  write(unit=un,fmt=*) ' * * '
4629 ! write(unit=un,fmt=*) ' * version 1.1.x * '
4630  write(unit=un,fmt=*) ' * version '//version_cll//' * '
4631  write(unit=un,fmt=*) ' * * '
4632  write(unit=un,fmt=*) ' ******************************************* '
4633  write(unit=un,fmt=*) ' '
4634 

Variable Documentation

◆ foldername_cll

character(len=80) collier_init::foldername_cll

Definition at line 46 of file collier_init.F90.

46  character(len=80) :: foldername_cll
init_dd_global
subroutine init_dd_global(nmax_in, ritmax_in)
Definition: DD_global.F90:85