!---------------------------------------------------------------------- ! This routine initializes the following grid functions ! ph0 pp pi !---------------------------------------------------------------------- subroutine initializer0(pp_n,pi_n,ph0,g1_Nr,r,dr,amp,del,idsignum, & p,r0) implicit none include 'globals.inc' integer g1_Nr real*8 pp_n(1:g1_Nr) real*8 pi_n(1:g1_Nr) real*8 ph0(1:g1_Nr) real*8 r(*) real*8 dr real*8 amp real*8 del real*8 idsignum real*8 p real*8 r0 integer i,j,k do i=1, g1_Nr, 1 ph0(i)=amp*exp(-abs((r(i)-r0)/del)**p) end do i=1 pp_n(i)=0 do i=2, g1_Nr-1, 1 pp_n(i)=(ph0(i+1)-ph0(i-1))/(2*dr)-ph0(i)/r(i) end do i=g1_Nr pp_n(i)=0 i=1 pi_n(i)=0 do i=2, g1_Nr-1, 1 pi_n(i)=idsignum*(ph0(i+1)-ph0(i-1))/(2*dr) end do i=g1_Nr pi_n(i)=0 return end !---------------------------------------------------------------------- ! This routine initializes the following grid functions ! a l tmr !---------------------------------------------------------------------- subroutine init_al(pp_np1,pp_n,pi_np1,pi_n,a_np1,a_n,l_np1,l_n,tmr & ,f0,f2,g0,g1_Nr,r,t,flatspace,hcdlnatol,hcmxiter,hcrc,tmrbh) implicit none include 'globals.inc' integer g1_Nr real*8 pp_np1(1:g1_Nr) real*8 pp_n(1:g1_Nr) real*8 pi_np1(1:g1_Nr) real*8 pi_n(1:g1_Nr) real*8 a_np1(1:g1_Nr) real*8 a_n(1:g1_Nr) real*8 l_np1(1:g1_Nr) real*8 l_n(1:g1_Nr) real*8 tmr(1:g1_Nr) real*8 f0(1:g1_Nr) real*8 f2(1:g1_Nr) real*8 g0(1:g1_Nr) real*8 r(*) real*8 t integer flatspace real*8 hcdlnatol integer hcmxiter integer hcrc real*8 tmrbh c----------------------------------------------------------------------- c Included code to initialize non-scalar field vars. c Simply calls 'calc_al'---note that RNPL wants 'nm1' c level initialized. c----------------------------------------------------------------------- logical ltrace parameter ( ltrace = .true. ) if( ltrace ) then write(0,*) 'init_al: In routine with g1_nr = ', g1_nr write(0,*) 'init_al: t = ', t write(0,*) 'init_al: hcdlnatol = ', hcdlnatol write(0,*) 'init_al: hcmxiter = ', hcmxiter write(0,*) 'init_al: flatspace = ', flatspace write(0,*) end if call calc_al( & pp_n, pp_np1, & pi_n, pi_np1, & a_n, a_np1, & l_n, l_np1, & tmr, & f0, f2, g0, & g1_Nr, r, t, & flatspace, & hcdlnatol, hcmxiter, hcrc, & tmrbh & ) return end